Caps Lock을 다시 매핑하여 왼쪽과 오른쪽을 생성합니다.

Caps Lock을 다시 매핑하여 왼쪽과 오른쪽을 생성합니다.

Caps Lock을 사용하여 왼쪽을 생성하고 Shift+Caps Lock을 사용하여 오른쪽을 생성하려고 합니다. Shift가 아닌 다른 수정자가 변경되지 않고 전달되기를 원합니다.

누르기 힘든 작은 화살표 키가 있는 새 노트북이 있습니다. 이로 인해 키보드를 사용하여 브라우저로 돌아가기가 어렵습니다. 제가 달성하려는 재매핑을 통해 Alt+Caps Lock이 Alt+Left로 변환되는데, 이는 훌륭합니다. Alt+Shift+Caps Lock으로 진행하고 싶습니다.

내가 시도한 것은 다음과 같습니다 setxkbmap.

default partial xkb_symbols "basic" {

    include "us(basic)"
    include "shift(both_capslock_cancel)"

    key <CAPS> { [ Left, Right ] };
 };

이것은 왼쪽에는 작동하지만 오른쪽에는 작동하지 않습니다. Emacs는 C-h c내가 Caps Lock+Right를 입력하면 Shift+Right를 보낸다고 보고합니다. Emacs는 잘 처리하지만 Chrome은 Shift 수정자 때문에 혼란스러워 보입니다.

이 경우 Shift 수정자를 어떻게 제거합니까? 나는 성공하지 못한 채 위의 다양한 변형을 시도했습니다.

감사해요.

답변1

나는 이것을하는 방법을 알아 냈습니다. 다음을 입력 /usr/share/X11/xkb/symbols/capslockarrow하고 실행합니다 setxkbmap capslockarrow.

default partial xkb_symbols "basic" {

    include "us(basic)"
    include "shift(both_capslock_cancel)"

    key <CAPS> {
        type[Group1] = "TWO_LEVEL",
        symbols[Group1] = [ Left, Right ],
        actions[Group1] = [ NoAction(), RedirectKey(key=<RGHT>, clearmods=Shift) ]
    };
 }

이는 또한 두 개의 Shift 키를 모두 누르는 것과 Caps Lock 키를 누르는 것과 같게 만들어 Shift 상태를 전환한다는 점에 유의하십시오.

관련 정보