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
经验分享 程序员 微信小程序 职场和发展