Troque Control e CapsLock com uso de loadkeys no console de texto

Troque Control e CapsLock com uso de loadkeys no console de texto

Desejo trocar o controle por Caps Lock, mas no console de texto (não no emulador de terminal no X11/Wayland). Examinei as páginas de manual de loadkeys e keymaps. Depois de algumas tentativas consegui, mas não entendi completamente a solução.

Usei loadkeys da seguinte maneira:

sudo loadkeys <filename>

onde estava o conteúdo:

keycode 58 = Control
keycode 29 = Caps_Lock

então verifiquei o resultado com dumpkeys que mostra:

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         

Não era o que eu esperava e fez com que o teclado ficasse inutilizável depois que CapsLock foi pressionado.

Então eu adicioneimapa de tecladoconforme sugerido pelo manual de mapas de teclado. Então o arquivo do mapa ficou assim:

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

e dumpkeys mostram:

keycode  29 = Caps_Lock       
keycode  58 = Control         

Agora funciona como eu queria. As perguntas agora são:

  1. Por que, no primeiro caso, a primeira coluna foi preenchida com o valor do meu arquivo de mapa, mas o restante de 256 obteve alguns valores? Por que 'CtrlL_Lock' para 58 e por que 'Control' para 29?
  2. No segundo caso, apenas o primeiro valor foi preenchido e o restante fica em branco quandomapa de tecladona verdade define mais de uma coluna?

informação relacionada