단계별 솔루션

단계별 솔루션

Linux 가상 콘솔에서 스왑을 수행하는 방법을 찾고 있습니다 Esc.Caps Lock

X11에서는 를 사용하여 이 작업을 수행할 수 있지만 setxkbmap -option caps:swapescape텍스트 모드에서는 이에 상응하는 기능을 모릅니다. 그래서 내가 무엇을 할 수 있니?

답변1

먼저 "console-data"를 설치해야 합니다.

sudo apt-get install console-data

이제 "sudo showkey"를 사용하여 ESC 및 CapsLock 키의 키코드를 찾으세요.

sudo showkey

내 ESC 키 코드는 "1"이고 Caps Lock 키 코드는 "58"입니다.

이제 홈 디렉터리에 .keystrings 파일을 만들어야 합니다.

vim ~/.keystrings

이 파일에서는 Caps Lock과 ESC의 키코드를 교환합니다. Caps Lock 키가 58이므로 1로 설정했습니다.

keycode 1 = Caps_Lock
keycode 58 = Escape

이제 .keystrings 파일을 저장하고 닫고 TTY에서 다음 명령을 실행하십시오.

sudo loadkeys .keystrings 

이제 Caps Lock과 Esc 키를 바꿔야 합니다.

답변2

Debian 기반 시스템의 경우 프로세스는 매우 간단합니다. 해당 줄을 찾아 XKBOPTIONS=다음 /etc/default/keyboard으로 변경하세요.

XKBOPTIONS="caps:swapescape"

물론 루트 접근이 필요합니다. 하지만 걱정하지 마십시오. 콘솔에는 "X" 표시가 있어야 하며 Esc재부팅 Caps Lock후에는 원래 상태로 돌아갑니다.

읽고man keyboardX/콘솔에 구애받지 않는 방식으로 콘솔(tty) 및 X에서 키보드 레이아웃/매핑을 변경하시겠습니까?더 많은 정보를 알고 싶습니다.

답변3

단계별 솔루션

X11

다음 명령 세트X11키보드가 정확합니다(내 키보드 레이아웃은 다음과 같습니다).

localectl --no-convert set-x11-keymap de "" "" caps:swapescape

단말기

이것단말기키보드는 다음과 같이 구성할 수 있습니다.

  1. 올바른 키보드 레이아웃 파일을 사용자 정의 디렉터리에 복사합니다.

cp /usr/share/kbd/keymaps/i386/qwertz/de-latin1.map.gz /usr/local/share/kbd/keymaps

(사용 중인 키보드 레이아웃에 따라 이 명령을 변경해야 합니다)

  1. 복사된 파일에서 Escapeto 의 모든 발생 Caps_Lock과 to의 모든 발생 을 변경 하고 이름을 다음과 같이 바꿉니다.Caps_LockEscapede-latin1-custom.map.gz

  2. /etc/vconsole.conf다음과 같이 파일을 편집합니다 .

KEYMAP="/usr/local/share/kbd/keymaps/de-latin1-custom.map.gz"

시스템을 다시 시작한 후 키보드가 올바르게 구성되어야 합니다.X11그리고단말기.

관련 정보