Android 4.0 添加按键及KEY映射(转载)

cat /proc/bus/input/devices
确定键盘是通过DEV下哪个inputevent和调用的哪个KL
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name=”ft5x06_ts”
P: Phys=
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=kbd event0 cpufreq
B: PROP=0
B: EV=b
B: KEY=400 0 0 0 0 0 40000800 40 0 0 0
B: ABS=6650000 0
红色Name就是对应的KL文件名,如果你的系统内没有设置KL,系统会自动找Generic。最好设置自己对应的KL文件映射表。而红色S代表是的键盘会成驱动input0内上报键值。接下来就要添加新的按键。底层上报的是Scancode会通过你的KL文件转换成Android上层使用的虚拟KEYCODE。主要是现在KL文件内添加:

1)KL文件进行映射:
key 150 MY_NEW_KEY

2)frameworks/base/native/include/android/keycodes.h(添加定义)
AKEYCODE_MY_NEW_KEY 223

3)如果想让此按键为系统按键
frameworks/base/libs/ui/Input.cpp
KeyEvent::isSystemKey()function 添加

4)frameworks/base/core/java/android/view/KeyEvent.java(添加new keycode)
5) frameworks/base/include/ui/KeycodeLabels.h添加new keycode)
6) frameworks/base/core/res/res/values/attrs.xml
7) external/webkit/Source/WebKit/android/plugins/ANPKeyCodes.h(如果然BROWSE能收到就在这里也定义)

这样修改后已OK,就make update-api 可以测试了。当然numeric+function一些按键要根据自己的功能来修改。要支持输入法,输入法也得修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值