为了制作适用于所有键盘布局的基于位置的键盘快捷键,我需要识别一个物理键盘键,而不是在它上面的键盘布局。理想情况下,我想检索 QKeyEvent 的扫描码,因为它不依赖于键盘布局。
例如,如果我想映射Shift+Q
到降低音量和Shift+W
提高音量(在美国键盘布局上,两个键彼此相邻),我可以根据这个扫描码集Shift+0x10
将它们映射到and 。这样,它也适用于切换 Q 和 A 的法语键盘布局。它甚至适用于 DVORAK 键盘布局或其他奇特的键盘布局,因为键盘布局将被忽略。Shift+0x11
现在,问题是:如何检索 QKeyEvent 的扫描码,或任何其他说明物理键位置的参数,忽略键盘布局,这将适用于所有平台?我希望它可以在 Windows、Linux 和 OSX 上运行。
QKeyEvent::nativeScanCode()完成了工作,但它不适用于 OSX :\