我可以使用Qt检测QWERTY/AZERTY键盘吗?

我可以使用Qt检测QWERTY/AZERTY键盘吗?

问题描述:

我想根据键盘类型设置一些快捷方式,以便它始终是一行键(Q-W-EA-Z-E)。这需要根据我知道的键盘类型对快捷方式进行硬编码。我可以使用Qt检测QWERTY/AZERTY键盘吗?

是否可以使用Qt检索这些信息?

+1

略带偏移:我用来切换不同的键盘布局,我w如果根据快捷方式的不同布局,会发现令人困惑。此外,这会让使用不同布局的人难以谈论该计划。 “我使用了XY快捷键” - “什么?在我的版本中没有这样的快捷方式” – user463035818

+0

@ tobi303有些时候你可能想强制执行某些组合键的布局。例如,在QWERTY键盘上的游戏中,按键W,S,A和D用作上,下,左,右。对于AZERTY键盘,你想保持布局,并重新映射到Z,S,Q和D. –

+0

@BenjaminT我会称之为“快捷方式”,尽管我完全明白你的观点。我只是认为,一般来说,它不是很好,以ctrl + y替换例如ctrl + z只是为了在键盘上的相同位置有钥匙,无论OP案例是一个例外,我不知道 – user463035818

你可以得到与http://doc.qt.io/qt-5/qinputmethod.html#locale-prop

喜欢的东西

QApplication a(argc, argv); 
qDebug() << a.inputMethod()->locale(); 

或者

qDebug() << QLocale::system(); 

给我的键盘QLocale QLocale(法语,拉丁语,法国)和QLocale(法国,默认,法国)

+0

因此,我应该将语言环境与使用QWERTY的* language + country *进行比较?我想它会起作用,但是如果你想在很多国家部署,很难维护 – ymoreau

+0

编辑:使用AZERTY的国家列表基本上仅限于法国和很少的自定义布局,所以我可以检查这一点,并认为其余的为QWERTY。谢谢 ! – ymoreau

+0

我从来没有这样做过,我只是给出了一些提示 –