Keyboard 将密钥代码映射到物理位置

Keyboard 将密钥代码映射到物理位置,keyboard,gtk,Keyboard,Gtk,假设用户有一个连接到PC的“ISO键盘”[1],是否可以从键盘扫描码中检索行和列,而不要求用户按顺序按所有键来创建地图 我想在屏幕上显示键盘的图像,并突出显示用户按下的键。更具体地说,该解决方案至少应该在GNU/Linux上的GTK+-3.0下工作 我在GTK中测试了hardware\u keycode(请参阅GdkEventKey),这两台机器之间似乎是一致的。文档没有说明从何处获得原始代码。它是否依赖于显示服务器 如果在64位Windows 7中使用lParam消息参数中的scancode

假设用户有一个连接到PC的“ISO键盘”[1],是否可以从键盘扫描码中检索行和列,而不要求用户按顺序按所有键来创建地图

我想在屏幕上显示键盘的图像,并突出显示用户按下的键。更具体地说,该解决方案至少应该在GNU/Linux上的GTK+-3.0下工作

  • 我在GTK中测试了
    hardware\u keycode
    (请参阅
    GdkEventKey
    ),这两台机器之间似乎是一致的。文档没有说明从何处获得原始代码。它是否依赖于显示服务器

  • 如果在64位Windows 7中使用
    lParam
    消息参数中的
    scancode
    字段执行相同的测试,结果似乎与IBM XT键盘一致。葡萄酒也是如此

编辑:

我不在乎文件上是否印有“Q”或“A”字样。这个职位很有趣


[1]

GdkEventKey.hardware\u keycode
将为您提供扫描码(尽管数值已添加到8,因为X11需要),这是什么。自从我发布了该信息后,您是否已将其带到任何地方?您的信息正是我所需要的,尽管它要求我拥有大量查找表。如果有某种系统的话,那就太好了;除非有人已经做了一张桌子,你可以用,我不知道;虽然祝你好运,但要改变80年代早期建立的东西已经太晚了@andlabs在其他后端(如Wayland和Windows)上也存在这种偏移吗?