我无法从/ dev / input / event1获取关键事件。我能够从其输出中过滤掉的是事件代码53和54中的绝对X和Y触摸坐标。我很困惑为什么当我输入我的事件时没有输出事件代码1软键盘。我想知道哪个关键用户按下了压力和压力。希望你能理解我的问题。
我是根植于三星Galaxy S4。
答案 0 :(得分:0)
因为软键盘并不像那样工作。它不是操作系统的一部分,它是一个应用程序。因此键盘应用程序将被赋予触摸事件,它将调用java函数来告诉主应用程序按下了什么。在印刷机之后,它根本不经过硬件输入通道。操作系统并不知道哪些键在哪里。
大多数键盘甚至不会生成关键事件 - 它们通过commitText一次生成word。
基本上,你不能以你想要的方式做你想做的事。在不改变操作系统的情况下,了解按键的唯一方法是在InputMethodService(键盘)的InputConnection处理命令的另一端。