增加按键,需要修改以下代码,搜索F10
对于是否用Generic.kl 得根据每个项目来判断,如何判断?
adb shell getevent 可以看到使用的是哪个 ,例如下面的event3 就是使用的gpio-keys ,这个文件一般在device/qcon/项目 下面,增加对应的修改就可以。
modified: frameworks/base/api/current.txt
modified: frameworks/base/api/system-current.txt
modified: frameworks/base/api/test-current.txt
modified: frameworks/base/core/java/android/view/KeyEvent.java
modified: frameworks/base/core/res/res/values/attrs.xml
modified: frameworks/base/data/keyboards/Generic.kl
modified: frameworks/native/include/android/keycodes.h
modified: frameworks/native/include/input/InputEventLabels.h
modified: kernel/msm-4.9/arch/arm64/boot/dts/qcom/msm8953-mtp.dtsi
modified: kernel/msm-4.9/drivers/input/keyboard/sn7326_kpd.h
From 01b5f00e2352868025ad466985a55adad5e0d319 Mon Sep 17 00:00:00 2001
From: cwadd <cwadd@chainway.cn>
Date: Wed, 24 Jun 2020 09:33:22 +0800
Subject: [PATCH] =?UTF-8?q?C600=20=E5=A2=9E=E5=8A=A0=E6=89=AB=E6=8F=8F?=
=?UTF-8?q?=E6=8C=89=E9=94=AE=E5=80=BC291-294?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
frameworks/base/api/current.txt | 5 +++++
frameworks/base/core/java/android/view/KeyEvent.java | 5 +++++
frameworks/base/core/res/res/values/attrs.xml | 5 +++++
frameworks/base/data/keyboards/Generic.kl | 6 ++++++
frameworks/native/include/android/keycodes.h | 5 +++++
frameworks/native/include/input/InputEventLabels.h | 5 +++++
6 files changed, 31 insertions(+)
mode change 100644 => 100755 frameworks/base/core/java/android/view/KeyEvent.java
mode change 100644 => 100755 frameworks/base/core/res/res/values/attrs.xml
mode change 100644 => 100755 frameworks/base/data/keyboards/Generic.kl
mode change 100644 => 100755 frameworks/native/include/android/keycodes.h
mode change 100644 => 100755 frameworks/native/include/input/InputEventLabels.h
diff --git a/frameworks/base/api/current.txt b/frameworks/base/api/current.txt
index 987e4c9..0b17b4d 100644
--- a/frameworks/base/api/current.txt
+++ b/frameworks/base/api/current.txt
@@ -49147,6 +49147,11 @@ package android.view {
field public static final int KEYCODE_F10 = 140; // 0x8c
field public static final int KEYCODE_F11 = 141; // 0x8d
field public static final int KEYCODE_F12 = 142; // 0x8e
+ field public static final int KEYCODE_F14 = 291; // 0x123
+ field public static final int KEYCODE_F15 = 294; // 0x126
+ field public static final int KEYCODE_F16 = 293; // 0x125
+ field public static final int KEYCODE_F17 = 295; // 0x127
+ field public static final int KEYCODE_F18 = 296; // 0x128
field public static final int KEYCODE_F2 = 132; // 0x84
field public static final int KEYCODE_F3 = 133; // 0x85
field public static final int KEYCODE_F4 = 134; // 0x86
diff --git a/frameworks/base/core/java/android/view/KeyEvent.java b/frameworks/base/core/java/android/view/KeyEvent.java
old mode 100644
new mode 100755
index 87dd5b4..f236199
--- a/frameworks/base/core/java/android/view/KeyEvent.java
+++ b/frameworks/base/core/java/android/view/KeyEvent.java
@@ -433,6 +433,11 @@ public class KeyEvent extends InputEvent implements Parcelable {
public static final int KEYCODE_F11 = 141;
/** Key code constant: F12 key. */
public static final int KEYCODE_F12 = 142;
+ public static final int KEYCODE_F14= 291;
+ public static final int KEYCODE_F16 = 293;
+ public static final int KEYCODE_F15 = 294;
+ public static final int KEYCODE_F17 = 295;
+ public static final int KEYCODE_F18 = 296;
/** Key code constant: Num Lock key.
* This is the Num Lock key; it is different from {@link #KEYCODE_NUM}.
* This key alters the behavior of other keys on the numeric keypad. */
diff --git a/frameworks/base/core/res/res/values/attrs.xml b/frameworks/base/core/res/res/values/attrs.xml
old mode 100644
new mode 100755
index 2f30194..624b6b8
--- a/frameworks/base/core/res/res/values/attrs.xml
+++ b/frameworks/base/core/res/res/values/attrs.xml
@@ -1778,6 +1778,11 @@
<enum name="KEYCODE_F10" value="140" />
<enum name="KEYCODE_F11" value="141" />
<enum name="KEYCODE_F12" value="142" />
+ <enum name="KEYCODE_F14" value="291" />
+ <enum name="KEYCODE_F15" value="293" />
+ <enum name="KEYCODE_F16" value="294" />
+ <enum name="KEYCODE_F17" value="295" />
+ <enum name="KEYCODE_F18" value="296" />
<enum name="KEYCODE_NUM_LOCK" value="143" />
<enum name="KEYCODE_NUMPAD_0" value="144" />
<enum name="KEYCODE_NUMPAD_1" value="145" />
diff --git a/frameworks/base/data/keyboards/Generic.kl b/frameworks/base/data/keyboards/Generic.kl
old mode 100644
new mode 100755
index 8699cb4..61a9c6c
--- a/frameworks/base/data/keyboards/Generic.kl
+++ b/frameworks/base/data/keyboards/Generic.kl
@@ -247,6 +247,12 @@ key 224 BRIGHTNESS_DOWN
key 225 BRIGHTNESS_UP
key 226 HEADSETHOOK
+key 251 F14
+key 253 F15
+key 252 F16
+key 254 F17
+key 255 F18
+
key 256 BUTTON_1
key 257 BUTTON_2
key 258 BUTTON_3
diff --git a/frameworks/native/include/android/keycodes.h b/frameworks/native/include/android/keycodes.h
old mode 100644
new mode 100755
index 214559d..6ecde1f
--- a/frameworks/native/include/android/keycodes.h
+++ b/frameworks/native/include/android/keycodes.h
@@ -400,6 +400,11 @@ enum {
AKEYCODE_F11 = 141,
/** F12 key. */
AKEYCODE_F12 = 142,
+ AKEYCODE_F14 = 291,
+ AKEYCODE_F15 = 294,
+ AKEYCODE_F16 = 293,
+ AKEYCODE_F17 = 295,
+ AKEYCODE_F18= 296,
/** Num Lock key.
* This is the Num Lock key; it is different from {@link AKEYCODE_NUM}.
* This key alters the behavior of other keys on the numeric keypad. */
diff --git a/frameworks/native/include/input/InputEventLabels.h b/frameworks/native/include/input/InputEventLabels.h
old mode 100644
new mode 100755
index 59d16d1..c9bf168
--- a/frameworks/native/include/input/InputEventLabels.h
+++ b/frameworks/native/include/input/InputEventLabels.h
@@ -182,6 +182,11 @@ static const InputEventLabel KEYCODES[] = {
DEFINE_KEYCODE(F10),
DEFINE_KEYCODE(F11),
DEFINE_KEYCODE(F12),
+ DEFINE_KEYCODE(F14),//cwadd add
+ DEFINE_KEYCODE(F15),//cwadd add
+ DEFINE_KEYCODE(F16),//cwadd add
+ DEFINE_KEYCODE(F17),//cwadd add
+ DEFINE_KEYCODE(F18),//cwadd add
DEFINE_KEYCODE(NUM_LOCK),
DEFINE_KEYCODE(NUMPAD_0),
DEFINE_KEYCODE(NUMPAD_1),
--
1.9.1