如何将Linux密钥从/ dev / input / event *转换为ASCII

前端之家收集整理的这篇文章主要介绍了如何将Linux密钥从/ dev / input / event *转换为ASCII前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试将从/ dev / input / event0读取的键盘事件从定义的值转换为未运行X或终端的嵌入式应用程序中的ASCII等效项.

我认为这应该通过Linux中定义的键盘映射功能来完成,而不仅仅是创建我自己的std :: map<>但我似乎无法找到一个好的起点.到目前为止,我发现的大多数示例都假设我使用的是X窗口或终端.

最佳答案
文本输入(传统美国键盘和7位ASCII标准的非常简单的情况除外)是一个非常复杂的领域.我非常强烈建议您使用X客户端执行此操作,您可以在其中利用所有现有的输入方法.

但是如果你必须,并且你对一种键盘和一种语言感到满意,那么你可以通过解释事件就像终端一样.检查/usr/include/linux/input.h中的定义值.跟踪Shift和Ctrl键的位置(非ASCII键,如Alt,Fn等……当然由你来解释)并在键上事件中发出相应的字节.如果默认值对您的应用程序不起作用,也许您也想要实现自动重复功能.

但基本上:不.这比你似乎意识到的更难(!)难题.

猜你在找的Linux相关文章