Поменяйте местами Control и CapsLock с помощью loadkeys в текстовой консоли

Поменяйте местами Control и CapsLock с помощью loadkeys в текстовой консоли

Я хочу поменять Control с Caps Lock, но в текстовой консоли (не эмуляторе терминала на X11/Wayland). Я просмотрел страницы руководства по loadkeys и keymaps. После нескольких попыток мне это удалось, но я не до конца понимаю решение.

Я использовал loadkeys следующим образом:

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

и dumpkeys показывает:

keycode  29 = Caps_Lock       
keycode  58 = Control         

Теперь все работает как я хотел. Вопросы теперь такие:

  1. Почему в первом случае самый первый столбец был заполнен значением из моего файла карты, но остальные 256 получили какие-то значения? Почему 'CtrlL_Lock' для 58 и почему 'Control' для 29?
  2. Во втором случае было заполнено только самое первое значение, а остальные остаются пустыми.раскладка клавиатурына самом деле определяет более одного столбца?

Связанный контент