kernel按键上报键值的映射
按键驱动通过input子系统把对应的按键编码上报给上层,上层需要识别到这个按键是需要进行如下的修改的,系统才可以识别到这个按键.
platform/frameworks/base / core/java/android/view/KeyEvent.java
/** Key code constant: Sar sensor key*/
public static final int KEYCODE_SAR_BOTTOM_NEAR = 287;
public static final int KEYCODE_SAR_BOTTOM_FAR = 288;
public static final int KEYCODE_SAR_TOP_NEAR = 289;
public static final int KEYCODE_SAR_TOP_FAR = 290;
public static final boolean isSystemKey(int keyCode) {
switch (keyCode) {
.....
.....
.....
case KeyEvent.KEYCODE_SAR_BOTTOM_NEAR:
case KeyEvent.KEYCODE_SAR_BOTTOM_FAR:
case KeyEvent.KEYCODE_SAR_TOP_NEAR:
case KeyEvent.KEYCODE_SAR_TOP_FAR:
return true;
}
platform/frameworks/base / data/keyboards/Generic.kl修改如下
key 253 SAR_BOTTOM_NEAR key 198 SAR_BOTTOM_FAR key 254 SAR_TOP_NEAR key 199 SAR_TOP_FAR
platform/frameworks/native / include/input/InputEventLabels.h修改如下:
DEFINE_KEYCODE(SAR_BOTTOM_NEAR),
DEFINE_KEYCODE(SAR_BOTTOM_FAR),
DEFINE_KEYCODE(SAR_TOP_NEAR),
DEFINE_KEYCODE(SAR_TOP_FAR),
platform/frameworks/native / include/android/keycodes.h 修改如下:
/** sarsensor key **/
AKEYCODE_SAR_BOTTOM_NEAR = 287,
AKEYCODE_SAR_BOTTOM_FAR = 288,
AKEYCODE_SAR_TOP_NEAR = 289,
AKEYCODE_SAR_TOP_FAR = 290
