如何检测错误的KeyEvent?

时间:2011-11-15 17:05:38

标签: android keyboard-events

我有一个全屏OpenGL活动,我正试图从虚拟键盘获取输入。

我还没有对键盘输入做任何事情,只是将其记录下来,但我注意到了一些非常奇怪的行为。

如果我只按一个键,我会按下一个键,然后是一个没有标记的按键事件,每个人都很高兴。

如果我按住一个键来获得备用键,例如按住'h'来获得'&',我立刻得到一个键,然后键入'h'。当我放手时,我按下一个键进行换班,按下'&'键,键入'&'然后关键换班。

这六项活动中有五项完全符合预期。如果FLAG_CANCELED已设置,则“h”的关键字有意义,但getFlags()返回零且isCanceled()返回false。密钥启动事件中似乎没有任何内容表明用户尚未实际释放密钥。

我与onKeyUpdispatchKeyEvent的行为相同。

如果我立刻将手指从一个键滑到另一个键,我也会遇到同样奇怪的行为。我按下键并键入原始键,然后按下键并键入键,我结束幻灯片,我无法找出任何表明应该忽略第一个键的内容。

我的测试设备是运行Android 2.3.3的HTC Evo 4G,我正在使用API​​级别9进行构建。

更新

更奇怪...当键盘处于字母模式时,退格键会向下发送一个键并键入。在符号模式下,它只发送密钥。

0 个答案:

没有答案