Android:如何使用物理键盘

时间:2016-07-27 10:33:05

标签: android keyboard

我正在分析连接到我的Nexus 5设备的蓝牙QWERTY键盘生成的keyEvents。除了Windows键,我可以获得所有关键笔划。

键盘输入设备配置为

蓝牙3.0键盘       类:0x80000003       路径:/ dev / input / event6       描述符:c9a38dcf18d4596752ec436bf05aa70be1fe36b0       地点:       ControllerNumber:0       UniqueId:25:95:20:00:73:EE       标识符:bus = 0x0005,vendor = 0x04e8,product = 0x7021,version = 0x0001       KeyLayoutFile:/system/usr/keylayout/Generic.kl       KeyCharacterMapFile:/system/usr/keychars/Generic.kcm       的ConfigurationFile:       HaveKeyboardLayoutOverlay:false

Windows键在按下时会生成以下扫描代码及其对应的Android密钥代码。

EV_MSC MSC_SCAN 000700e3
EV_KEY KEY_LEFTMETA向下
EV_SYN SYN_REPORT 00000000
EV_MSC MSC_SCAN 000700e3
EV_KEY KEY_LEFTMETA UP EV_SYN SYN_REPORT 00000000

此应用已使用此KEYCODE_META_LEFT。无论我做什么,这都是启动Google即时/点击搜索。

我尝试了以下方法,但没有运气 1.试图覆盖我的活动中的搜索功能,希望捕获这个关键事件 2.尝试几乎所有关键事件调度方法,如dispatchKeyEventPreIme等来拦截它。 3.禁用现在点击,现在卡。安装了自定义启动器并删除了主屏幕上的搜索小部件。这仍然会启动搜索视图。

如果你能指出我正确的方向,那将会有很大的帮助

对更改仅适用于root设备的密钥布局文件不感兴趣 寻找一种无需调整库存ROM的方法。

0 个答案:

没有答案