プロジェクトに Xlib を使用しており、押されたキーに関連する KeySym を取得しようとしています。
押されたキー、キーボード修飾子、およびキーボード インジケーターに関連する KeyCode を取得しました。正しいキーを取得する方法を理解するためにこのページを参照していますが、X がそのページのように動作しないため、古いキーか何かである必要があります。
いくつか質問があります:
モードスイッチとは?MODE SWITCH のキーを確認するにはどうすればよいですか? また、どのように設定すればよいですか? (Xlib 関数経由でもコマンド経由でも同じです)。
そのページには、KeyCode に関連付けられた最初の 4 つの KeySyms ( で検出さ
XGetKeyboardMapping
れるか、コマンドで表示されるxmodmap -pk
) が 2 つのグループに分けられると書かれています。MODE SWITCH はグループ間を切り替えます。グループ内では、最初または 2 番目の KeySym が、修飾子 (つまり、シフト キー) またはインジケーター (つまり、caps lock) に従って選択されます。しかし、私の XI では、Shift キーを押すと、2 番目の KeySym ではなく 3 番目の KeySym に切り替わることがわかります。多くのヨーロッパのレイアウトでは、AltGr キーは KeySym にバインドされており、これはどのキーボード修飾子 (つまり、、、、、、、、および)に
XS_ISO_Level3_Shift
も属していません。これを押すと、KeyCode に関連付けられた 5 番目の KeySym が選択されます。なんで?これに関する情報や、実際に使用されているが Xlib マニュアルには記載されていない他のキーシムに関する情報はどこにありますか?shift
lock
control
mod1
mod2
mod3
mod4
mod5
XS_ISO_Level3_Shift
XS_ISO_Level3_Shift