3

プロジェクトに Xlib を使用しており、押されたキーに関連する KeySym を取得しようとしています。

押されたキー、キーボード修飾子、およびキーボード インジケーターに関連する KeyCode を取得しました。正しいキーを取得する方法を理解するためにこのページを参照していますが、X がそのページのように動作しないため、古いキーか何かである必要があります。

いくつか質問があります:

  1. モードスイッチとは?MODE SWITCH のキーを確認するにはどうすればよいですか? また、どのように設定すればよいですか? (Xlib 関数経由でもコマンド経由でも同じです)。

  2. そのページには、KeyCode に関連付けられた最初の 4 つの KeySyms ( で検出さXGetKeyboardMappingれるか、コマンドで表示されるxmodmap -pk) が 2 つのグループに分けられると書かれています。MODE SWITCH はグループ間を切り替えます。グループ内では、最初または 2 番目の KeySym が、修飾子 (つまり、シフト キー) またはインジケーター (つまり、caps lock) に従って選択されます。しかし、私の XI では、Shift キーを押すと、2 番目の KeySym ではなく 3 番目の KeySym に切り替わることがわかります。

  3. 多くのヨーロッパのレイアウトでは、AltGr キーは KeySym にバインドされており、これはどのキーボード修飾子 (つまり、、、、、、、、および)にXS_ISO_Level3_Shiftも属していません。これを押すと、KeyCode に関連付けられた 5 番目の KeySym が選択されます。なんで?これに関する情報や、実際に使用されているが Xlib マニュアルには記載されていない他のキーシムに関する情報はどこにありますか?shiftlockcontrolmod1mod2mod3mod4mod5XS_ISO_Level3_ShiftXS_ISO_Level3_Shift

4

2 に答える 2

2

あなたが読んでいるページはXkbより前のもののようです-コンテンツは少なくとも10〜15年前のものだと思います。

参照:http ://www.xfree86.org/current/XKBproto.pdf

「xmodmap-pm」は、モードスイッチなどの修飾キーを表示します。

Xkbを使用すると、基本的にすべての動作を構成できると思います。たとえば、/ usr / share / X11 /xkb/を見てみましょう。私はそれについて多くを知りませんが、うまくいけば、古いドキュメントの代わりにXkbを見ると、正しい方向に向けられるでしょう。

于 2010-11-09T17:20:19.473 に答える
2

Tronche のマニュアルは不完全です。キーボード機能の詳細については、
1. xlib.pdf
2. static.cray-cyber.orgの xlib html マニュアルを参照してください。このドキュメントは隠され、少し壊れています。リンクは小文字で入力されますが、実際のドキュメントは大文字です。ブラウザで URL を修正すると、読み取り可能になります。

PDFは完成したと思います。[2] も完全かどうかはわかりませんが、たとえば 16.2 章 (申し訳ありませんが、リンク制限を超えているためリンクを提供できません) は Tronche のドキュメントよりもはるかに長いです。

私は xlib を理解する初心者です。

于 2011-07-25T16:21:02.240 に答える