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로 매핑했습니다. 작동 방식은 다음과 같습니다.
- 먼저, 키맵을 찾아야 합니다. 저는 표준 US 레이아웃을 사용하고 있습니다. 내 시스템에서는 에 있습니다
/usr/share/keymaps/i386/qwerty/us.map.gz
. - .
us-nocaps.map.gz
- 파일의 압축을 풀고 텍스트 편집기에서 엽니다.
gunzip us-nocaps.map.gz && vim us-nocaps.map
- 파일의 매핑을 원하는 대로 변경합니다. 예를 들어
keycode 58 = Caps_Lock
저는keycode 58 = Escape
. - 파일을 Gzip으로 압축하고 로드합니다.
gzip us-nocaps.map && loadkeys us-nocaps
.
또 다른 사항: 부팅 시 항상 새 키맵이 로드되도록 배포판을 구성해야 할 수도 있습니다. 그렇지 않으면 항상 키맵을 수동으로 로드해야 합니다 loadkeys
. 이를 수행하는 방법은 사용 중인 배포판에 따라 다릅니다.
답변2
최신 데비안 배포판에서는 더 이상 이 모든 것이 필요하지 않습니다.
키보드 파일은 키보드의 속성을 설명합니다.
setupcon(1)
콘솔에 키보드를 구성하기 위해 읽습니다 . Debian 시스템에서 기본 키보드 레이아웃은/etc/default/keyboard
X와 콘솔에 설명되어 있으며 공유됩니다. (남성 키보드)
다음을 설정하고 실행합니다 /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_Lock
Cedric의 시스템은 Caps Lock을 사용하고 내 시스템은 왜 사용하는지 약간 혼란스럽기는 하지만 CtrlL_Lock
상관없이 작동합니다.
답변4
echo $"\n(sleep 5 && setxkbmap -option caps:swapescape) &" >> ~/.profile
Linux Mint Cinnamon(터미널뿐만 아니라 GUI에서도)에서 저를 위해 일했습니다.
sleep
집행을 연기하기 위해 꼭 필요한 부분 입니다 setxkbmap
. 그것 없이 시도해보고 작동하는지 확인할 수 있습니다.