有没有办法可以编程地找出计算机具有哪种键盘(即钥匙所在的位置,以及在哪个位置存在哪些额外键)?

如果键盘非常非标准,则可以接受一点错误,但是通常,关键是要构建一个类似屏幕的键盘状应用程序,该应用程序可以在屏幕上动态绘制键盘布局,并具有很高的精度。

有帮助吗?

解决方案

没有机制,键盘可以告诉Windows的物理布局是什么样的。带有屏幕键盘的Windows版本OSK.EXE的Windows版本。它似乎能够猜测机器的形式因子(笔记本电脑vs台式机),但在我的笔记本电脑上,它与键盘的布局不符。

使用OSK.EXE布局作为模板,这样没有人可以抱怨您的匹配不太匹配。

其他提示

连接到计算机时,键盘将“扫描代码”发送到操作系统。在Windows上,然后将扫描代码转换为虚拟键(键盘的硬件独立映射),然后转换为真实字符。

MapVirtualKeyEx() Windows API的功能使您可以在扫描代码,虚拟键和字符之间转换。它也应该能够告诉您键是否不存在。

和...一起 GetKeyboardLayout() 它告诉您哪个键盘在任何时间点都处于活动状态(键盘布局对于不同的运行应用程序可能有所不同),它应该使您可以构建键盘的准确地图。

无论如何,看看 keyboard input section of the MSDN

我将补充说,所有键盘几乎具有相同的布局。尽管无法知道钥匙在物理上的位置,但您可能可以从自己的键盘的扫描代码和基本知识中猜测。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top