Linux 콘솔에서 이스케이프를 위한 대문자 잠금과 조합을 위한 메뉴를 다시 매핑합니다.

Linux 콘솔에서 이스케이프를 위한 대문자 잠금과 조합을 위한 메뉴를 다시 매핑합니다.

XI를 실행할 때 .xmodmaprc를 사용하여 특정 키를 다시 매핑합니다.

! Make it so that both Caps Lock and Escape do Escape
clear Lock
keysym Caps_Lock = Escape
! Remap the menu key as Compose
keysym Menu = Multi_key

콘솔에서 동일한 작업을 어떻게 수행할 수 있나요?

고쳐 쓰다

내 답변에 제공된 부분적인 솔루션 외에도 콘솔이 CTRL-을 .Compose에 매핑한다는 것도 배웠습니다. 그래서 어쩌면 나는 그것에 익숙해질 수 있을 것입니다. 할당되지 않은 키코드가 많고 메뉴 대체 이름에 대한 확실한 경쟁자가 없기 때문에 메뉴 키를 작성으로 설정하는 것은 쉽지 않습니다.

또한 작성 바인딩 자체가 X에서 사용했던 것보다 훨씬 더 제한적이며 정기적으로 사용했던 대부분의 특수 문자가 거기에 없다는 것도 깨달았습니다. X 구문 조합 바인딩을 loadkeys읽을 수 있는 것으로 변환할 수 있는 유틸리티가 있을까요 ?

답변1

콘솔 키맵을 편집해야 합니다. 내 콘솔에서는 Escape를 Caps Lock으로, Caps Lock을 Escape로 매핑했습니다. 작동 방식은 다음과 같습니다.

  1. 먼저, 키맵을 찾아야 합니다. 저는 표준 US 레이아웃을 사용하고 있습니다. 내 시스템에서는 에 있습니다 /usr/share/keymaps/i386/qwerty/us.map.gz.
  2. .us-nocaps.map.gz
  3. 파일의 압축을 풀고 텍스트 편집기에서 엽니다.gunzip us-nocaps.map.gz && vim us-nocaps.map
  4. 파일의 매핑을 원하는 대로 변경합니다. 예를 들어 keycode 58 = Caps_Lock저는 keycode 58 = Escape.
  5. 파일을 Gzip으로 압축하고 로드합니다. gzip us-nocaps.map && loadkeys us-nocaps.

또 다른 사항: 부팅 시 항상 새 키맵이 로드되도록 배포판을 구성해야 할 수도 있습니다. 그렇지 않으면 항상 키맵을 수동으로 로드해야 합니다 loadkeys. 이를 수행하는 방법은 사용 중인 배포판에 따라 다릅니다.

답변2

최신 데비안 배포판에서는 더 이상 이 모든 것이 필요하지 않습니다.

키보드 파일은 키보드의 속성을 설명합니다. setupcon(1)콘솔에 키보드를 구성하기 위해 읽습니다 . Debian 시스템에서 기본 키보드 레이아웃은 /etc/default/keyboardX와 콘솔에 설명되어 있으며 공유됩니다. (남성 키보드)

다음을 설정하고 실행합니다 /etc/default/keyboard.XKBOPTIONS="caps:escape"

~$ sudo setupcon

사용 가능한 모든 키보드 모델, 레이아웃, 변형 및 옵션에 대한 설명은 /usr/share/X11/xkb/rules/xorg.lst"."(man 키보드)에서 찾을 수 있습니다.

답변3

Cedric의 도움으로 나는 Ubuntu 에 예상되는 $ man loadkeys키맵( )이 설치되어 있지 않다는 것을 발견했습니다 . /usr/share/keymaps이것은 새로 설치하는 것이므로 설치 중에 선택한 키맵이 아닌 다른 키맵을 얻으려면 패키지를 설치해야 할 수도 있습니다.

대신 이 각도를 추구하고 솔루션을 더욱 강력하고 편리하게 만들기 위해 다음을 수행합니다.

    $ sudo dumpkeys | sed 's/CtrlL_Lock/Escape/' | sudo loadkeys

Caps_LockCedric의 시스템은 Caps Lock을 사용하고 내 시스템은 왜 사용하는지 약간 혼란스럽기는 하지만 CtrlL_Lock상관없이 작동합니다.

답변4

echo $"\n(sleep 5 && setxkbmap -option caps:swapescape) &" >> ~/.profile

Linux Mint Cinnamon(터미널뿐만 아니라 GUI에서도)에서 저를 위해 일했습니다.

sleep집행을 연기하기 위해 꼭 필요한 부분 입니다 setxkbmap. 그것 없이 시도해보고 작동하는지 확인할 수 있습니다.

관련 정보