xkb에서 vim 키와 일반 대문자 잠금을 모두 설정하는 방법은 무엇입니까?

xkb에서 vim 키와 일반 대문자 잠금을 모두 설정하는 방법은 무엇입니까?

저는 현재 Caps 키를 사용하고 있으며 ISO_Level3_shifth, j, k, l, $ 및 0을 vim 키에 매핑하고 있습니다. 작동하고 모든 것이 정상입니다. 그런데 저는 SQL을 사용하는데, SQL 코드를 모두 대문자로 쓰고 싶어서 Shift 키를 누른 채 한 글자씩 입력하기가 어렵습니다. 그래서 제가 원하는 것은 이 vim 키를 그대로 사용하면서도 일부 SQL 프로그래밍을 수행하는 동안 Caps Lock을 전환할 수 있는 것입니다. 잠시 누르고 있거나 Shift+Caps를 눌러 다시 전환할 수 있습니다.

나는 두 번째 레이아웃을 사용하고 있기 때문에 xmodmap이 작동하지 않고 xmodmap을 사용하면 작동하지 않기 때문에 내가 하고 있는 일을 달성하기 위해 XKB를 사용하고 있습니다.

내 파일은 다음과 같습니다 /usr/share/X11/xkb/symbols/us. 또는 적어도 현재 설정이 있는 파일의 일부는 다음과 같습니다.

    key <AC06> {    [     h,    H,  Left        ]   };
    key <AC07> {    [     j,    J,  Down        ]   };
    key <AC08> {    [     k,    K,  Up      ]   };
    key <AC09> {    [     l,    L,  Right       ]   };
    key <AE10> {    [     0,    parenright, Home    ]   };
    key <AE04> {    [     4,    dollar, End     ]   };
    key <CAPS> {    [  ISO_Level3_Shift             ]       };

이 부분은 다음 위치에 있습니다.

default  partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {}

막힌

도움을 주셔서 미리 감사드립니다.

답변1

이를 달성하려면 다음 명령 중 하나를 사용할 수 있습니다.

esc를 대문자로 바꿉니다.setxkbmap -option caps:swapescape

Shift + Caps는 Caps Lock을 켭니다.setxkbmap -option caps:escape_shifted_capslock

시작할 때 이 중 하나를 실행하면 컴퓨터에 추가할 수 있습니다.~/.xprofile

원천: man xkeyboard-config&man setxkbmap

관련 정보