Como mapear um layout de teclado de console para um layout de teclado X no Linux

Como mapear um layout de teclado de console para um layout de teclado X no Linux

Na minha distribuição (Slackware 13.37), o layout do teclado do console é escolhido entre alguns disponíveis nos /usr/share/kbd/keymapssubdiretórios ', vindos do pacote kbd.

Em X, o layout do teclado é escolhido em uma lista de "layout" incluída no arquivo /etc/X11/xkb/rules/evdev.lst.

Alguém sabe uma maneira de, dado algum layout de teclado do console, mapeá-lo para um layout de teclado X, a fim de configurar adequadamente a opção "XkbLayout" em um arquivo de configuração X?

Estou especialmente interessado em saber como outras distribuições além do Slackware lidam com isso na configuração inicial.

Responder1

Bem, pelo que entendi, no Debian, /etc/default/keyboardvocê define as variáveis XKB{MODEL,LAYOUT,VARIANT,OPTIONS}​​com valores que usaria para XKB.

Então, na inicialização, setupcon(1)lê essas variáveis ​​​​e chama ckbcomp(1), que, como diz sua página de manual, “compila[s] uma descrição de teclado XKB para um mapa de teclado adequado para loadkeysou kbdcontrol“.

Finalmente, loadkeys(1)é chamado no arquivo compilado.

HTH.

(Ou talvez você quis dizer o contrário. Não tenho certeza agora...)

Responder2

Não há mágica, as distribuições só precisam manter uma série de trigêmeos: "descrição do texto do layout do teclado", "opções de layout do teclado do console", "opções de layout do teclado X11" e fornecer uma ferramenta para selecionar e configurar os layouts.

Se a distribuição não fizer isso, então cabe ao usuário configurar manualmente o console e o teclado X11 e, portanto, cabe ao usuário torná-los coerentes entre si.

informação relacionada