工作中遇到一个问题,底层上报的键值和上层的keycode对应不上,项目中是有键值表的,特此记录:
查看键值表
framework/base/data/keyboards/Generic.kl
...............//省略部分代码
key 102 MOVE_HOME
key 103 DPAD_UP
key 104 PAGE_UP
key 105 DPAD_LEFT
key 106 DPAD_RIGHT
key 107 MOVE_END
key 108 DPAD_DOWN
key 109 PAGE_DOWN
key 110 INSERT
key 111 FORWARD_DEL
# key 112 "KEY_MACRO"
key 113 VOLUME_MUTE
key 114 VOLUME_DOWN
key 115 VOLUME_UP..........//省略部分代码
以上只是监制表里面的一部分,key值是驱动层对应的值。
修改驱动层如下
bsp/kernel/kernel4.14/arm/boot/dts/sl8541e-1h10_32b.dts 下
..................................//省略代码
gpio-keys {
compatible = "gpio-keys";
/*
key-hpptt{
label = "HP Ptt Key";
linux,code = <147>;
gpios = <&ap_gpio 90 GPIO_ACTIVE_LOW>;
debounce-interval = <2>;
wakeup-source;
&nb