今天在操作键盘的英文字母任意值,WM_KEYDOWN事件打印出来的键盘编码值总是229,WM_KEYUP事件打印出来的键盘编码值才是真正的编码值,比如a, WM_KEYDOWN显示229,WM_KEYUP显示65,如下图所示:
经过查询,原来是因为在中文输入法下,使用 keydown 事件时,绝大部分的键盘ASCII码值都是229,是因为输入法自动加了一个值。
我将中文输入法关闭后,切回到英文模式下,再次按下a键,WM_KEYDOWN显示65,WM_KEYUP也显示65,如下图所示:
因此, 在不考虑输入法的影响因素的前提下,应该使用 keyup 事件,键盘的编码值才能正常获得。
评论区