为了使基于位置的键盘快捷键工作,对所有键盘布局,我需要识别一个物理键盘键,没有键盘布局在上面。理想情况下,我希望检索QKeyEvent的扫描代码,因为这不依赖于键盘布局。
例如,如果我想把Shift+Q映射到音量下降,Shift+W映射到音量(在美国键盘布局上相邻的两个键),我可以将它们映射到Shift+0x10和Shift+0x11,根据这个扫描代码集的说法。这样,它也将工作在法语键盘布局,其中Q和A是切换。它甚至适用于DVORAK键盘布局或其他异国风格的键盘布局,因为键盘布局将被忽略。
现在,问题是:我如何检索QKeyEvent的扫描代码,或任何其他参数,说明物理键的位置,忽略键盘布局,这将在所有平台上工作?我希望它能在Windows、Linux和OSX上工作。
QKeyEvent::nativeScanCode()完成了工作,但对OSX不起作用:\
发布于 2016-07-14 15:00:43
你已经有了最多平台的方法了。不过,Qt还没有在OS上实现它,至少在QT5.7中是这样。
请随意修补您的Qt副本,以包括一个HID事件点击,以获得扫描代码,例如,这个问题。
https://stackoverflow.com/questions/38377454
复制相似问题