目 录CONTENT

文章目录

c语言获取键盘事件keyCode都是229原因

醉酒的行者
2025-04-22 / 0 评论 / 0 点赞 / 22 阅读 / 0 字

今天在操作键盘的英文字母任意值,WM_KEYDOWN事件打印出来的键盘编码值总是229,WM_KEYUP事件打印出来的键盘编码值才是真正的编码值,比如a, WM_KEYDOWN显示229,WM_KEYUP显示65,如下图所示:

经过查询,原来是因为在中文输入法下,使用 keydown 事件时,绝大部分的键盘ASCII码值都是229,是因为输入法自动加了一个值。

我将中文输入法关闭后,切回到英文模式下,再次按下a键,WM_KEYDOWN显示65,WM_KEYUP也显示65,如下图所示:

因此, 在不考虑输入法的影响因素的前提下,应该使用 keyup 事件,键盘的编码值才能正常获得。


0

评论区