나는 항상 키보드 매핑과 관련된 것들을 Linux에서 조합하는 방식을 이해하는 데 어려움을 겪었습니다.
일이 깨졌을 때 끝없이 구식 메일 링리스트와 포럼 게시물을 샅샅이 뒤져서 THAT 내 문제를 해결하는 하나의 명령 또는 입력 문제.
Vim에서 백 스페이스가 작동하지 않거나 터미널 유형을 전환 할 때까지 bash에서 Ctrl
+ 화살표와 같은 고전적인 문제가 있습니다. 또는 최근 데비안 설치에서 @
키가 실제로 "
를 인쇄하고 "
가 @
를 인쇄하는 문제 (잘못된 키보드 레이아웃?)
파일과 도구를 보는 것만으로는 큰 도움이되지 않습니다. inputrc? xmodmap? setxkbmap? 콘솔 설정? 실제로 어디서 시작합니까? 이해 어떻게 작동하므로 키보드 문제를 해결하기 위해 누군가의 모호한 명령을 시도 할 필요가 없습니다.
이것은 당연한 것보다 훨씬 더 복잡하지만 여기에 내 찌르기가 있습니다.
가장 기본적인 수준에서 커널은 키보드 장치를 인식하는 방법을 알고 있으며 console keymap 의 개념을 이해합니다. 이것은 키보드를 구성하는 가장 간단한 방법이며 고려해야 할 변수는 하나 뿐이지 만 이러한 설정은 Linux 텍스트 콘솔의 키보드 입력에만 영향을줍니다.
Xorg에 들어가면 상황이 조금 더 복잡해 지지만 실제로는 일종의 의미가 있습니다. Xorg에는 이해하는 데 매우 중요한 몇 가지 특정 개념이 있습니다.
InputClass
섹션 (Xorg 최신 버전의 경우) 또는 InputDevice
섹션 (이전 릴리스의 경우) 내에 XkbLayout을 지정해야 할 수 있습니다.Shift_L
를 생성합니다.XkbOptions
(일반적으로 /usr/share/X11/xkb/rules
에 저장되는 전체 목록)을 사용하여 레이아웃 전환 방법을 구성 할 수 있습니다. (예를 들어 Dvorak을 스스로 가르치려고하거나 영어와 러시아어 키보드 레이아웃을 번갈아 사용하려는 경우 유용합니다.).xmodmap
을 사용하면 보유중인 수정자를 기반으로 전송 될 주요 이벤트를 확인할 수 있습니다.요즘 콘솔과 X는 실제로 함께 작동 할 수 있습니다.
이것이 아직 완전히 표준화되었는지는 모르겠지만 Debian Unstable (그리고 아마도 최신 Xorg 및 콘솔 도구가있는 다른 배포판)에서는 /etc/default/keyboard
를 사용하면 X 스타일 구문을 사용하여 콘솔과 X에서 키보드를 설정할 수 있습니다. 최소한 console-tools 및 console-setup을 사용하는 경우에는 말입니다. 나머지는 설명대로입니다.
Vim에서 작동하지 않는 백 스페이스와 같은 고전적인 문제가 있습니다.
아마도 현재 에디션에서 입력 한 문자 만 백 스페이스로 삭제하고 편집 모드로 들어가기 전에 이미 존재하는 문자로 삭제하는 것을 방지하는 vim의 동작에 대해 이야기하고있을 것입니다.
해당 동작은 다음을 설정하여 변경됩니다.
set backspace=indent,eol,start