按键驱动通过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
本文探讨了按键驱动如何通过input子系统上报按键编码,并讲解了在上层系统中,如何通过修改android.view.KeyEvent.java、Generic.kl、InputEventLabels.h和keycodes.h来识别和处理这些按键。
1384

被折叠的 条评论
为什么被折叠?



