安卓按键键值映射关系

1.vendor或者device 目录或者framework下有一些.kl文件定义键值

2.kl文件命名为规则为Vendor_2717_Product_32b0.kl 其中2717 和32b0可以通过 cat /proc/bus/input/devices 查看

如:

console:/ # cat /proc/bus/input/devices
I: Bus=0018 Vendor=3697 Product=0001 Version=0001
N: Name="MStar Smart TV IR Receiver"
P: Phys=/dev/ir
S: Sysfs=/devices/ir/input/input0
U: Uniq=
H: Handlers=sysrq kbd event0 mstar_ir 
B: PROP=0
B: EV=100013
B: KEY=ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffbff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe
B: MSC=10

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="ST LSM6DS3 Accelerometer Sensor"
P: Phys=
S: Sysfs=/devices/i2c@2/i2c-2/2-006a/input/input1
U: Uniq=
H: Handlers=event1 
B: PROP=0
B: EV=11
B: MSC=97

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="ST LSM6DS3 Gyroscope Sensor"
P: Phys=
S: Sysfs=/devices/i2c@2/i2c-2/2-006a/input/input2
U: Uniq=
H: Handlers=event2 
B: PROP=0
B: EV=11
B: MSC=97

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="ST LSM6DS3 Significant Motion Sensor"
P: Phys=
S: Sysfs=/devices/i2c@2/i2c-2/2-006a/input/input3
U: Uniq=
H: Handlers=event3 
B: PROP=0
B: EV=11
B: MSC=91

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="ST LSM6DS3 Step Counter Sensor"
P: Phys=
S: Sysfs=/devices/i2c@2/i2c-2/2-006a/input/input4
U: Uniq=
H: Handlers=event4 
B: PROP=0
B: EV=11
B: MSC=91

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="ST LSM6DS3 Step Detector Sensor"
P: Phys=
S: Sysfs=/devices/i2c@2/i2c-2/2-006a/input/input5
U: Uniq=
H: Handlers=event5 
B: PROP=0
B: EV=11
B: MSC=91

I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="ST LSM6DS3 Tilt Sensor"
P: Phys=
S: Sysfs=/devices/i2c@2/i2c-2/2-006a/input/input6
U: Uniq=
H: Handlers=event6 
B: PROP=0
B: EV=11
B: MSC=91

I: Bus=0003 Vendor=0c45 Product=1915 Version=0100
N: Name="USB 2.0 Camera"
P: Phys=usb-mstar-1/button
S: Sysfs=/devices/Mstar-ehci-4/usb4/4-1/4-1:1.0/input/input7
U: Uniq=
H: Handlers=kbd event7 
B: PROP=0
B: EV=3
B: KEY=100000 0 0 0 0 0 0

I: Bus=0010 Vendor=0001 Product=0001 Version=0100
N: Name="gpio_keypad"
P: Phys=gpio_keypad/input0
S: Sysfs=/devices/gpio_keypad/input/input8
U: Uniq=
H: Handlers=kbd event8 
B: PROP=0
B: EV=100003
B: KEY=10 0 1e0000 0 0 0

I: Bus=0006 Vendor=3697 Product=0002 Version=0000
N: Name="MStar Smart TV Keypad"
P: Phys=
S: Sysfs=/devices/virtual/input/input9
U: Uniq=
H: Handlers=sysrq kbd event9 
B: PROP=0
B: EV=3
B: KEY=7fffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe

如果要修改/查看键值先找到对应设备的Vendor和Product对应的数值找到,然后在搜索对应的kl文件即可。

代码驱动注册input设备时会填写Vendor和Product对应的数值。也可以通过查看代码获取这个数值如:

3.如何新添加键值

在Vendor_0001_Product_0001.kl文件中添加映射如:

       key 35 PAUSE

       说明:

       key -- 是关键字。固定值,不需要改变。
       35 -- 驱动上报的值 可以查看“include/linux/input.h”,不过现在多放在设备树中了
       PAUSE-- 它对应是“KeycodeLabels.h”文件中的KEYCODES表格元素的“literal”值。
  

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值