As funções de troca de console no terminal virtual do kernel são definidas no emulador de terminal embutido do kernel ( drivers/tty/vt/keyboard.c
na árvore de código-fonte do kernel) e acionado por combinações de teclas no mapa de teclas do kernel ( drivers/tty/vt/defkeymap.map
). Seu sistema provavelmente tem esse arquivo (ou um muito similar) instalado em /usr/share/kbd/keymaps
.
Se você quiser modificar o comportamento de switching de alguma forma, isso implicará em hackear o código do kernel e compilar seu próprio kernel.
Se tudo o que você deseja fazer é alterar as combinações de teclas, você pode criar seu próprio mapa de teclas e usar o utilitário loadkeys
para instalá-lo. Comece com o seu mapa de teclado preferido e altere a definição dos símbolos Console_N
(e os Last_Console
, Decr_Console
, Incr_Console
) relacionados:
#...
keycode 59 = F1 F11 Console_13
control keycode 59 = F1
alt keycode 59 = Console_1
control alt keycode 59 = Console_1
keycode 60 = F2 F12 Console_14
control keycode 60 = F2
alt keycode 60 = Console_2
control alt keycode 60 = Console_2
#...
Observe que isso afeta apenas o emulador de terminal interno do kernel, significando que apenas o console virtual integrado é afetado. X11, Wayland e contextos semelhantes utilizam o XKB para obter uma funcionalidade semelhante. Em XKB, consulte /usr/share/X11/xkb/compat/xfree86
para as ações interpretadas, .../xkb/types/pc
para o tipo CTRL+ALT
usado e .../xkb/symbols/srvr_ctrl
para as definições de chave F.