현재 Antergos Linux를 실행 중입니다. 제가 원하는 설정은 아래와 같습니다.
CAPS를 눌렀다 놓으면 ESC가 전송됩니다.
CAPS 조합과 CAPS+h, CAPS+j, CAPS+k 및 CAPS+l의 조합은 각각 왼쪽, 아래쪽, 위쪽 및 오른쪽으로 전송됩니다. CAPS가 해제된 후에는 ESC가 전송되지 않습니다.
물론 여기서의 목표는 VIM 스타일이 없는 프로그램에서 일부 VIM 스타일 바인딩을 얻는 것입니다.
여기에서는 xcape가 유용한 것 같습니다.
https://github.com/alols/xcape
그러나 이러한 예는 내가 원하는 방향으로 나아가지 못했습니다.
도움을 주시면 감사하겠습니다.
편집: 여기에서 매우 유용한 답변을 발견했습니다.
https://unix.stackexchange.com/a/163675/267068
필요에 따라 CAPS+hjkl을 얻을 수 있도록 프로그램을 수정하는 방법을 알아내는 데 도움을 줄 수 있는 사람이 있습니까? 해당 답변에서처럼 Super_L 대신 Hyper_L을 사용하고 Hyper_L + hjkl을 왼쪽, 아래쪽, 위쪽, 오른쪽으로 매핑할 수 있나요?
답변1
저도 똑같은 일을 하고 싶었고, 몇 차례 검색하고 실험한 끝에 마침내 성공했습니다.
솔루션 1
아래 해결 방법 2를 참조하세요. 더 나을 수도 있습니다.
매핑 Caps_lock+ hjkl:
따르다이 답변그리고 구성을 추가하세요. 미국 키보드 레이아웃을 사용하는 경우 이
us
파일에 추가하고 관심 없는 다른 키 바인딩을 건너뛰어야 합니다. 그런 다음setxkbmap -layout us
.Caps_lock처럼 Esc:
달리기
xcape -e 'ISO_Level3_Shift=Escape'
. 이 줄을 시스템에 추가하면/etc/profile
재부팅 후 수동으로 실행할 필요가 없습니다.
솔루션 2 (아마도 더 나음)
IntelliJ에서 키 바인딩을 사용할 수 없다는 사실을 깨닫기 전까지는 솔루션 1에 만족했습니다. 이는 큰 수치였습니다. 결국 나는 IntelliJ에서 여전히 사용할 수 있으면서 xmodmap
just 를 사용하여 작업을 수행할 수 있다는 것을 알아냈습니다 !xcape
매핑 Caps_lock+ hjkl:
~/.xmodmap
예를 들어 다음 내용으로 파일을 만듭니다.keycode 66 = Mode_switch keysym h = h H Left keysym l = l L Right keysym k = k K Up keysym j = j J Down keysym u = u U Prior keysym i = i I Home keysym o = o O End keysym p = p P Next
마지막 4줄은 건너뛰셔도 됩니다. 당신에게도 도움이 될 것 같아서 붙여넣었습니다. 사실 난 정말 얻고 싶어Caps Lock 향상리눅스에서 작업하세요.
그런 다음
xmodmap ~/.xmodmap
.Caps_lock처럼 Esc:
달리기
xcape -e 'Mode_switch=Escape'
.임의로 선택할 수 있는:
키 바인딩을 수동으로 적용하지 않으려면 위의 2개 명령을
/etc/profile
.
답변2
3단계 기호를 사용하고 문자에 화살표를 지정합니다.hjkl
설치 gnome-tweaks
도구
gnome-tweaks 내에서 "추가 레이아웃 옵션"으로 이동하여 "Caps Look"을 키로 선택하여 세 번째 레벨을 선택하세요.
그런 다음 터미널을 열고 /usr/share/X11/xkb/symbols/
컴퓨터에 저장된 모든 키보드 레이아웃 으로 이동합니다.
레이아웃 백업
cp us us_old
파일을 루트로 수정
sudo nano us
배열의 세 번째 값이 키입니다.
key <AC01> {[a,A,Home]};
key <AC02> {[s,S,BackSpace]};
key <AC03> {[d,D,Delete]};
key <AC04> {[f,F,End]};
key <AC05> {[g,G]};
key <AC06> {[h,H,Left]};
key <AC07> {[j,J,Down]};
key <AC08> {[k,K,Up]};
key <AC09> {[l,L,Right]};
답변3
/etc/profile에서 제대로 작동하지 못했으므로 @matrinica의 답변을 확장하여 다음을 사용하여 (ubuntu/gnome에서) 성공할 수 있었습니다.
0단계: xclip 및 xcape 설치
sudo apt install xclip
sudo apt install xcape
1단계: ~/.xmodmap 생성
다음 텍스트를 복사합니다.
keycode 66 = Mode_switch
keysym h = h H Left
keysym l = l L Right
keysym k = k K Up
keysym j = j J Down
콘텐츠가 포함된 파일을 만듭니다.
touch ~/.xmodmap
xclip -o > ~/.xmodmap
2단계: 스크립트 만들기
다음 텍스트를 복사합니다.
xmodmap ~/.xmodmap
xcape -e 'Mode_switch=Escape'
콘텐츠가 포함된 파일을 만듭니다.
touch ~/xmodmap.sh
xclip -o > ~/xmodmap.sh
파일을 실행 가능하게 만듭니다.
chmod +x ~/xmodmap.sh
3단계: 자동 시작 항목 만들기
다음 텍스트를 복사합니다.
[Desktop Entry]
Type=Application
Exec=sh -c "$HOME/xmodmap.sh"
Hidden=false
X-GNOME-Autostart-enabled=true
Name=xmodmap
Comment=xmodmap script
콘텐츠가 포함된 파일을 만듭니다.
touch ~/.config/autostart/xmodmap.deskop
xclip -o > ~/.config/autostart/xmodmap.deskop
노트:
이 방법은 Wayland에서는 작동하지 않으므로 미래에는 적합하지 않습니다. 비슷한 결과를 얻는 Wayland 호환 방법은 다음을 참조하세요.
https://askubuntu.com/a/898462
https://wiki.archlinux.org/index.php/Keyboard_input
https://realh.co.uk/wp/linux-keymap-hacking/
Wayland와 호환되는 깔끔한 방법이 있다면 여기에 게시해 주세요.