在Android_dir/out/target/product/smdkv210/system/usr/keylayout/下有三个文件AVRCP.kl/qwerty.kl/s3c-keypad.kl
其中:
qwerty.kl
key 399 GRAVE
key 2 1
key 3 2
key 4 3
key 5 4
key 6 5
key 7 6
key 8 7
key 9 8
key 10 9
key 11 0
key 1 BACK WAKE_DROPPED
key 158 BACK WAKE_DROPPED
key 230 SOFT_RIGHT WAKE
key 60 SOFT_RIGHT WAKE
key 107 ENDCALL WAKE_DROPPED
key 62 ENDCALL WAKE_DROPPED
key 229 MENU WAKE_DROPPED
key 139 MENU WAKE_DROPPED
key 59 MENU WAKE_DROPPED
key 127 SEARCH WAKE_DROPPED
key 217 SEARCH WAKE_DROPPED
key 228 POUND
key 227 STAR
key 231 CALL WAKE_DROPPED
key 61 CALL WAKE_DROPPED
key 232 DPAD_CENTER WAKE_DROPPED
key 108 DPAD_DOWN WAKE_DROPPED
key 103 DPAD_UP WAKE_DROPPED
key 102 HOME WAKE
key 105 DPAD_LEFT WAKE_DROPPED
key 106 DPAD_RIGHT WAKE_DROPPED
key 115 VOLUME_UP
key 114 VOLUME_DOWN
key 116 POWER WAKE
key 212 CAMERA
key 16 Q
key 17 W
key 18 E
key 19 R
key 20 T
key 21 Y
key 22 U
key 23 I
key 24 O
key 25 P
key 26 LEFT_BRACKET
key 27 RIGHT_BRACKET
key 43 BACKSLASH
key 30 A
key 31 S
key 32 D
key 33 F
key 34 G
key 35 H
key 36 J
key 37 K
key 38 L
key 39 SEMICOLON
key 40 APOSTROPHE
key 14 DEL
key 44 Z
key 45 X
key 46 C
key 47 V
key 48 B
key 49 N
key 50 M
key 51 COMMA
key 52 PERIOD
key 53 SLASH
key 28 ENTER
key 56 ALT_LEFT
key 100 ALT_RIGHT
key 42 SHIFT_LEFT
key 54 SHIFT_RIGHT
key 15 TAB
key 57 SPACE
key 150 EXPLORER
key 155 ENVELOPE
key 12 MINUS
key 13 EQUALS
key 215 AT
其中需要解释的有
WAKE:当按下,当设备进入睡眠的时候,按下这个键将唤醒,而且发送消息给应用层。
WAKE_DROPPED:当按下,且设备正处于睡眠,设备被唤醒,但是不发送消息给应用层。
举例说明:原官方的房子键键值命令行是:
“key 102 HOME”——意思是在亮屏的状态下,我们按下“房子”键,系统就会执行“HOME”命令,就是返回主桌面。
如果我们把它修改成:
“key 102 HOME WAKE_DROPPED”——意思就是在亮屏的状态下,我们按下“房子”键,系统就会执行“HOME”命令,返回主桌面。当屏幕处于睡眠状态时,我们按下“房子”键,系统就会执行“WAKE_DROPPED”命令,唤醒(激活屏幕)。
如果我们把它修改成:
“key 102 HOME WAKE”——意思就是在亮屏的状态下,我们按下“房子”键,系统就会执行“HOME”命令,返回主桌面。当屏幕处于睡眠状态时,我们按下“房子”键,系统就会先执行“WAKE”命令再执行“HOME”命令,就是先唤醒(激活屏幕)再返回主桌面。
s3c-keypad.kl
key 42 VOLUME_UP
key 58 VOLUME_DOWN
key 50 MENU WAKE_DROPPED
key 26 ENDCALL WAKE_DROPPED
key 34 BACK WAKE_DROPPED
key 57 DPAD_LEFT WAKE_DROPPED
key 49 DPAD_RIGHT WAKE_DROPPED
key 25 DPAD_UP WAKE_DROPPED
key 41 DPAD_DOWN WAKE_DROPPED
key 33 DPAD_CENTER WAKE_DROPPED
key 10 POWER WAKE
key 11 HOME WAKE_DROPPED
key 12 SEARCH WAKE_DROPPED
AVRCP.kl
key 200 MEDIA_PLAY_PAUSE WAKE
key 201 MEDIA_PLAY_PAUSE WAKE
key 166 MEDIA_STOP WAKE
key 163 MEDIA_NEXT WAKE
key 165 MEDIA_PREVIOUS WAKE
key 168 MEDIA_REWIND WAKE
key 208 MEDIA_FAST_FORWARD WAKE
题外话,未咋编辑,细看会有用的,对理解键值有用。
一。修改“qwerty.kl”, 选择“用文本编辑器打开”。打开以后可以看到里面有很多以“KEY”开头的源码,我这里大概讲下这些源码代表的是什么意思,例如里面有一项:key 139 MENU WAKE_DROPPED
“key 139”手机里一个物理按键的固定标识编码,我们G7手机的“key 139”就是中间圆圈键,这个是不变的。接着“MENU”是执行的命令,意思是当我们按下中间圆圈键时,系统就会执行MENU命令。MENU命令就是我们说的“菜单”功能。
后面的“WAKE_DROPPED”也是一个命令行,它的意思是在关屏(睡眠)状态时按圆圈键执行的一个命令。WAKE_DROPPED命令就是我们说的“唤醒(激活屏幕)”功能。
懂得了上面这条命令行的作用后,我们要修改手机上任何一个按键的功能都是非常容易的了。现在我以“搜索”键来做例子继续讲下去。
二。找到“key 217”这条命令行,原官方的ROM应该是“key 217 SEARCH”,如果我们要修改成跟上面的“关机”键功能一样,就把它修改成“key 217 POWER WAKE_DROPPED”。
“key 217”对应的物理键是G7手机里的搜索键。上面的修改意思是:在亮屏状态时,按搜索键就是执行POWER命令“电源”的功能(单按为关屏睡眠,长按为关机);在关屏(睡眠)状态时,按下搜索键,就执行WAKE_DROPPED命令“唤醒(激活屏幕)”功能。
在其它修改搜索键的贴子中提到了“key 127”键的修改,这个“key 127”也是对应物理键盘的搜索键,但不是我们国行G7的,它是对应其它品牌或其它型号的一些手机中的搜索键。这是因为厂商的芯片不同,对应的键值也就不同,一个ROM固件往往不是针对一种型号的手机而研发的,所以ROM为了适应更多的手机型号,特意把该有的键值都写进去。HTC G7手机也不只是一个厂商生产的,因此非国行的HTC G7搜索键的键值有可能是“key 127”,为了保障起见,我们就把两个都改成一样的参数,那就万无一失了。
下面是常用的按键编码默认(官方)对应的功能按键如下:
key 102 HOME 返回主桌面键(房子图标那个键)
key 139 MENU 菜单键
key 158 BACK 返回/退出键
key 217 SEARCH 搜索键
key 107 ENDCALL 挂断键
key 116 POWER 电源键
key 212 CAMERA 拍照键
下面是常用的功能代码名称中文意思对照:
WAKE 唤醒(激活屏幕)并发送请求
WAKE_DROPPED 唤醒(激活屏幕)而不发送请求
POWER 电源开关
ENDCALL 挂断
SEARCH 搜索
BACK 返回
CALL 拨号键
CAMERA 相机键
DEL 删除键
DPAD_RIGHT 向右键
DPAD_LEFT 向左键
[教程]从原理上深度了解G7按键功能=完美修改搜索键为锁屏开屏挂断等功能