xkbシンボルファイルのEIGHT_LEVEL_ALPHABETICとEIGHT_LEVELの違いは何ですか?

xkbシンボルファイルのEIGHT_LEVEL_ALPHABETICとEIGHT_LEVELの違いは何ですか?

タイトルはすべてを教えてくれます。 2つの違いは何ですか?カスタム8レイヤーレイアウトを作成するときは、いつ他のレイヤーよりも1つを選択する必要がありますか?

状況に応じて、以下はpartial alphanumeric_keys xkb_symbols "T3"xkbシンボルファイルから抜粋したものです。de

    key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC";
    key <AB01> { [               y,               Y,           U203A,        NoSymbol,           U0292,           U01B7,   guillemotleft,        NoSymbol ] };
    key <AB02> { [               x,               X,  guillemotright,        NoSymbol, doublelowquotemark, singlelowquotemark, guillemotright,   NoSymbol ] };
    key <AB03> { [               c,               C,       copyright,        NoSymbol,            cent,       copyright,  Greek_horizbar,        NoSymbol ] };
    key <AB04> { [               v,               V,   guillemotleft,        NoSymbol, leftdoublequotemark, leftsinglequotemark,   U2039,        NoSymbol ] };
    key <AB05> { [               b,               B,           U2039,        NoSymbol, rightdoublequotemark, rightsinglequotemark, U203A,        NoSymbol ] };
    key <AB06> { [               n,               N,          endash,        NoSymbol,           U019E,           U0220,          endash,        NoSymbol ] };
    key <AB07> { [               m,               M,        Greek_mu,        NoSymbol,              mu,       masculine,          emdash,        NoSymbol ] };
    key.type[Group1] = "EIGHT_LEVEL";
    key <AB08> { [           comma,       semicolon,           U02BB,        NoSymbol,        ellipsis,        multiply,          dollar,        NoSymbol ] };
    key <AB09> { [          period,           colon,           U200C,        NoSymbol,  periodcentered,        division,      numbersign,        NoSymbol ] };
    key <AB10> { [           minus,      underscore,          hyphen,        NoSymbol,           U0140,           U013F,           U2011,        NoSymbol ] };

答え1

いくつかのテストを経てこれらのレベルの定義を見た後の違いは、タイプがALPHABETIC2番目のレベルにロックされ、CAPS LOCK2番目のレベル以外のレベルが押されたときにのみ到達できることです。ALPHABETICSHIFT

次のセクションを参照してください/usr/share/X11/xkb/types/level5。ただALPHABETICあなたの中だけで、背中を見つけることができmap[Lock] = Level2;ますmap[Lock+LevelFive] = Level6;

    type "EIGHT_LEVEL" {
    modifiers = Shift+LevelThree+LevelFive;
    map[None] = Level1;
    map[Shift] = Level2;
    map[LevelThree] = Level3;
    map[Shift+LevelThree] = Level4;
    map[LevelFive] = Level5;
    map[Shift+LevelFive] = Level6;
    map[LevelThree+LevelFive] = Level7;
    map[Shift+LevelThree+LevelFive] = Level8;
    level_name[Level1] = "Base";
    level_name[Level2] = "Shift";
    level_name[Level3] = "Alt Base";
    level_name[Level4] = "Shift Alt";
    level_name[Level5] = "X";
    level_name[Level6] = "X Shift";
    level_name[Level7] = "X Alt Base";
    level_name[Level8] = "X Shift Alt";
    };

    type "EIGHT_LEVEL_ALPHABETIC" {
    modifiers = Shift+Lock+LevelThree+LevelFive;
    map[None] = Level1;
    map[Shift] = Level2;
    map[Lock]  = Level2;
    map[LevelThree] = Level3;
    map[Shift+LevelThree] = Level4;
    map[Lock+LevelThree] =  Level4;
    map[Lock+Shift+LevelThree] = Level3;

    map[LevelFive] = Level5;
    map[Shift+LevelFive] = Level6;
    map[Lock+LevelFive]  = Level6;
    map[LevelThree+LevelFive] = Level7;
    map[Shift+LevelThree+LevelFive] = Level8;
    map[Lock+LevelThree+LevelFive] =  Level8;
    map[Lock+Shift+LevelThree+LevelFive] = Level7;

    level_name[Level1] = "Base";
    level_name[Level2] = "Shift";
    level_name[Level3] = "Alt Base";
    level_name[Level4] = "Shift Alt";
    level_name[Level5] = "X";
    level_name[Level6] = "X Shift";
    level_name[Level7] = "X Alt Base";
    level_name[Level8] = "X Shift Alt";
    };

関連情報