Dove sono le keymap in Debian? (Utilizzo di loadkey per modificare la mappa dei tasti.)


12

Dalla console attuale (es. Ctrl- Alt- F3), mi piacerebbe usare sudo loadkeys dvorak come in Ubuntu . Mentre ciò funziona automagicamente in Ubuntu, Debian vuole che io localizzi un file keymap. Non ho quello /usr/share/keymapsche a volte viene dato come risposta. find / -type f -name '*dvorak*'mostra alcuni file che loadkeysnon richiedono. Come in questo altro risposta io non voglio fare un cambiamento permanente al mio sistema utilizzando console-config. Voglio scrivere semplici script che possano cambiare al volo la keymap.

C'è un pacchetto che posso installare o qualcosa del genere?

Dato che alla fine vorrei scambiare Caps-Lock ed Escape, dovrei probabilmente rendere le mie mappe personalizzate personalizzate , comunque corrette?

Risposte:


15

1) Assicurarsi che il console-datapacchetto sia installato:

# 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, sì, dumpkeys > test.keymap && edit test.keymap && loadkeys testè il più semplice.


1

Questa è una sceneggiatura del mio gabinetto di veleno personale che uso per rendere permanentemente CAPSLOCK un CTRL aggiuntivo su debian. Dovrebbe fornire abbastanza suggerimenti in modo da poterlo adattare ulteriormente da solo.

Si presume che il layout kbd 'us' sia usato fino ad ora, il nuovo layout della tastiera verrà chiamato 'sjas' qui.

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

Non in una riga, quindi può essere letto più 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

Sostituisci le occorrenze di stringhe 'sjas' e 'us' di conseguenza con dove differisce il tuo layout attuale e come vuoi chiamarne uno nuovo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.