Nástroje pro manipulaci s rozložením klávesnice na virtuálních konzolích jsou loadkeys
, dumpkeys
a showkey
. Přečtěte si jejich manuálové stránky a informujte se o jejich složitosti.
Všimněte si, že tyto nástroje fungují pouze ve virtuální konzoli, nikoli v emulátoru terminálu v grafickém prostředí, jako je gnome. Informace o rozdílu si přečtěte tuto otázku a odpovědi:https://askubuntu.com/questions/14284/why-is-a-virtual-terminal-virtual-and-what-why-where-is-the-real-terminal .
Zde je krátký průvodce, jak udělat, co chcete:
-
Uložte aktuální rozložení klávesnice:
$ dumpkeys > backup.kmap
V případě, že se něco pokazí, můžete svou mapu kláves obnovit pomocí příkazu:
$ sudo loadkeys backup.kmap
Pokud je klávesnice tak zmatená, že to ani nemůžete udělat, pak jedinou možností, která nezahrnuje starou magii jádra, je restartovat počítač.
-
Zkontrolujte, které kódy jsou přiřazeny vašim klíčům:
$ showkey
Nyní stiskněte klávesu ESC a klávesu CAPSLOCK. Kódy kláves by se měly objevit na obrazovce. Poznamenejte si kódy klíčů. V mém systému má ESC kód klíče 1 a CAPSLOCK má kód klíče 58.
showkey
skončí po 10 sekundách nečinnosti (alespoň na mém ubuntu 10.04). -
Poznamenejte si názvy kláves ESC a CAPSLOCK z výpisů:
$ dumpkeys | grep 1 ... keycode 1 = Escape ... $ dumpkeys | grep 58 ... keycode 58 = CtrlL_Lock ...
-
Všimněte si řádku keymap z výpisů:
$ dumpkeys | head -1 keymaps 0-127
-
Vytvořte soubor mapy kláves, který přepíná ESC a CAPSLOCK:
keymaps 0-127 keycode 1 = CtrlL_Lock keycode 58 = Escape
-
Načtěte mapu kláves:
$ sudo loadkeys swap_esc_capslock.kmap
-
Test:Testování klávesy CAPSLOCK je zřejmé. Stačí stisknout klávesu CAPSLOCK a zkontrolovat, zda ostatní klávesy nevycházejí s velkými písmeny. K otestování klávesy ESC můžete použít CTRL+V a následně ESC. Mělo by vypsat
^[
. CTRL+V způsobí, že shell vypíše další klíč doslovně, místo aby jej interpretoval.
Aby se tato úprava načetla při každém restartu, vložte do /etc/rc.local
následující řádek soubor:
/usr/bin/loadkeys /path/to/swap_esc_capslock.kmap
Informace shromážděné z různých stránek, včetně, ale nejen:
- http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO-15.html
- http://www.mail-archive.com/[email protected]/msg01407.html
- http://ubuntuforums.org/showthread.php?p=4591324#post4591324
Použijte 'ctrl:nocaps' místo 'ctrl:swapcaps', pokud chcete mít pouze dva capslocky (capslock pod jiným názvem je stále super k ničemu).
X11:(viz také:/usr/share/X11/xkb/rules/base.lst
)
sudo vim /etc/default/keyboard
XKBOPTIONS="ctrl:swapcaps"
udevadm trigger --subsystem-match=input --action=change
sudo restart lightdm
Textová konzole:(ukradeno z setupconu)
#!/bin/sh
. /etc/default/console-setup
. /etc/default/keyboard
ckbcomp $acm_option $rules_option -model "$XKBMODEL" \
"$XKBLAYOUT" "$XKBVARIANT" "$XKBOPTIONS" \
| gzip -9 2>/dev/null >/etc/console-setup/cached.kmap.gz
loadkeys /etc/console-setup/cached.kmap.gz