2017-10-16 189 views
0

我想根據鍵盤類型設置一些快捷方式,以便它始終是一行鍵(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

回答

2

你可以得到與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

我從來沒有這樣做過,我只是給出了一些提示 –

相關問題