GNU/Linux >> Znalost Linux >  >> Linux

Jak změnit mapu kláves konzole v Linuxu?

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:

  1. 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č.

  2. 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).

  3. 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
    ...
    
  4. Všimněte si řádku keymap z výpisů:

    $ dumpkeys | head -1
    keymaps 0-127
    
  5. Vytvořte soubor mapy kláves, který přepíná ESC a CAPSLOCK:

    keymaps 0-127
    keycode   1 = CtrlL_Lock
    keycode  58 = Escape
    
  6. Načtěte mapu kláves:

    $ sudo loadkeys swap_esc_capslock.kmap
    
  7. 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

Linux
  1. Jak změnit název hostitele v Linuxu

  2. Jak nastavit nebo změnit název hostitele systému v systému Linux

  3. Jak změnit port SSH v Linuxu

  1. Jak změnit uživatelské jméno v Linuxu

  2. Jak změnit název hostitele v systému Linux

  3. Jak změnit Shell v Linuxu

  1. Jak změnit název hostitele na Redhat 7 Linux

  2. Jak změnit čas na Kali Linuxu

  3. Jak změním swapovací oddíl v Linuxu?