XKBは、シフトレベルに次のスキームを使用します(/usr/share/X11/xkb/
さまざまなドキュメントで利用可能です)。
- level_name [レベル1] = "デフォルト";
- level_name [レベル2] = "シフト";
- level_name [レベル3] = "代替基地";
- level_name[レベル4] = "Shift Alt";
- level_name[レベル5] = "X";
- level_name [レベル6] = "X翻訳";
- level_name[Level7] = "X Altの基本";
- level_name[Level8] = "X Shift Alt";
これは1ベースの数値です(この特定のリストはカスタマイズされています/usr/share/X11/xkb/types/level5
)。しかし、ゼロから始まる番号付けがより意味があるようです。たとえば、次のようになります。
- level_name [レベル0] = "デフォルト";
- level_name [レベル1] = "シフト";
- level_name [レベル2] = "代替基地";
- level_name[レベル3] = "Shift Alt" (例: 1+2)
- level_name[レベル4] = "X";
- level_name[レベル5] = "X翻訳" (1 + 4)
- level_name [レベル6] = "X Altデフォルト"; (2+4)
- level_name[レベル7] = "X Shift Alt" (1 + 2 + 4)
つまり、ビットフィールドと同じです。代わりに1から始まる番号付けを使用します。選択の理由は何ですか?ゼロから始まる番号付けはLinuxの世界で一般的に見え、この特別な場合には合理的で直感的です。