ポジションベースのキーボードショートカットを作成するには、すべてのキーボードレイアウトで機能するため、物理的なキーボードキーを特定する必要があります。理想的には、QKeyEventのスキャンコードは、キーボードレイアウトに依存しないため、取得したいと考えています。例えばQKeyEvent(マルチプラットフォーム)のキーポジションを取得
、私はマッピングしたい場合はShift+Q
からボリュームダウンとShift+W
私はちょうどShift+0x10
にこれらをマッピングすることができ、ボリュームアップ(USキーボードレイアウト上で互いに隣接している二つの鍵)へthis scancode setによれば、Shift+0x11
である。このようにして、QとAが切り替わるフランス語のキーボードレイアウトでも機能します。また、キーボードレイアウトは無視されるだけなので、DVORAKキーボードレイアウトやその他の外来キーボードレイアウトでも機能します。
QKeyEventのスキャンコード、または物理的なキーの位置を示す他のパラメータを取得して、キーボードレイアウトを無視してすべてのプラットフォームで動作する方法を教えてください。 Windows、Linux、OSX上で動作させたい。
QKeyEvent::nativeScanCode()は仕事を取得しますが、それはOSXのために動作しません: