![xkb에서 vim 키와 일반 대문자 잠금을 모두 설정하는 방법은 무엇입니까?](https://linux55.com/image/174504/xkb%EC%97%90%EC%84%9C%20vim%20%ED%82%A4%EC%99%80%20%EC%9D%BC%EB%B0%98%20%EB%8C%80%EB%AC%B8%EC%9E%90%20%EC%9E%A0%EA%B8%88%EC%9D%84%20%EB%AA%A8%EB%91%90%20%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
저는 현재 Caps 키를 사용하고 있으며 ISO_Level3_shift
h, 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