当存在自定义输入设备(通过/ dev / uinput注册)时,不存在软键盘

时间:2014-06-11 21:12:06

标签: android android-ndk keyboard

我开发了一个自定义输入(使用/dev/uniput)来向设备输入远程字符。在某些设备(例如Nexus 7)上,如果输入设备注册它处理QWERTY键,则不显示软键盘。通过实验,我发现如果只注册键0 - 9,则会显示软键盘,除此之外,我还可以注入"注入"键0 - 9。如果我注册了其他键(QWERTY),则不再显示软键盘。

注册是使用ioctl(m_fd, UI_SET_KEYBIT, key)完成的,其中m_fd是开放式/dev/uinput设备,密钥是此设备应支持的密钥的linux密钥代码。

这是一个问题,因为大多数重音字符无法输入(如ÇÂ等) - 它们可以(使用软件键盘),如果软键盘存在。

是否有#34;注册开关"某种形式告诉android-platform在需要用户输入时(即在EditText焦点上)出现软键盘?

0 个答案:

没有答案