我有一个带0 to 9,*,#,+,-,CALL,CALLEND
按键的 USB 键盘,我将它与 Android 板一起使用。
使用默认的 androidGeneric.kl
文件,此键盘为按下的每个键提供正确的输出(在 TextBox 和此应用程序中检查)。
根据上述应用,这些扫描代码如下所示,
呼叫 - META_SHIFT_ON | META_SHIFT_RIGHT_ON - scanCode:48 keyCode:30 KEYCODE_B
结束呼叫 - META_SHIFT_ON | META_SHIFT_RIGHT_ON - scanCode:30 keyCode:29 KEYCODE_A
星 - META_SHIFT_ON | META_SHIFT_RIGHT_ON - scanCode:9 keyCode:15 KEYCODE_8
磅 - META_SHIFT_ON | META_SHIFT_RIGHT_ON - scanCode:4 keyCode:10 KEYCODE_3
我需要重新映射,我自定义的.kl内容如下,
钥匙 2 1
键 3 2
键 4 3
关键 5 4
键 6 5
键 7 6
钥匙 8 7
钥匙 9 8
键 10 9
钥匙 11 0
键 12 VOLUME_DOWN
键 78 VOLUME_UP
键 30 结束呼叫
键 48 呼叫
我已经把它放进去/system/usr/keylayout/
现在有了这个更改,当我使用相同的测试应用程序检查扫描代码时,我正在获取之前scanCode:54
为 30 的ENDCALL
按钮。
我对这种行为有以下疑问,
- 我对扫描码的理解是它们是特定于硬件的,无论软件/主机是什么,它都会提供相同的扫描码?我的意思是键盘的扫描码不会改变?这里没有发生。
- 我也尝试过添加文件 .kcm ,
/system/usr/keychars/
但无论有没有它,行为都是一样的。我需要为此使用.kcm
文件吗?