对于我的女儿(11个月大)我目前正在开发一个程序,让她在我的笔记本电脑键盘上打字(当然,更多的是砸它)招待她。 它已经非常好用了,因为她和她的侄子(同龄)似乎很喜欢它,所以我想也许其他孩子也可以。图书馆与键盘布局
我现在得到的问题如下:当按下某个键时,屏幕上会显示一些内容。绘制图片的位置取决于键盘上键的物理位置。所以为此,我需要知道连接的键盘的布局。目前我正在使用硬编码的en_US布局,但也许有一天是例如法国孩子想要使用它。
在linux上,我可以使用LANG环境变量找到语言环境,我想我可以从xorg/x11文件下的某个未公开文件检索布局。但我正在寻找一个更便携的版本,它可以在分发之间进行工作,但也可以在微软窗口甚至macos x上运行。
我当然搜索了它,但找不到任何东西。那么有谁知道C/C++中的解决方案?如果它充满#ifdef语句在多个平台上工作,那么这不是问题。
在OS X上,事件中可用的虚拟键码已经指示键盘上键的名义位置。也就是说,有一个名为'kVK_ANSI_A'的关键代码。这不是通过键盘布局处理时产生'A'字符的关键。这是在标准ANSI键盘的'A'键位置上的关键。所以,它是位于字母键中间位置最左边的键,即使该键产生了'Q',因为用户正在使用法语版式。 – 2014-09-27 05:47:53
我同意肯。据我所知,你可以用X11做同样的事情,而且MS-Windows,我可以像以前那样做100%确定。 “原始密钥代码”几乎将1对1映射到QWERTY。因此,如果您在通过键盘映射转换之前捕获代码,则您已得到答案。 – 2014-10-03 03:24:02