碰到一种无线鼠标,在插入之后输入框不弹出输入法,
后来发现并不是所有的无线鼠标都会这样,原来有一部分厂商的无线鼠标
在插入后是也接入了键盘类型的input event
那问题就变成了硬件键盘与软件输入法无法同时显示,
修改base/services/input/EventHub.cpp文件中的函数:
openDeviceLocked(......)
在
// If the device isn'trecognized as something we handle, don't monitor it.
if (device->classes == 0) {
LOGV("Dropping device: id=%d, path='%s',name='%s'",
deviceId,devicePath, device->identifier.name.string());
delete device;
return -1;
}
之前添加以下一行即可:
device->classes&= 0xFFFF & ~INPUT_DEVICE_CLASS_ALPHAKEY;