텍스트 콘솔에서 로드 키를 사용하여 Control 및 CapsLock 교체

텍스트 콘솔에서 로드 키를 사용하여 Control 및 CapsLock 교체

컨트롤을 Caps Lock으로 바꾸고 싶지만 텍스트 콘솔(X11/Wayland의 터미널 에뮬레이터가 아님)에서 바꾸고 싶습니다. 키와 키맵을 로드하기 위해 매뉴얼 페이지를 살펴보았습니다. 몇 번 시도한 후에 해냈지만 해결책을 완전히 이해하지 못했습니다.

다음과 같이 로드 키를 사용하고 있습니다.

sudo loadkeys <filename>

내용은 다음과 같습니다:

keycode 58 = Control
keycode 29 = Caps_Lock

그런 다음 dumpkeys를 사용하여 결과를 확인했는데 다음과 같습니다.

keycode  58 = Control          CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock       CtrlL_Lock      
keycode  29 = Caps_Lock        Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control          Control         

이는 내가 예상한 것과는 다르므로 CapsLock을 누른 후 키보드를 사용할 수 없게 됩니다.

그런 다음 추가했습니다.키맵키맵 매뉴얼에 나와 있는 대로입니다. 그러면 지도 파일은 다음과 같습니다.

keymaps 0-6,8-9,12
keycode 58 = Control
keycode 29 = Caps_Lock

덤프키는 다음을 보여줍니다:

keycode  29 = Caps_Lock       
keycode  58 = Control         

이제 내가 원하는 방식으로 작동합니다. 이제 질문은 다음과 같습니다.

  1. 첫 번째 경우, 첫 번째 열은 내 지도 파일의 값으로 채워지지만 나머지 256개 열은 일부 값을 가져오는 이유는 무엇입니까? 58은 왜 "CtrlL_Lock"이고 29는 "Control"인가요?
  2. 두 번째 경우에는 첫 번째 값만 채워지고 나머지는 비어 있습니다.키맵실제로 여러 열이 정의되어 있습니까?

관련 정보