0단계: xclip 및 xcape 설치

0단계: xclip 및 xcape 설치

현재 Antergos Linux를 실행 중입니다. 제가 원하는 설정은 아래와 같습니다.

  1. CAPS를 눌렀다 놓으면 ESC가 전송됩니다.

  2. 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를 참조하세요. 더 나을 수도 있습니다.

  1. 매핑 Caps_lock+ hjkl:

    따르다이 답변그리고 구성을 추가하세요. 미국 키보드 레이아웃을 사용하는 경우 이 us파일에 추가하고 관심 없는 다른 키 바인딩을 건너뛰어야 합니다. 그런 다음 setxkbmap -layout us.

  2. Caps_lock처럼 Esc:

    달리기 xcape -e 'ISO_Level3_Shift=Escape'. 이 줄을 시스템에 추가하면 /etc/profile재부팅 후 수동으로 실행할 필요가 없습니다.

솔루션 2 (아마도 더 나음)

IntelliJ에서 키 바인딩을 사용할 수 없다는 사실을 깨닫기 전까지는 솔루션 1에 만족했습니다. 이는 큰 수치였습니다. 결국 나는 IntelliJ에서 여전히 사용할 수 있으면서 xmodmapjust 를 사용하여 작업을 수행할 수 있다는 것을 알아냈습니다 !xcape

  1. 매핑 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.

  2. Caps_lock처럼 Esc:

    달리기 xcape -e 'Mode_switch=Escape'.

  3. 임의로 선택할 수 있는:

    키 바인딩을 수동으로 적용하지 않으려면 위의 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와 호환되는 깔끔한 방법이 있다면 여기에 게시해 주세요.

관련 정보