近期有一个需求在不同的国家操作习惯不一样,需要将back键和app_switch键的功能调换
最初的想法.在PhoneWindowManager中的interceptKeyBeforeDispatching中处理按键分发的过程中实现,但是这里的时机比较晚,而且这里没有对返回键的处理,在这里实现改动量可能比较大
后来想到一处比较早的时机,在底层往上层上报的时候将按键对应keyCode进行对调即可。修改代码位置:
frameworks\native\services\inputflinger\InputDispatcher.cpp
修改点:
void InputDispatcher::notifyKey(const NotifyKeyArgs* args) {
…… ……
}
在
event.initialize(args->deviceId, args->source, args->action,
flags, keyCode, args->scanCode, metaState, 0,
args->downTime, args->eventTime);
之前加如下:
int32_t keyCode = args->keyCode;
ALOGD("notifyKey keyCode=0x%x, ",args->keyCode);
char value[PROPERTY_VALUE_MAX];
property_get("persist.keychange.enable", value, "0");
if (!strcmp(value, "1")){
if (keyCode == 0x4){
keyCode=0xbb;
ALOGD("notifyKey keyCode=0x%x, ",keyCode);
}else if (keyCode == 0xbb){
keyCode=0x4;
ALOGD("notifyKey keyCode=0x%x, ",keyCode);
}
}
通过属性persist.keychange.enable的读取,进行判断是否需要进行对调,如果默认的值为1,则进行对调,即将back的keyCode (0x4)跟app_switch的keyCode (0xbb)进行对调
使用property_get需要引入头文件#include <cutils/properties.h>
然后编译模块inputflinger,即可编完以后将libinputflinger.so
push到手机中system/lib64/下进行替换,
设置属性persist.keychange.enable进行测试即可
分享到:
相关推荐
实验室代码,可用。CT图像重建的滤波反投影算法程序设计
This is model of back to back of HVDC
是一个simulink仿真模型,仿真BLDC的梯形反电动势波形,使用一个角速度源带动BLDC,然后采集开路相电压,仿真结果来看,反电动势的电压和趋势均有相应的参数可以调节
n-back实验范式,包含0,1,2back,eprime 3.0 运行
This is modeling back to back converter
实现qml的全局过滤
28335 CAN是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低功耗、低成本的要求,各种各样的电子控制系统被开发了出来。
back_to_basics_lambdas_from_scratch__arthur_odwyer__cppcon_2019.pdf
This is modeling the grid-side converter of back to back converter
用于用户后台管理,展示用户的详细信息,后台支持多主题切换、布局管理、广告管理、配置管理、字典管理、切图管理、CMS内容管理等常用功能模块
本文实例讲述了Android返回键功能的实现方法。分享给大家供大家参考。具体如下: 在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下并没有关闭改应用 我们...
信息安全_数据安全_law-t10-hack_back_for_good_not_v 渗透测试 情报处理 常规渗透 安全响应 安全应急
Android 点击两次返回键退出程序
本人亲测的PopupWindow监听返回键,可以监听到返回键的状态,动态设置返回键dismiss的时机
具体内容请见王楠楠的论文,Back Projection。产生精细的图片纹理
- You can communicate with loaded website through simple API (Javascript-Unity back and forth) - You can hide top bar (with title and back button) if you don't like it - You can specify browser's ...
fuzzy control back stepping
串口回传verilog源代码 uart back code verilog
编程实现可靠数据传输原理 GO-BACK-N
Error Back-Propagation Algorithm for MLP Neural Networks