xkb에서 Caps Lock 및 Shift+Caps Lock을 다시 매핑합니다.

xkb에서 Caps Lock 및 Shift+Caps Lock을 다시 매핑합니다.

Caps Lock이 Compose 키에 매핑되고 Shift+Caps Lock 기능이 기존 Caps Lock 역할을 하도록 xkb를 구성하려고 합니다. 다음을 라는 새 파일에 넣었습니다 /usr/share/X11/xkb/symbols/gdwatson.

partial modifier keys
xkb_symbols "compose" {
    key <CAPS> {
        type[Group1] = "TWO_LEVEL",
        symbols[Group1] = [ Multi_key, Caps_Lock ]
    };
};

그런 다음 실행하여 setxkbmap -symbols 'pc+us+gdwatson(compose)'성공적으로 완료했습니다. Caps Lock은 작성으로 작동하지만 Shift+Caps Lock은 Caps Lock이 아닌 작성으로 작동합니다. xkbcomp :0.0다음과 같은 내용이 공개되었습니다.

key <CAPS> {
    type= "TWO_LEVEL",
    symbols[Group1]= [       Multi_key,       Multi_key ]
};

어떤 이유에서인지 두 번째 수준 기호 맵은 내가 제공하려는 별도의 값 대신 첫 번째 수준 기호 맵을 복사하고 있습니다. 내가 뭘 잘못하고 있는지, 아니면 어떻게 고칠 수 있는지 말해 줄 만큼 강력한 xkb-fu를 갖고 있는 사람이 있나요?

답변1

이것은 당신이 찾고있는 것을 성취하는 것 같습니다.

partial modifier_keys
xkb_symbols "compose" {
    key <CAPS> {
        type[Group1] = "TWO_LEVEL",
        symbols[Group1] = [ Multi_key, Caps_Lock ],
        actions[Group1] = [ NoAction(), LockMods(modifiers=Lock) ]
    };
};

다음 리소스는 XKB로 작업할 때 매우 중요합니다(향후 교정을 위해 이 페이지의 WayBack Machine 미러에 연결했습니다).

관련 정보