Como obter efetivamente um layout US AltGr-Intl no NetBSD?

2

Depois de mudar para o layout dos EUA com wsconsctl -w encoding=us , eu estava procurando uma maneira de modificar o mapa de teclado do meu gosto.

eu fiz:

wsconsctl -w map+="keycode 1 = Cmd_Debugger Caps_Lock"
wsconsctl -w map+="keycode 58 = Escape"

para trocar caps e teclas de escape (sou usuário do Vim, então esse tipo de swap faz sentido).

Eu notei wsconsctl map set keycode 184 = Mode_switch Multi_key , que, até onde eu entendo, é a função que você obtém com AltGr em um teclado alemão, por exemplo.

Eu tentei configurar o keycode 184 para Mode_switch (normalmente é definido como Alt_R , o que não faz nada para mim), mas não consigo exatamente a funcionalidade de AltGr .

Como o NetBSD não parece vir com uma variante US AltGr-Intl, eu pensei em definir pelo menos algumas das chaves que eu preciso (que são tremas alemãs, por exemplo) eu mesmo, e "backport" a variante AltGr-Intl dessa maneira.

Então, a primeira coisa que tentei foi wsconsctl -w map+="keycode 16 = q Q adiaeresis Adiaeresis"

Quando faço isso, recebo códigos de erro estranhos no console, ao digitar AltGr + q : <00ef> se parece com um código utf-8 ou algo similar para mim. De qualquer forma, não está produzindo um 'ä', como eu esperava. Além disso, ao verificar o que está no mapa de teclado agora, depois de tê-lo alterado, é o que acontece:

# wsconsctl map | grep -i "code 16"
keycode 16 = q Q adiaeresis gr_D

" gr_D "? De onde veio isso? Por algum motivo, wsconsctl parece não gostar de Adiaeresis , embora esteja em /usr/include/dev/wscons/wsksymdef.h linha 192:

#define    KS_Adiaeresis    0xc4

Notei que isso não acontece com todos os personagens. Eu tentei mapear wsconsctl -w map+="keycode 16 = q Q at at" e isso funciona bem. Depois disso, eu posso digitar '@', pressionando AltGr + q .

Além disso, quando estou no prompt de login, posso digitar caracteres especiais pressionando AltGr , digitando äåéóöëíúáßðfø¶œï como um nome de usuário não é problema, mas depois de fazer login, parece carregar a codificação us, e eu só tenho um layout americano simples a partir de então.

Basicamente, a ideia é poder inserir caracteres especiais (latim) pressionando AltGr ou Alt direita.

O sistema operacional é o NetBSD 7.0 / amd64 em execução em uma máquina virtual em um host amd64 (Linux).

    
por polemon 11.12.2015 / 06:56

0 respostas