2013年8月19日 星期一

[Code trace] Android Irda input key mapping


[Irda key mapping to Anroid layer]
Take color key, red, as the example to illustrate the flow to add a new key
==================================================================
- device/hisilicon/godbox/driver/sdk/msp/ecs/drv/ir/ir_s2/hiir_ir2.h
Obtain the keycode of red key and define a MACRO as below:
#define NEC_IR_KEY_RED                                  0xcd
...
Maps Irda keycode to keylabel RED 398:
{NEC_IR_KEY_RED,     KEY_RED},
-------------------------------------------------------------------------------------------
- device/hisilicon/godbox/prebuilt/Vendor_0001_Product_0001.kl
key 398         RED
# key 398 "KEY_RED"
-------------------------------------------------------------------------------------------
211 is the event value retrieved through onKeyDown() in Android.

- external/webkit/Source/WebKit/android/plugins/ANPKeyCodes.h
kRed_ANPKeyCode = 211,

- frameworks/base/native/include/android/keycodes.h
AKEYCODE_RED = 211,

- frameworks/base/core/java/android/view/KeyEvent.java
public static final int KEYCODE_RED     = 211;

- frameworks/base/core/res/res/values/attrs.xml
<enum name="KEYCODE_RED" value="211" />
-------------------------------------------------------------------------------------------
- frameworks/base/include/ui/KeycodeLabels.h
Maps keylabel RED 398 to 211
{ "RED", 211 },
-------------------------------------------------------------------------------------------
- frameworks/base/libs/ui/Input.cpp
case AKEYCODE_RED:

沒有留言:

張貼留言