Sim, existe uma maneira, e é de fato como o pacote de configuração do console do Debian faz isso.
- Os layouts de teclado são especificados em termos de XKB (modelo, layout, variante e opções) pelo administrador em um arquivo denominado
keyboard
, geralmente/etc/default/keyboard
. Esta é a única fonte. Pode ser editado com um editor de texto. - O programa
setxkbmap
recebe essas mesmas configurações de XKB e configura um servidor X11 de acordo.- O script do mantenedor de pós-instalação do pacote de configuração do teclado é executado
setxkbmap
diretamente, com as configurações de/etc/default/keyboard
, se ele se encontrar em uma exibição X11. Assim,dpkg-reconfigure keyboard-configuration
executado a partir de um emulador de terminal X11 GUI afetará o layout do teclado X11.
- O script do mantenedor de pós-instalação do pacote de configuração do teclado é executado
- O script
setupcon
aceita essas configurações de XKB, passa-as pelo utilitáriockbcomp
para gerar um mapa de teclado e carrega esse mapa de teclado nos terminais virtuais do kernel comloadkeys
/kbdcontrol
.- Este script é executado na inicialização do sistema por um serviço.
- Também pode ser executado manualmente em outras situações.
Outros sistemas operacionais systemd funcionam de maneira diferente, mas também possuem uma única fonte.
- O layout, a variante e as opções do XKB são armazenados em
/etc/X11/xorg.conf.d/00-keyboard.conf
. Esta é a única fonte.- Esse arquivo é lido diretamente pelo servidor X11 na inicialização e define o mapa do teclado X11 diretamente.
- Este arquivo é analisado por
systemd-localed
na inicialização. O arquivo não pode ser editado com um editor de texto enquantosystemd-localed
estiver sendo executado, porque o serviço irá substituí-lo alegremente por informações próprias na memória. - Para alterar as informações do XKB, uma pessoa executa
localectl
, que fala com outro servidor que, por sua vez, fala comsystemd-localed
.
-
systemd-localed
converte as configurações do XKB em um nome de mapa de teclado do terminal virtual usando os mapeamentos em/usr/share/systemd/kbd-model-map
, que são gravados em/etc/vconsole.conf
. Ao contrário do sistema Debian, ele não gera mapas instantaneamente a partir das informações do XKB, mas seleciona apenas mapas estáticos pré-fornecidos listados no arquivo de mapa. -
systemd-vconsole-setup
é executado no bootstrap, lê/etc/vconsole.conf
e carrega o mapa do teclado nos terminais virtuais do kernel executandoloadkeys
.
Leitura adicional
-
keyboard
. console-setup Manual do usuário . Debian. -
ckbcomp
. console-setup Manual do usuário . Debian. - Andrew T. Young (2011). Configuração do teclado .
- Onde o Xkb está obtendo sua configuração?
- link