vim과 같이 전체 운영 체제에서 문자를 다시 매핑하는 방법은 무엇입니까?

vim과 같이 전체 운영 체제에서 문자를 다시 매핑하는 방법은 무엇입니까?

vim동작 에서는 +( )(게임에서와 같지만 활성화된 상태 )를 hjkl사용합니다 . 저는 그것이 마음에 듭니다. 그것이 나쁜 생각이라고 설득하려고 하지 마세요. 그렇지 않습니다.Alt GrwasdAlt Gr

사실, 제가 아는 한, 에 매핑할 수 있는 방법은 없습니다 Alt Gr. 제가 한 것은 vim+( )를 누를 때 발생하는 유사한 그리스 문자: łæßð를 매핑하는 것뿐입니다.Alt Grwas

그래서 저는 이 화살표 교체 방법이 손가락에 매우 편안하다고 생각하고 에서뿐만 아니라 어디에서나 사용할 수 있다는 점이 정말 마음에 듭니다. vimLinux에서 키를 다시 매핑하는 방법에 대해 읽었지만(저는 Manjaro를 사용합니다) 예를 들어 하나의 키코드를 다른 키코드에만 매핑할 수 있는 반면, 제가 원하는 것은 문자(łæßð)를 화살표의 키코드에 매핑하는 것입니다.

이 작업을 수행하는 방법을 아는 사람이 있나요?

내 것에서 .vimrc:

"movement with a,d,w,s
noremap æ <left>
noremap ð <right>
noremap ß <down>
noremap ł <up>
inoremap æ <left>
inoremap ð <right>
inoremap ß <down>
inoremap ł <up>

배포판: Manjaro(커널: 5.6.12-1-MANJARO)
데스크탑 환경: KDE Plasma

답변1

짧은 답변

xmodmap -e 'keycode 38 = a A a A Left'
xmodmap -e 'keycode 40 = d D d D Right'
xmodmap -e 'keycode 25 = w W w W Up'
xmodmap -e 'keycode 39 = s S s S Down'

그래픽 환경 시작 스크립트에 다음 줄을 작성합니다.


자세한 답변

다음을 사용하여 키보드 이벤트를 다시 매핑할 수 있습니다.xmodmap주문하다. 예를 들어 Altr Gr+를 왼쪽 화살표에 다시 매핑 하려면 a 다음 명령을 사용합니다.

xmodmap -e 'keycode 38 = a A a A Left'

다음 명령을 사용하여 특정 키에 대한 키코드를 찾을 수 있습니다 xev. 키를 누르면 터미널은 키코드가 포함된 메시지를 출력합니다. 다음 명령을 사용할 수 있습니다건축 위키피디아관련 정보만 출력합니다:

xev | awk -F'[ )]+' '/^KeyPress/ { a[NR+2] } NR in a { printf "%-3s %s\n", $5, $8 }'

신호 오른쪽에 있는 5개 매개변수는 수정자에 해당합니다.

                               ---> Caps Lock + a = A
                               |
                           ------> Shift + a = A
                           |   |
xmodmap -e 'keycode 38 = a A a A Left' --> Alt. Gr + a = Left 
                         |   |
                         -----> a = a
                             |
                             ----> Ctrl. + a = a

KDE가 시작될 때 이 줄을 실행하려면 ~/.config/autostart/폴더에 데스크탑 항목을 추가하면 됩니다. 두 개의 파일이 필요합니다. 하나는 xmodmap설정이 포함되어 있고 다른 하나는 데스크탑 항목을 실행하는 데 필요합니다. 매핑 설정을 작성해 보겠습니다 ~/.config/xmodmap/xmodmaprc.

keycode 38 = a A a A Left
keycode 40 = d D d D Right
keycode 25 = w W w W Up
keycode 39 = s S s S Down

다음은 데스크탑 항목 파일의 예입니다 ~/.config/autostart/xmodmap.desktop.

[Desktop Entry]
Name[en_US]=Xmodmap
Comment[en_US]=xmodmap ~/.config/xmodmap/xmodmaprc
Exec=/usr/bin/xmodmap ~/.config/xmodmap/xmodmaprc
Icon=application-default-icon
X-KDE-Autostart-enabled=true
Type=Application

이 작업을 시도하기 위해 내 시스템에서 실행 중인 데스크톱 환경이 없지만 제대로 작동할 것입니다.


노트

  1. xmodmap방법은 그래픽 환경에서만 작동합니다. 이 매핑은 Linux 콘솔( )에서는 작동하지 않습니다 tty. 바라보다Linux 콘솔에서 키보드 다시 매핑.
  2. 레이아웃이 변경될 때마다 키보드가 재설정된다는 점을 기억하세요. 이 방법은 단일 레이아웃 구성에만 권장됩니다.
  3. 뭔가 잘못한 경우 xmodmap모든 설정 제거 를 사용할 수 있습니다 setxkbmap -option.

답변2

xmodmap 또는 xkbcomp를 사용할 수 있습니다. 인터넷에는 작동 방법에 대한 많은 예가 있습니다. 죄송합니다. 복사/붙여넣기 방법은 의미가 없다고 생각합니다.

관련 정보