问题描述
If an Input Method Editor is processing key input and the event is keydown, return 229. ——《keyCode property of key events》
译文:如果一个输入法编辑器正在处理键输入,事件是keydown,返回229
我遇到的情况是在在 Android 下的浏览器或者webview里,都无法识别某个键(如空格),所以如下描述更符合我的情形:
Unidentified: 用户代理无法将事件的虚拟键码映射到特定键值。 这可能由于硬件或软件限制或由于运行用户代理的平台周围的约束而发生。
查看相关资料,这里给出了更具体的描述:
在一些语言的输入法中有特殊的功能键。比如日文输入法,在开始输入后需要敲击空格键调出候选列表,此时的空格键并不是正常的空格键(keyCode为 32,key 为“ ”),而是被浏览器解释为 Process Key(Windows 上keyCode为 229, key为“Process”)。实际上,用于提交输入的空格和回车键、从候选列表中选择目标字符的上下箭头键,以及调整光标位置的左右箭头键,也都是一种 Process Key。这样应用程序就可以区分正常的按键和在使用输入法过程中的功能按键。
—— 原文地址: Web 键盘输入法应用开发指南 (3) —— 输入法事件
这里只做了问题的归纳描述,如果要看具体兼容方案,可以看这里:Input on Android: 229 Unidentified。