A6平台解决输入法冲突问题
2013-12-23 12:21
239 查看
修改framework/base/service/input/EventHub.cpp
1. 查找
if (device->classes & INPUT_DEVICE_CLASS_KEYBOARD) {
// Register the keyboard as a built-in keyboard if it is eligible.
if (!keyMapStatus
&& mBuiltInKeyboardId == -1
&& isEligibleBuiltInKeyboard(device->identifier,
device->configuration, &device->keyMap)) {
mBuiltInKeyboardId = device->id;
}
// 'Q' key support = cheap test of whether this is an alpha-capable kbd
//edit by zj 2013/01/17 解决USB与软键盘冲突
/* if (hasKeycodeLocked(device, AKEYCODE_Q)) {
device->classes |= INPUT_DEVICE_CLASS_ALPHAKEY;
}*/
// See if this device has a DPAD.
if (hasKeycodeLocked(device, AKEYCODE_DPAD_UP) &&
hasKeycodeLocked(device, AKEYCODE_DPAD_DOWN) &&
hasKeycodeLocked(device, AKEYCODE_DPAD_LEFT) &&
hasKeycodeLocked(device, AKEYCODE_DPAD_RIGHT) &&
hasKeycodeLocked(device, AKEYCODE_DPAD_CENTER)) {
device->classes |= INPUT_DEVICE_CLASS_DPAD;
}
// See if this device has a gamepad.
for (size_t i = 0; i < sizeof(GAMEPAD_KEYCODES)/sizeof(GAMEPAD_KEYCODES[0]); i++) {
if (hasKeycodeLocked(device, GAMEPAD_KEYCODES[i])) {
device->classes |= INPUT_DEVICE_CLASS_GAMEPAD;
break;
}
}
}
2.make update-api
make -j2
1. 查找
if (device->classes & INPUT_DEVICE_CLASS_KEYBOARD) {
// Register the keyboard as a built-in keyboard if it is eligible.
if (!keyMapStatus
&& mBuiltInKeyboardId == -1
&& isEligibleBuiltInKeyboard(device->identifier,
device->configuration, &device->keyMap)) {
mBuiltInKeyboardId = device->id;
}
// 'Q' key support = cheap test of whether this is an alpha-capable kbd
//edit by zj 2013/01/17 解决USB与软键盘冲突
/* if (hasKeycodeLocked(device, AKEYCODE_Q)) {
device->classes |= INPUT_DEVICE_CLASS_ALPHAKEY;
}*/
// See if this device has a DPAD.
if (hasKeycodeLocked(device, AKEYCODE_DPAD_UP) &&
hasKeycodeLocked(device, AKEYCODE_DPAD_DOWN) &&
hasKeycodeLocked(device, AKEYCODE_DPAD_LEFT) &&
hasKeycodeLocked(device, AKEYCODE_DPAD_RIGHT) &&
hasKeycodeLocked(device, AKEYCODE_DPAD_CENTER)) {
device->classes |= INPUT_DEVICE_CLASS_DPAD;
}
// See if this device has a gamepad.
for (size_t i = 0; i < sizeof(GAMEPAD_KEYCODES)/sizeof(GAMEPAD_KEYCODES[0]); i++) {
if (hasKeycodeLocked(device, GAMEPAD_KEYCODES[i])) {
device->classes |= INPUT_DEVICE_CLASS_GAMEPAD;
break;
}
}
}
2.make update-api
make -j2
相关文章推荐
- Android App监听软键盘按键的三种方式 以及 输入法删除退格键的冲突问题解决
- 解决 IntelliJ 8.0.1 的输入法冲突问题
- 解决Android引用多个库的jni架构平台支持冲突的问题
- android onKeyDown与输入法冲突问题解决方法
- office2007安装与输入法有冲突的问题解决办法
- 解决fedora10 Eclipse MyEclipse 输入法冲突问题
- Android App监听软键盘按键的三种方式 以及 输入法删除退格键的冲突问题解决
- CTeX里面CTRL-Space和中文输入法的冲突问题解决
- 完美解决HALCON C#编程目标平台冲突问题
- vue的符号{{}}和handlebars的符号冲突问题解决
- PullToRefreshScrollView嵌套SwipeMenuListView冲突问题解决
- 信息系统开发平台OpenExpressApp - 如何解决ComboBox.TextProperty绑定带来问题的来龙去脉
- Cocos2d-x 3.0修改Android平台帧率fps - 解决游戏运行手机发热发烫问题
- 如何解决Android中输入法挡住输入框的问题
- 已解决:安装oracle12c时,ksh包冲突的问题。
- android adjustresize not working when using windowTranslucentStatus,解决全屏效果与输入框属性冲突的问题
- 微信管家第三方服务平台安装问题解决
- 解决 CentOS 6.4 升级 Python2.7 后 Ibus 输入法无法使用问题
- 使用dbms_rectifier_diff解决高级复制中的数据冲突问题
- sqlite3 解决并发读写冲突的问题