获取QKeyEvent(多平台)的关键位置



为了制作适用于所有键盘布局的基于位置的键盘快捷键,我需要识别一个物理键盘键,上面没有键盘布局。理想情况下,我想检索 QKeyEvent 的扫描码,因为这与键盘布局无关。

例如,如果我想将Shift+Q映射到音量调低Shift+W映射到音量调高(美式键盘布局上相邻的两个键),我可以将它们映射到Shift+0x10Shift+0x11,根据这个扫描码集。这样,它也适用于法语键盘布局,其中 Q 和 A 切换。它甚至适用于DVORAK键盘布局或其他外来的键盘布局,因为键盘布局将被忽略。

现在,问题是:如何检索QKeyEvent的扫描码,或任何其他说明物理键位置的参数,忽略键盘布局,这将适用于所有平台?我希望它适用于Windows,Linux和OSX。

QKeyEvent::nativeScanCode() 完成了工作,但它不适用于 OSX :\

您已经拥有了最多平台的方法。除了Qt还没有在OS X上实现它,至少从Qt 5.7开始。

随意修补您的Qt副本以包含HID事件点击以获取扫描码,请参阅例如此问题。

相关内容

  • 没有找到相关文章

最新更新