Gdzie są mapy klawiszy w Debianie? (Używanie klawiszy ładowania do zmiany mapy klawiszy).

12

Z rzeczywistej konsoli (np. Ctrl- Alt- F3) chciałbym używać sudo loadkeys dvorak jak w Ubuntu . Chociaż działa to automatycznie w Ubuntu, Debian chce, żebym zlokalizował plik mapy klawiszy. Nie mam tego, /usr/share/keymapsco czasami podaje się jako odpowiedź. find / -type f -name '*dvorak*'wyświetla kilka plików, których loadkeysnie można pobrać. Jak w tej drugiej odpowiedzi ja nie chce dokonać trwałych zmian do mojego systemu użyciu console-config. Chcę pisać proste skrypty, które mogą zmieniać mapę klawiszy w locie.

Czy jest jakiś pakiet, który mogę zainstalować?

Ponieważ w końcu chciałbym zamienić Caps-Lock i Escape, prawdopodobnie powinienem stworzyć własne niestandardowe mapy klawiszy , prawda?

John Baber-Lucero
źródło

Odpowiedzi:

15

1) Upewnij się, że console-datapakiet jest zainstalowany:

# 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, tak dumpkeys > test.keymap && edit test.keymap && loadkeys testjest najłatwiejszy.

barti_ddu
źródło
1

To jest skrypt z mojej osobistej szafki z trucizną, której używam, aby trwale uczynić CAPSLOCK dodatkowym CTRL na Debianie. Powinien zawierać wystarczającą liczbę wskazówek, abyś mógł go dalej dostosować.

Zakłada się, że do tej pory używany był układ „us” kbd, nowy układ klawiatury będzie tutaj nazywany „sjas”.

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

Nie w jednym wierszu, dzięki czemu można go łatwiej odczytać:

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

Zamień wystąpienia ciągów „sjas” i „us” odpowiednio na to, gdzie twój obecny układ różni się i jak chcesz nazwać nowy.

sjas
źródło