Onde estão os mapas principais do Debian? (Usando loadkeys para alterar o mapa de teclas.)

12

No console atual (por exemplo Ctrl- Alt- F3), eu gostaria de usar sudo loadkeys dvorak como no ubuntu . Enquanto isso funciona automaticamente no Ubuntu, o Debian quer que eu localize um arquivo de mapa de teclas. Não tenho o /usr/share/keymapsque às vezes é dado como resposta. find / -type f -name '*dvorak*'exibe alguns arquivos que loadkeysnão serão necessários. Como no presente outra resposta que eu não quero fazer uma mudança permanente para o meu sistema usando console-config. Eu quero escrever scripts simples que possam alterar o mapa de teclas rapidamente.

Existe um pacote que eu possa instalar ou algo assim?

Já que eu gostaria de trocar Caps-Lock e Escape eventualmente, provavelmente eu deveria criar meus próprios mapas de teclas personalizados , certo?

John Baber-Lucero
fonte

Respostas:

15

1) Verifique se o console-datapacote está instalado:

# loadkeys dvorak
Loading /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz

$ dpkg --search /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz
console-data: /usr/share/keymaps/i386/dvorak/dvorak.kmap.gz

$ cat /etc/debian_version 
wheezy/sid

2) IMHO, sim dumpkeys > test.keymap && edit test.keymap && loadkeys testé o mais fácil.

barti_ddu
fonte
1

Este é um script do meu gabinete de veneno pessoal que eu uso para tornar permanentemente o CAPSLOCK uma CTRL adicional no debian. Deve fornecer dicas suficientes para que você possa adaptá-lo ainda mais.

Supõe-se que o layout kbd 'us' seja usado até agora, o novo layout do teclado será chamado 'sjas' aqui.

Oneliner:

apt install console-data -y; TMP=$(loadkeys us | awk {'print $2'}); TMP2=$(dirname $TMP)/sjas.kmap.gz; cp -vaf $TMP $TMP2; gzip -d $TMP2; TMP3=${TMP2%%.gz}; sed -i -e 's/us.map/sjas.map/' -e 's/.*58.*/keycode  58 = Control/' $TMP3; gzip -c $TMP3 > $TMP2; rm $TMP3; sed -i 's/"us"/"sjas"/g' /etc/default/keyboard

Não em uma linha, para que possa ser lido mais facilmente:

apt install console-data -y
TMP=$(loadkeys us | awk {'print $2'})
TMP2=$(dirname $TMP)/sjas.kmap.gz
cp -vaf $TMP $TMP2
gzip -d $TMP2
TMP3=${TMP2%%.gz}
sed -i -e 's/us.map/sjas.map/' -e 's/.*58.*/keycode  58 = Control/' $TMP3
gzip -c $TMP3 > $TMP2
rm $TMP3
sed -i 's/"us"/"sjas"/g' /etc/default/keyboard

Substitua as ocorrências de seqüência de caracteres 'sjas' e 'us' de acordo com o local em que o layout atual difere e como você deseja chamar o novo.

sjas
fonte