基于MTK6755平台(Android6.0)添加新按键
第一次写的第一篇博客,如下:
1、在DCT tool keypad list 文件中添加新键,如TRIGGER键:
KEY_TRIGGER
源码路径:alps/kernel-3.18/tools/dct/old_dct/Keypad_YuSu.cmp
alps/vendor/mediatek/proprietary/bootable/bootloader/lk/scripts/dct/old_dct/Keypad_YuSu.cmp
alps/vendor/mediatek/proprietary/bootable/bootloader/preloader/tools/dct/old_dct/Keypad_YuSu.cmp
2、打开DCT tool 在keypad矩阵中在相应定义的按键位中添加新按键,如TRIGGER键,然后保存,具体如何配置需与硬件沟通
3、增加keypad layout文件键盘映射,linux和android key映射
源码路径:alps/device/magcomm/magc6755_66t_m/keypad_matrix.kl
如:
key 114 TRIGGER_LEFT
key 115 TRIGGER_RIGHT
其中114 是linux键码,TRIGGER_LEFT是android识别key值。
4、修改frameworks识别keycode
源码路径:alps/frameworks/native/include/android/keycodes.h
在按键定义项增加:
AKEYCODE_TRIGGER_LEFT = 307,
AKEYCODE_TRIGGER_RIGHT = 308,
源码路径:alps/frameworks/native/include/input/InputEventLabels.h
在KEYCODES结构体后面增加:
DEFINE_KEYCODE(TRIGGER_LEFT),
DEFINE_KEYCODE(TRIGGER_RIGHT),
5、修改frameworks键盘事件
public static final int KEYCODE_TRIGGER_RIGHT = 308;
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
case KeyEvent.KEYCODE_MENU:
case KeyEvent.KEYCODE_WAKEUP:
case KeyEvent.KEYCODE_PAIRING:
case KeyEvent.KEYCODE_TRIGGER:
case KeyEvent.KEYCODE_TRIGGER_LEFT:
case KeyEvent.KEYCODE_TRIGGER_RIGHT:
return true;
}
return false;
}
增加按键为系统按键:
switch (keyCode) {
case KeyEvent.KEYCODE_MENU:
case KeyEvent.KEYCODE_SOFT_RIGHT:
case KeyEvent.KEYCODE_HOME:
case KeyEvent.KEYCODE_BACK:
case KeyEvent.KEYCODE_CALL:
case KeyEvent.KEYCODE_ENDCALL:
case KeyEvent.KEYCODE_VOLUME_UP:
case KeyEvent.KEYCODE_VOLUME_DOWN:
case KeyEvent.KEYCODE_VOLUME_MUTE:
case KeyEvent.KEYCODE_MUTE:
case KeyEvent.KEYCODE_POWER:
case KeyEvent.KEYCODE_HEADSETHOOK:
case KeyEvent.KEYCODE_MEDIA_PLAY:
case KeyEvent.KEYCODE_MEDIA_PAUSE:
case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
case KeyEvent.KEYCODE_MEDIA_STOP:
case KeyEvent.KEYCODE_MEDIA_NEXT:
case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
case KeyEvent.KEYCODE_MEDIA_REWIND:
case KeyEvent.KEYCODE_MEDIA_RECORD:
case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
case KeyEvent.KEYCODE_CAMERA:
case KeyEvent.KEYCODE_FOCUS:
case KeyEvent.KEYCODE_SEARCH:
case KeyEvent.KEYCODE_BRIGHTNESS_DOWN:
case KeyEvent.KEYCODE_BRIGHTNESS_UP:
case KeyEvent.KEYCODE_MEDIA_AUDIO_TRACK:
return true;
}
6、更新API
7、增加测试验证log在android
源码路径:alps/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
在interceptKeyBeforeDispatching()增加
if(keycode== KeyEvent.KEYCODE_TRIGGER_LEFT){
log.d(TAG, "interceptKeyTi KEYCODE_TRIGGER_LEFT);
基于MTK6755平台(Android6.0)添加新按键相关推荐
- 在Eclipse中导入编译MTK平台Android6.0源码的原生Gallery2应用
源码下载地址 由于工作的需要,需要在Eclipse中调试MTK平台Android6.0的原生Gallery2应用, 网上已经有很多类似的技术文章了,步骤都差不多, 但是MTK在google原生的Gal ...
- 基于Samsung平台CM11.0编译ROM及刷机全过程
如果你想自己编译CM11.0,如果你想刷第三方ROM,那么我将在这篇文章带你一起探讨.也许这篇文章有点偏向与纯技术方面的经验,但对于大家对android编译原理及刷机还是很有帮助的.对于刷机教程那块网 ...
- android 按键kl文件,Android添加新按键
1.前言 在Android开发中可能会遇到添加新的按键的需求,本文将简单介绍如何在Android系统中完成一个新的按键的添加. 当系统有新的按键需要添加时,Linux内核下的键码到Android系统中 ...
- master节点重置后添加node报错_企业实战(23)基于Docker平台的Jenkins添加node节点与报错详解(2)...
相关文章 企业实战(23)基于Docker平台部署Jenkins中国定制版(1) 添加node节点前配置 在这里插入图片描述 在这里插入图片描述 开始添加node节点 在这里插入图片描述 在这里插入 ...
- android 4.4 红外,RTK2969平台android4.4添加新红外遥控器(一)
一直以来都没有一个好的习惯,学过的东西用过之后不久就忘记了,最近决定开始把之前遇到的一些问题写到这里,一方面是自己备忘,另一方面也希望能够帮助到大家,起码给各位有一点参考的价值,吾心足矣,废话少说今天 ...
- MySQL8.0添加新用户并授予远程访问权限
MySQL8.0添加用户并授权远程访问 Win10安装MySQL8.0的详细步骤可以看我的博客内容 MySQL8.0添加用户并授权远程访问 详细步骤: [1].打开cmd界面,输入mysql -u r ...
- Android6.0添加usb转网口
Android6.0正常上网方法有两种: 开机前如果插着网线,在开机过程中会识别到usb设备,自动启动网络服务,配置dns并使用dhcpcd eth0 实现android层的上网 在启动后插入网线,需 ...
- RAID 0 添加新磁盘
1:查看当前可用挂载磁盘 lsblk 2:可见 sda 与 sdb 已被挂载,需要挂载 sdc 和 sdd 由于硬盘的默认分区格式是MBR,这种格式的硬盘支持的最大挂载容量为2T,为了满足我们的要求, ...
- RK3229平台Android6.0系统添加广升OTA升级功能
添加脚本: build/core/FotaInfo.sh #!/bin/bash#********Do not modify this file. If you want modify this fi ...
最新文章
- 卷积神经网络如何处理一维时间序列数据?
- 爱了!安利一个相见恨晚的可视化学习网站
- 409 Longest Palindrome
- 单片机实现环形队列_单片机模块化程序: 难道有环形队列串口发送数据就万事大吉了吗...
- Python version 2.7 required, which was not found in the registry
- php5.5 集成环境,windows下配置php5.5开发环境及开发扩展_PHP
- 云文件共享将为安全团队带来新的难题
- ADO.NET 完整修改、删除、防字符串攻击
- Bailian2756 二叉树(POJ NOI0306-1758)【二叉树】
- 台式计算机键盘驱动,提示检测到不兼容的键盘驱动程序怎么解决 教你几个步骤轻松修复...
- ldoce6 android,少儿英语学习词典 朗文当代LDOCE6双解词典
- 上海,夜访大一女生宿舍,满足。
- R 包 rgl 安装失败, 报错 X11 not found but required, configure aborted 及解决方法
- 使用PRSice进行多基因风险评分分析
- 盘点2016年人工智能与深度学习领域的十大收购
- 第六章:个人主页和头像
- 厄米高斯模式与拉盖尔高斯模式
- 虚拟服务器添加用户白名单,apache配置黑名单和白名单及账户权限控制
- 海康威视插件播放视频流
- SAP MDG和SAP MDM的区别
热门文章
- 白领刷脸族串红 人脸识别产品热销
- Improving Multiple Object Tracking with Single Object Tracking
- 脚本 hive 删除掉分区
- pythonML学习笔记ch2-perceptron
- OSError: cannot write mode F as BMP
- BAAI 2020 北京智源大会 | 邢波 | A Blueprint of Standardized and Composable Machine Learning
- 用CSS做出写轮眼变化图
- 【剧情】あかね色に染まる坂(染成茜色的坂道) 中文剧情简介
- 三百六十行,行行出状元,不知道自己适合做什么,怎么办?
- 怕远程办公不安全?大企业同款神器,网络加速、防护、上网管理