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

관련 정보