Wo sind die Keymaps in Debian? (Verwenden von loadkeys zum Ändern der Keymap.)

18719
John Baber-Lucero

Von der eigentlichen Konsole (zB Ctrl- Alt- F3) würde ich gerne sudo loadkeys dvorak in Ubuntu verwenden . Während dies automatisch in Ubuntu funktioniert, möchte Debian, dass ich eine Keymap-Datei finde. Ich habe nicht das /usr/share/keymaps, was manchmal als Antwort gegeben wird. find / -type f -name '*dvorak*'zeigt einige Dateien an, die loadkeysnicht benötigt werden. Wie in dieser anderen Antwort möchte ich keine dauerhafte Änderung an meinem System vornehmen console-config. Ich möchte einfache Skripte schreiben, die die Keymap im laufenden Betrieb ändern können.

Gibt es ein Paket, das ich installieren kann oder was?

Da ich Caps-Lock und Escape irgendwann austauschen möchte, sollte ich wahrscheinlich meine eigenen benutzerdefinierten Keymaps erstellen, richtig?

10

2 Antworten auf die Frage

14
barti_ddu

1) Stellen Sie sicher, dass das console-dataPaket installiert ist:

# 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 ist ja dumpkeys > test.keymap && edit test.keymap && loadkeys testdas einfachste.

1
sjas

Dies ist ein Skript aus meinem persönlichen Giftschrank, mit dem ich CAPSLOCK dauerhaft zu einer zusätzlichen CTRL unter debian mache. Es sollte genügend Hinweise geben, damit Sie es selbst weiter anpassen können.

Es wird davon ausgegangen, dass das "us" kbd-Layout bisher verwendet wird. Das neue Tastaturlayout wird hier als "sjas" bezeichnet.

Einzeiler:

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=$; 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 

Nicht in einer Zeile, daher kann es einfacher gelesen werden:

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=$ 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 

Ersetzen Sie die Vorkommen der Zeichenfolgen 'sjas' und 'us' entsprechend, wobei sich Ihr aktuelles Layout unterscheidet und wie Sie Ihr neues Layout aufrufen möchten.