设为首页收藏本站

木蚂蚁手机乐园首页

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11909|回复: 202

[教程] 【ROM培训班中级教程】修改键盘布局映射方法,让音量+键也能像电源键那样关屏及点亮屏

  [复制链接]

89

主题

2

帖子

566

积分

木蚂蚁小学四年级

Rank: 4Rank: 4

积分
566
发表于 2012-5-30 15:34:20 | 显示全部楼层 |阅读模式
键盘布局映射文件通常放在/system/usr/keylayout下
文件格式:
键映射文件通常以UTF8文本文件格式存储于设备,通常有如下特性:
注释:用#表示,以#开头的内容都将被忽略。
空白:所有的空行被忽略
键定义:键定义遵循如下格式key SCANCODE KEYCODE [FLAGS...],当扫描码是一个数字,键码定义在你描述的布局文件android.keylayout.xxx。


另外可以设置相关的FLAGS:
SHIFT: 当按下,自动加上SHIFT键值
ALT:当按下,自动加上ALT
CAPS:当按下,自动带上CAPS大写
WAKE:当按下,当设备进入睡眠的时候,按下这个键将唤醒,而且发送消息给应用层。
WAKE_DROPPED:当按下,且设备正处于睡眠,设备被唤醒,但是不发送消息给应用层。


原键盘布局映射文件spade-keypad-v0.k如下:
key 102 HOME WAKE_DROPPED
key 139 MENU WAKE_DROPPED
key 158 BACK WAKE_DROPPED
key 217 SEARCH WAKE_DROPPED

key 116 POWER WAKE_DROPPED
key 114 VOLUME_DOWN WAKE
key 115 VOLUME_UP WAKE


现在我们就来修改一下,让音量+键也能像电源键那样唤醒屏幕,修改后的内容如下:
key 102 HOME WAKE_DROPPED
key 139 MENU WAKE_DROPPED
key 158 BACK WAKE_DROPPED
key 217 SEARCH WAKE_DROPPED

key 116 POWER WAKE_DROPPED
key 114 VOLUME_DOWN WAKE
key 115 POWER WAKE_DROPPED


注意,请使用EditPlus或者Notepad++这类软件来修改。
修改存盘后,用RE管理器将spade-keypad-v0.kl复制到/system/usr/keylayout下,然后重启手机,大功告成




有时候,我们还需要修改软键盘的键字符映射文件,以便能输入特殊字符,例如当我们输入$的时候,实际上是要输入¥。
下面就讲讲键字符映射文件的修改。

键字符映射位于:/system/usr/keychars下
比如对于一个特定的设备xxx,设置android.keychar.xxx系统属性,用全路径表示去描述所需的键字符映射。如果你没有描述任何一个键字符映射,系统将默认使用/system/usr/keychar/qwerty.kcm.bin

文件格式:
键字符映射文件以二进制减少加载时间的形式存储于设备中,键字符映射文件有如下特征:
注释:以#开始为注释
空行:所有的空行被忽略
列定义:当一个事件来临的时候按下组合键。这个事通常是MODIFIER_SHIFT,MODIFIER_CTRL,MODIFIER_ALT的组合。
O no modifiers
S MODIFIER_SHIFT
C MODIFIER_CONTROL
L MODIFIER_CAPS_LOCK
A MODIFIER_ALT


键值定义:键值定义遵循如下规则:

键 扫描码 字符[....]
扫描码和字符通常是一个十进制的值或者是UTF8字符,可以通过strtol的解析。

键字符文件的示例:
下面这个文件来自于android/src/device/product/generic/tuttle2.kcm,代表了一个完整的键字符文件。
以type开始的语句描述了你所要描述键盘的类型,大体分为三种
1:NUMERIC,12键的数字键盘
2:Q14:键盘包括所有的字符,但是可以一键多个字符。
3:QWERTY键盘包括了所有可能的字符和数字,类似于全键盘。


下面是一个QWERTY全键盘的定义示例,因为android主要用于手机,手机一般是全键。


游客,如果您要查看本帖隐藏内容请回复

由于键字符映射文件在手机中不再是文本文件格式,做修改的话我们需要HexEdit或者UltraEdit这类支持16进制代码的工具。
修改前,我们要先查询
http://www.ascii-code.com/,查到$对应的16进制HEX码为24,¥对应的16进制HEX码为A5。
然后用UltraEdit打开qwerty.kcm.bin

点选窗口右列的$,然后将左列的24修改为A5。如此循环改完。
最后存盘退出。用RE管理器将qwerty.kcm.bin复制到/system/usr/keychars下,然后重启手机,大功告成


点评

楼上童鞋,可以正常加减  发表于 2012-6-7 22:57
修改之后 音量+能不能正常加声音,电源键是不是也能正常灭平亮屏?  发表于 2012-6-5 11:56



上一篇:【ROM培训班基础教程】——修改相机快门声音、锁屏音效、解锁音效
下一篇:【ROM培训班中级教程】——data文件夹的妙用,data/local 及其余自定义挂载
回复

使用道具 举报

0

主题

96

帖子

196

积分

木蚂蚁小学二年级

Rank: 2Rank: 2

积分
196
发表于 2012-5-30 15:57:12 | 显示全部楼层
学习了!谢谢!!
回复 支持 1 反对 0

使用道具 举报

0

主题

178

帖子

366

积分

木蚂蚁小学三年级

Rank: 3

积分
366
发表于 2012-5-31 12:34:08 | 显示全部楼层
xuexi xuexi
回复 支持 反对

使用道具 举报

6

主题

1206

帖子

2653

积分

木蚂蚁小学五年级

Rank: 5Rank: 5Rank: 5

积分
2653

社区QQ达人

发表于 2012-6-1 18:16:42 | 显示全部楼层
看帖不顶
回复 支持 反对

使用道具 举报

0

主题

1243

帖子

2604

积分

木蚂蚁小学五年级

Rank: 5Rank: 5Rank: 5

积分
2604
发表于 2012-6-3 03:07:18 | 显示全部楼层
内容yyyyggbn
回复 支持 反对

使用道具 举报

0

主题

83

帖子

204

积分

木蚂蚁小学三年级

Rank: 3

积分
204
发表于 2012-6-3 03:38:54 | 显示全部楼层
谢了,辛苦
回复 支持 反对

使用道具 举报

1

主题

31

帖子

203

积分

木蚂蚁小学三年级

Rank: 3

积分
203
发表于 2012-6-3 07:20:53 | 显示全部楼层
回了看看,感谢分享
回复 支持 反对

使用道具 举报

0

主题

60

帖子

118

积分

木蚂蚁小学二年级

Rank: 2Rank: 2

积分
118
发表于 2012-6-3 12:41:22 | 显示全部楼层
好东西。。学习了
回复 支持 反对

使用道具 举报

0

主题

72

帖子

150

积分

木蚂蚁小学二年级

Rank: 2Rank: 2

积分
150
发表于 2012-6-3 13:02:21 | 显示全部楼层
看贴不回者木有小JJ!
回复 支持 反对

使用道具 举报

0

主题

64

帖子

128

积分

木蚂蚁小学二年级

Rank: 2Rank: 2

积分
128
发表于 2012-6-3 18:10:55 | 显示全部楼层
。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

推荐版块: PC破解软件下载  |   VR视频资源下载  |   三星Galaxy S8/S8+  |   全民突击论坛   |   安卓破解软件   |   安卓破解游戏      安卓汉化下载  
安卓android软件大全  |   安卓大型游戏  |   小米手机论坛  |   三星note3论坛  |   安卓影视下载  |   安卓破解    
安卓   安卓软件   手机拍照软件   手机音乐软件   手机表情软件   Xplay 3S论坛   安卓游戏   手机游戏   手机健康软件   手机订餐软件   手机购物软件   热门TAG
快速回复 返回顶部 返回列表