Tentei algumas respostas diferentes daqui e de outros sites, mas não consigo fazer o mapeamento do teclado do meu laptop corretamente no Debian.
Meu teclado é um layout um pouco anormal.
É qwerty e Reino Unido.
Imediatamente à direita da minha space
barra, antes Alt Gr
de , tenho a chave |
e \
. Quando pressiono esta tecla, recebo <
e >
(shift) respectivamente.
Acima da minha enter
chave, tenho ~
e #
. Atualmente, quando pressiono isso, recebo \
e |
(shift) respectivamente.
Estou acostumado a ter o sinal GBP no shift+3, mas em vez disso tenho #
. O mesmo se aplica a "estar no turno + 2, em vez de ter @
.
Aqui está o teclado:
Eu suspeito que vou precisar de um mapeamento de teclas ligeiramente manual para isso - ou pelo menos um mapeamento de teclas padrão com algumas pequenas alterações. Por onde eu começo?
Eu tentei o seguinte, com diferentes opções, sem sucesso. Eu não consigo mudar as chaves... de jeito nenhum, muito menos para as opções erradas/certas.
for i in 'console-data' 'console-setup' 'console-locales' 'keyboard-configuration'; do sudo apt-get install $i; done
for i in 'console-data' 'console-setup' 'keyboard-configuration'; do sudo dpkg-reconfigure $i; done
Informação do sistema:
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux bullseye/sid"
NAME="Debian GNU/Linux"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Eu também estou usando i3wm
.
Desde já, obrigado.
--- EDITAR
$ cat /etc/default/keyboard
# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page.
XKBMODEL="pc105"
XKBLAYOUT="gb"
XKBVARIANT=""
XKBOPTIONS="lv3:ralt_switch,compose:rctrl"
BACKSPACE="guess"
-----
$ sudo dpkg-reconfigure keyboard-configuration
Options chosen:
- Generic 105-key PC (intl.)
- English (UK)
- Default
- No compose key
- No Ctrl+Alt+Backspace
A resposta do @rastafile me enviou no caminho certo para encontrar a solução para isso.
https://medium.com/@damko/a-simple-humble-but-comprehensive-guide-to-xkb-for-linux-6f1ad5e13450
O excelente guia acima me deu a solução.
setxkbmap -layout gb
sem nenhuma entrada adicional, mapeou todas as minhas chaves corretamente - exatamente como elas aparecem no laptop.Então eu encerro o Q, minha própria resposta e a resposta aceita do dunc:
setxkbmap - set the keyboard using the X Keyboard Extension
É a solução (por uma vez) fácil. Sem ironia - o link de dunk também não é uma linha para ler.
...é a sinopse, bem organizada. Juntamente com a solução:
setxkbmap -layout gb
...você pode ver como o XKB é construído. Se o layout correto não funcionar, uma variante padrão pode ajudar ou algum outro arquivo XKB pré-compilado:
Com
udev
você, conecte seus teclados USB; com o XKB você obtém uma biblioteca de layouts e variantes para combinar e muito mais.setxkbmap
é o pingente exato paraloadkeys
o linux vc (não-X). Depois de ter um mapa de teclado, você só precisa carregá-lo. Ou melhor: você pode mudar o layout a qualquer momento, não apenas uma vez na inicialização ou no login. O XKB, como apontei na minha primeira resposta, pode transformar seu teclado físico com teclas rotuladas e scancodes em algo completamente diferente. É quase uma linguagem de programação.O kernel Linux (drivers) usa a mesma ideia de tradução, mas de forma simplificada.
Na situação do OQ, a configuração automatizada (?) não funcionou, embora
XKBLAYOUT="gb"
esteja anotada em um arquivo.Systemd tem
localectl
como "frontend" e para unir o console e o servidor x. Veja a página man!Você tem uma variável XKBVARIANT vazia, correspondendo a uma opção xorg padrão. Ambos mostram bem em seu Q.
Para teclados do Reino Unido, pode haver mais de uma variante, e isso PODE até consertar suas teclas. Depende de quão exótico é o seu laptop. A julgar por essa chave extra, temo que seja exótico.
Mas o subsistema XKB (de um servidor X, e isso inclui também wayland) também é o remédio. É uma das coisas que tornam a vida difícil em X (através da complexidade). É difícil encontrar documentos. O Systemd tem uma interface básica com ele, porque o layout do teclado tem a ver com as configurações de LANGUAGE. E quando você pensa em Quebec, Moscou ou Londres, você vê que muitos usuários em qualquer plataforma realmente precisam mudar drasticamente o layout do teclado. Um usuário de Londres pode preferir um teclado americano para scripts, mas ainda adicionar uma "libra" ou "euro" a esse layout.
O que me leva a "ajustar" o layout com
xmodmap
. Ou despejando sua configuração XKB, ajustando-a e recarregando-a. A partir da segunda vez, basta carregar o arquivo editado com um script. Eu esqueço os nomes das ferramentas XKB. Algo começando com um X ;)Você também encontrará partes de tudo isso na ajuda da sua distro.
Seu caso é simples, espero, porque você só precisa trocar algumas chaves.
E tenha em mente que neste caso (interpretação do scancode), X e linux são mundos separados.