xkbへの暗黙的な入力

xkbへの暗黙的な入力

現在のXKB構成のキーマップソース(.xkb形式)はを実行して取得できますxkbcomp $DISPLAY -。キーシンボルへのマッピングは、xkb_symbolsこのファイルのセクションで行われます。このセクションの一部の定義は、各レベルを索引付けtypeする修飾子を表すキーを明示的に定義します。keysym

key <AD01> {type= "ALPHABETIC", [q, Q]};

他の行はそのタイプを指定しません。たとえば、次のようになります。

key <AE01> {[1, exclam]};

この場合、ファイルのこのセクションに複数の2段階タイプxkb_types(TWO_LEVEL、ALPHABETIC、KEYPAD、SHIFT + ALT、PC_SUPER_LEVEL2など)が定義されているため、タイプはあいまいです。したがって、指定されたレベルの数には暗黙的(または基本)型が必要です(たとえば、型が指定されていないが2つのレベルがある場合は暗黙の2レベル型)。これらの暗黙的な型はどこで定義されていますか?xkb_types必要なレベル数で表示される最初のタイプですか?

ベストアンサー1

デフォルト値は次のとおりです。Xキーボード拡張:プロトコル仕様セクション12.2.3(41-42ページ)および付録BのX11R6.4の場合。具体的には、ONE_LEVEL、TWO_LEVEL、ALPHABETIC、および KEYPAD は標準タイプとみなされ、英数字拡張後に次の基準に従って選択されます。

明示的な型定義を持たない各キーボードグループに対して、XKBは標準のキータイプからキータイプを選択します。グループに割り当てられた2番目のシンボルがNoSymbol(アルファベット拡張後)の場合、サーバーはキータイプONE_LEVELを割り当てます。グループに単一文字の小文字と大文字の形式が含まれている場合(英数字拡張後)、サーバーはキータイプALPHABETICを割り当てます。グループのシンボルが数字キーパッドシンボル(KP_ *)の場合、サーバーはキータイプKEYPADを割り当てます。それ以外の場合は、キータイプTWO_LEVELを割り当てます。

プロトコルは、複数のレベルを持つグループの仕様タイプを指定しません。

おすすめ記事