海思方案相关文件:
在linux/drivers/hid/hid-input.c中处理2.4g按键事件并映射为linux层的键值:
case HID_UP_KEYBOARD:
case HID_UP_CONSUMER:
其中这两个宏定义在linux/include/linux/hid.h
#define HID_UP_KEYBOARD 0x00070000
#define HID_UP_CONSUMER 0x000c0000
linux层的key定义在linux/include/uapi/linux/input.h
在android层将linux的键值映射到android的键值文件Generic.kl,例如back按键:
key 158 BACK WAKE_DROPPED
其中key是语法定义,158是对应linux/include/uapi/linux/input.h中的back按键值,WAKE_DROPPED是指当设备睡眠时按下此键,设备将被唤醒,而按键事件不会被发送到应用程序。WAKE是指当设备睡眠时按下此键,设备将被唤醒,按键事件将会被发送到应用程序。