Qtを使用してアクセシビリティツールを作成しています。キーボードを使用してマウスを操作することができます。マウスを本当に嫌う人も使えます。Qt.KeyEvent Shift + 0がどのような結果になるかはどのようにして判断できますか?
このアプリケーションの固有の課題は、Qtのと何ができるかストレッチされていますが、幸いにもQtは弾力性があります。
ユーザーはCaps Lockを押してツールをアクティブにします。その後、ツールはフォーカスをスティールします。画面にグリッドが表示され、ユーザーは毎回マウスを小さく動かすキーを押します。
0を左にクリックすると、グリッドが消えます。 Altのダブルクリックを追加する。
Shiftキーを押したままマウスを右クリックすると、Ctrlキーを押しながら0を押すと中央をクリックします。
私が直面している問題は、キーボードでShift+0
がQKeyEvent(QKeyEvent.KeyPress, Qt.NoModifier, Qt.Key_ParenRight)
(だから)
)になるということですが、これはまったく保証されていません。私のコンピュータが日本語のIMEであれば、私はQKeyEvent(QKeyEvent.KeyPress, Qt.ShiftModifier, Qt.Key_0)
を得るでしょう。
ヘルプ、どのように私は私が私が聞く権利Qt.KeyEventを選択することができ、ユーザの現在のキーボードレイアウトに関する必要な情報を得ることができますか?
Microsoft Windowsには、既にマウスを制御するためのキーボードキーが定義されています。 https://support.microsoft.com/en-us/help/14204/windows-7-use-mouse-keys-to-move-mouse-pointer –
下降理由: 1. Qtはすでに「キャップ私は上記のように、異なるキーコードを送信することによって、 "ロック"問題を解決します。 2.シフトはQtに従った修飾子です。 Qt.ShiftModifierを参照してください。 3.すべてのレイアウトと現在のレイアウト(およびその情報)が分かっている場合は、「0」を見つけてShiftキーを0にして、そのQKeyでQKeyEventsを探します。 4. MouseKeysはこれとは関係ありません。 –
1.まだ '('と 'shift + 0'を押すと' '' 'と解釈されるので違いはありますか? 'shift + 0'は '(' .' –