Android4.4.2系统添加自定义按键【转】
本文转载自:http://developer.t-firefly.com/thread-251-1-1.html
网上存在一些关于Android系统添加自定义按键的文章,但大多针对Android2.3和4.0系统的,许多文件都已经变动位置了,这两天我总结了一些,写出来欢迎大家交流与指正:
Android系统通过*.kl文件将Linux按键传给上层,最新的Android4.4已经不再默认qwerty.kl文件了,代之的是frameworks/base/data/keyboards/Generic.kl文件,当然如果定义板级键值文件,还是以rk29-keypad.kl文件优先。
- key 59 MENU
- key 102 HOME
- key 114 VOLUME_DOWN
- key 115 VOLUME_UP
- key 116 POWE WAKE
- key 143 NOTIFICATION WAKE
- key 158 BACK
- key 212 CAMERA
- key 217 SEARCH
复制代码
- &adc {
- status = "okay";
- key {
- compatible = "rockchip, key";
- io-channels = <&adc 1>;
- vol-up-key {
- linux, code = <115>;
- label = "volume up";
- rockchip, adc_value = <1>;
- };
- vol-down-key {
- linux, code = <114>;
- label = "volume down";
- rockchip, adc_value = <170>;
- };
- power-key {
- gpios = <&gpio0 GPIO_A4 GPIO_ACTIVE_LOW>;
- linux, code = <116>;
- label = "power";
- gpio-key, wakeup; // 具有唤醒功能
- };
- menu-key {
- linux, code = <139>;
- label = "menu";
- rockchip, adc_value = <355>;
- };
- home-key {
- linux, code = <102>;
- label = "home";
- rockchip, adc_value = <746>;
- };
- back-key {
- linux, code = <158>;
- label = "back";
- rockchip, adc_value = <560>;
- };
- camera-key {
- linux, code = <212>;
- label = "camera";
- rockchip, adc_value = <450>;
- };
- };
复制代码
改KeycodeLabels.h文件,4.4版本将其移到了frameworks/native/include/input目录下,对KEYCODES数组添加按键码:
static const KeycodeLabelKEYCODES[] = {
...
{ "MY_KEYS" ,250},
最后一定要以NULL结尾,其中的TV_KEYMOUSE_LEFT按键就是瑞星微添加的,再去frameworks/native/include/android/keycode.h文件中添加:enum {
AKEYCODE_UNKNOWN = 0,
....
....
添加
AKEYCODE_MY_KEYS =250,
public staticfinal int KEYCODE_TV_MEDIA_PAUSE = 249;
frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Android4.4.2系统添加自定义按键【转】的更多相关文章
- 在ubuntu14.04上编译android4.2.2系统
原创作品,转载请注明出处,严禁非法转载 copyright:weishusheng 2015.8.1 时下android系统非常流行,下面就来说一下,下载编译一个andro ...
- 基于CentOS7系统添加自定义脚本服务及参数说明【转】
概述 centos6如果要添加自定义脚本服务只需要把脚本放到/etc/init.d然后授权后用chkconfig添加后就可以管理了,那么centos7又是怎么添加自定义脚本服务呢? CentOS7添加 ...
- android2.3 -添加自定义按键:作唤醒功能 .
最近需要做个唤醒功能,当按键的时候android系统唤醒并点亮屏,在长按键中,系统不能在进入睡眠. 驱动方面: 1:在平台设备文件中添加 一个按键,定义为唤醒源! \arch\arm\mach-s5p ...
- 【转】android4.1.1系统编译全过程
原文网址:http://blog.csdn.net/hudan2714/article/details/7926924 一.编译环境: 首先介绍编译中使用的工具: 虚拟机: vmare 9 下载 ...
- Android4.0-4.4 加入实体按键振动支持的方法(java + smali版本号)
有些手机比方泛泰A820L, 泛泰A890 A900 以及Nubia Z5S 和Z5S mini具有实体按键(这里所说的实体按键是相对于虚拟按键而言, 包括物理按键和触摸屏上多出来的触摸实体按键), ...
- Android系统input按键处理流程(从驱动到framework)【转】
本文转载自:http://blog.csdn.net/jwq2011/article/details/51234811 (暂时列出提纲,后续添加具体内容) 涉及到的几个文件: 1.out/target ...
- 深入浅出-Android系统移植与平台开发(一)- Android4.0系统的下载与编译
作者:唐老师,华清远见嵌入式学院讲师. 一.Android4.0系统的下载与编译 Android系统的下载与编译,Google的官方网站上已经给出了详细的说明,请参照Android的官方网址: htt ...
- Android给自定义按键添加广播和通过广播给当前焦点输入框赋值
一.给自定义按键添加广播 修改PhoneWindowManager.java中的interceptKeyBeforeDispatching方法 /frameworks/base/policy/src/ ...
- C++自定义修饰键,实现如<Capslock+J>等组合键的按键映射
前:所谓修饰键,就是Ctrl,Alt,Shift,Win这些按键. Update: 我使用AHK写了一个功能更丰富的脚本:https://github.com/h46incon/ModifierCus ...
随机推荐
- Codeforces 879C/878A - Short Program
传送门:http://codeforces.com/contest/879/problem/C 本题是一个位运算问题——位运算的等价变换. 假设位运算符“&”“|”“^”是左结合的,且优先级相 ...
- [Android]使用button切换TextView可见和不可见
<Button android:id="@+id/btnTest" android:layout_width="match_parent" android ...
- UITableView点击背景
系统自定义的点击背景有时间觉得效果不好想换个 - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelect ...
- 【三分+精度问题】G. Toxophily
https://www.bnuoj.com/v3/contest_show.php?cid=9154#problem/G [题意] 已知人的坐标在(0,0),靶的位置在(x,y),人以速度v射箭并且射 ...
- [Vijos] 河蟹王国
描述 河蟹王国有一位河蟹国王,他的名字叫羊驼.河蟹王国富饶安定,人们和谐相处.有一天,羊驼国王心血来潮,想在一部分人中挑出最和谐的人.于是,羊驼国王将他的子民排成了一列(==!!b汗~好长呀).每个人 ...
- Intent和IntentFilter简介
Intent和IntentFilter简介 Intent和IntentFilter简介 意图Intent分类: 显式意图:利用class找到对方,在同一个应用程序类可以方便使用,但是在不同的应用程序无 ...
- Shell脚本的编写,sed的使用以及一些正则表达式
Shell脚本的简单编写以及sed的使用 标签(空格分隔): 博客文章 前一阵子为了批量修改Web审计规则,故编写了一个Shell脚本,顺便使用了下sed,顺便把正则表达式也重新学习一遍,感觉还是需要 ...
- poj3905 2sat!
这次已经不是2sat的问题了,相信2sat已经不是问题了,最后一题2sat,竟然跪在输入上! 千万注意scanf(%c)!读入!!!!有空格也读啊!!!读入+ -一定要用字符读啊??笨死算了!被人水死 ...
- [Bzoj1767][Ceoi2009]harbingers (树上斜率优化)
1767: [Ceoi2009]harbingers Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 451 Solved: 120[Submit][S ...
- 【.Net Core 学习系列】-- 自定义错误页面在IE浏览器中不能正常显示
测试场景: 1. 新建.Net Core Web项目 2. 选择模板: 3. 修改Error页面代码:(去掉母版页并修改页面显示信息) 4. 修改[ASPNETCORE_ENVIRONMENT],并抛 ...