现象描述:
触发场景:在网页版(或客户端 WebView)弹出的 PIN 码/二次验证弹窗(例如 Twitter 聊天锁密码、VK 密码对话框)中打字。
键盘区域差异:在 Twitter / VK 的 PIN 码/密码输入框中,按主键盘(字母上方横排)的数字正常(只上屏一次),但按主键盘右侧的小数字键盘(NumPad 0-9)会连续吃进去两个字符。
规避条件:切换到纯英文状态下,小数字键盘恢复正常。
以下是ai回复的,希望对群主有用:
排查参考(原因分析):
虚拟键码(VK Code)处理重复:小数字键盘发出的键码是 VK_NUMPAD0 - VK_NUMPAD9,某些 WebView/密码控件会将此键码自行转换一次 WM_CHAR 字符;同时,清风输入法在 TSF 框架层或底层键盘钩子(Keyboard Hook)中处理 NumPad 时,又向上屏注入了一次字符(或重映射为普通数字),导致小数字键盘被重复触发两次。
修复建议:
请作者检查输入法对小数字键盘 VK_NUMPAD0 ~ VK_NUMPAD9 键码的捕获与上屏拦截逻辑,确保在非预编辑状态或直接上屏时,截断(Consume)原始的 NumPad 按键消息,避免控件本身二次处理。