键盘输入模型

【勇芳软件工作室】汉化HomePreviousNext

Windows通过安装适合当前键盘的键盘设备驱动程序为应用程序提供与设备无关的键盘支持。Windows通过使用用户或应用程序当前选择的特定于语言的键盘布局来提供与语言无关的键盘支持。键盘设备驱动程序从键盘接收扫描代码,将其发送到键盘布局,将其转换为消息并发布到应用程序中的相应窗口。

分配给键盘上的每个键是唯一的值,称为【扫描码】,键盘上的键的设备相关标识符。当用户在键盘上键入一个键__ 1时,键盘生成两个扫描代码,当用户按下键时,键盘产生另一个扫描代码。

键盘设备驱动程序解释扫描代码并将其映射(映射)为【虚拟键代码】,这是Windows定义的与设备无关的值,用于标识密钥的目的。翻译扫描代码后,键盘布局会创建一个消息,其中包含扫描代码,虚拟键代码和其他有关按键的信息,然后将消息放入系统消息队列中。Windows从系统消息队列中删除消息,并将其发布到相应线程的消息队列中。最后,线程的消息循环移除消息,并将其传递给适当的窗口过程进行处理。下图说明了Windows的键盘输入模型。