CapsLock+hjkl을 화살표 키에 바인딩

CapsLock+hjkl을 화살표 키에 바인딩

Caps Lock+ H /  J /  K /를 L화살표 키에 바인딩 하고 싶습니다 . 두 가지 방법 모두 몇 가지 문제가 있음을 발견했습니다.

솔루션 1

사용 xkb: /usr/share/X11/xkb/symbols/us첫 번째 블록을 편집합니다.

            # replace Caps with AltGr
            key <CAPS> { [ ISO_Level3_Shift            ] };
            # Add vim cursor keys to be accessed with AltGr
            key <AB02> { [ x, X, Delete, Delete        ] };
            key <AC02> { [ s, S, KP_Enter, KP_Enter    ] };
            key <AC03> { [ d, D, Next, Next            ] };
            key <AC04> { [ f, F, BackSpace, BackSpace  ] };
            key <AC06> { [ h, H , Left, Left           ] };
            key <AC07> { [ j, J, Down, Down            ] };
            key <AC08> { [ k, K, Up, Up                ] };
            key <AC09> { [ l, L, Right, Right          ] };
            key <AD07> { [ u, U, Prior, Prior          ] };
            key <AE03> { [ 3, section, Home, Home      ] };
            key <AE04> { [ 4, dollar, End, End         ] };

하지만 이 답변은 Java 프로그램(예: IntelliJ)에서는 작동하지 않으므로 해결 방법 2를 사용해야 합니다.

솔루션 2

사용법 xmodmap: 다음 ~/.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

xmodmap ~/.xmodmap그런 다음 명령을 실행하십시오 .

질문:이 솔루션은 다른 레이아웃을 깨뜨립니다. 영어에서는  작동  하지만 다른 레이아웃(예: 러시아어)으로 전환하면 해당 키에 문자를 입력할 수 없으며 다시 영어로 전환할 때까지 Caps+ H ///   도  작동하지 않습니다. 이 문제를 어떻게 해결할 수 있나요?JKL

답변1

Linux에서는 적극 권장합니다.열쇠.
이것예시 구성 원하는 것보다 더 많은 것을 얻을 수 있습니다(그러나 필요한 경우 수동으로 다듬을 수 있습니다).

# Goal:
#
# To create a vi like navigation layer accessible by pressing H J K L while having capslock pressed
# otherwise behave like the control key (when held) and escape when tapped.
#
# In essence we want:
#
#  - capslock+h = left
#  - capslock+j = down
#  - capslock+k = up
#  - capslock+l = right
#
#  - capslock+shift+h = C-left
#  - capslock+shift+l = C-right
#  - capslock+shift+j = C-down
#  - capslock+shift+k = C-up
#
#  - capslock = escape (when tapped)
#
# In all other instances capslock should behave as normal control:
#
#  - capslock+a = C-a
#  - capslock+b = C-b
#  - capslock+c = C-c
#  ...
#  - capslock+shift+i = C-S-i
#  - capslock+shift+k = C-S-k
#  ....

모나드대안이 될 것이다

답변2

여기에서 예를 참조하세요.https://wiki.archlinux.org/index.php/X_keyboard_extension#Caps_hjkl_as_vimlike_arrow_keys

모든 응용 프로그램에서 완벽하게 작동해야 합니다.

이 답변에 대해 자세히 설명하고 나중에 더 완전한 예를 제출하겠습니다.

관련 정보