XKB:创建新类型失败

XKB:创建新类型失败

我以为我理解了 XKB,但显然不是......所以首先我有一个问题使我无法调试 XKB:我在一个文件(使用 获取xkbcomp $DISPLAY output.xkb)中有这样的部分:

    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 不能像以前一样工作(其他键不变),基本上当我使用 no modded 时,就像我直接按向下按钮,而在它打印数字之前(数字锁定已启用)。如果我删除_CUS名称中的 ,那么它会像以前一样工作。

这怎么可能,因为这两种类型应该是相同的?

完整文件:http://paste.debian.net/1063043

相关内容