XKB:新しいタイプを作成できませんでした。

XKB:新しいタイプを作成できませんでした。

私はXKBを理解すると思ったが、明らかにそうではなかった。まず、XKBのデバッグを妨げる問題があります。xkbcomp $DISPLAY output.xkbファイルには次のセクションがあります(getを使用)。

    type "FOUR_LEVEL_MIXED_KEYPAD" {
        modifiers= Shift+NumLock+LevelThree;
        map[Shift+NumLock]= Level1;
        map[NumLock]= Level2;
        map[Shift]= Level2;
        map[LevelThree]= Level3;
        map[NumLock+LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        map[Shift+NumLock+LevelThree]= Level4;
        level_name[Level1]= "Base";
        level_name[Level2]= "Number";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Shift Alt";
    };

まず、このタイプのコピーを作成したかったので、同じアイテムのすぐ下に別のタイトルにコピーして貼り付けました。

    type "FOUR_LEVEL_MIXED_KEYPAD_CUS" {
        modifiers= Shift+NumLock+LevelThree;
        map[Shift+NumLock]= Level1;
        map[NumLock]= Level2;
        map[Shift]= Level2;
        map[LevelThree]= Level3;
        map[NumLock+LevelThree]= Level3;
        map[Shift+LevelThree]= Level4;
        map[Shift+NumLock+LevelThree]= Level4;
        level_name[Level1]= "Base";
        level_name[Level2]= "Number";
        level_name[Level3]= "Alt Base";
        level_name[Level4]= "Shift Alt";
    };

パスを変更しました

    key  <KP2> {
        type= "FOUR_LEVEL_MIXED_KEYPAD",
        symbols[Group1]= [         KP_Down,            KP_2,           U2193,           U21D3 ]
    };

入力する

    key  <KP2> {
        type= "FOUR_LEVEL_MIXED_KEYPAD_CUS",
        symbols[Group1]= [         KP_Down,            KP_2,           U2193,           U21D3 ]
    };

(つまり、型名のみを変更しました。)

その後、次のようにファイルを再ロードしましたが、xkbcomp output.xkb $DISPLAYキー2は以前と同じように機能しません(他のキーは変更されません)。デフォルトでは、修正を使用しない場合は、数字を印刷する前に直下ボタンを押すのと同じです(数値ロックが有効になっています)。 )。_CUS名前から削除すると、以前と同じように動作します。

どちらのタイプが同じでなければなりませんが、どのようにこれが可能ですか?

フルファイル:http://paste.debian.net/1063043

関連情報