Де клавіатури в Debian? (Використання ключів для зміни клавішної карти.)


12

З фактичної консолі (наприклад, Ctrl- Alt- F3) я хотів би використовувати sudo loadkeys dvorak як в ubuntu . Хоча це автоматично працює в Ubuntu, Debian хоче, щоб я знайшов файл ключової карти. У мене немає того, /usr/share/keymapsщо іноді дається як відповідь. find / -type f -name '*dvorak*'з'являється кілька файлів, які loadkeysне приймуть. Як і в цій іншій відповіді, я не хочу вносити постійні зміни в свою систему за допомогою console-config. Я хочу написати прості сценарії, які можуть змінювати карту клавіатур на ходу.

Чи є пакет, який я можу встановити, чи щось?

Оскільки я хотів би врешті-решт змінити Caps-Lock та Escape, я, мабуть, повинен скласти власні власні ключові карти , все-таки правильно?

Відповіді:


15

1) Переконайтеся, що console-dataпакет встановлений:

# 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) ІМХО, так dumpkeys > test.keymap && edit test.keymap && loadkeys test, найпростіше.


1

Це сценарій з мого особистого кабінету з отрутами, який я використовую, щоб назавжди зробити CAPSLOCK додатковою CTRL на debian. Він повинен містити достатньо підказок, щоб ви могли самостійно його адаптувати.

Передбачається, що до цього часу використовується макет kbd 'us', тут буде називатися нова розкладка клавіатури '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

Не в одному рядку, тому його можна прочитати простіше:

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

Замініть події рядків 'sjas' та 'us' відповідно, де відрізняється ваш поточний макет і як ви хочете зателефонувати за новим.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.