XKBシフトレベルが0、1、2、4ではなく1(None)、2(Shift)、3(AltGr)、5の理由は何ですか?

XKBシフトレベルが0、1、2、4ではなく1(None)、2(Shift)、3(AltGr)、5の理由は何ですか?

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の世界で一般的に見え、この特別な場合には合理的で直感的です。

ベストアンサー1

おすすめ記事