Difference between revisions of "KEYMAP"

From ArchWiki
Jump to navigation Jump to search
(Made section more general, i.e. more useful.)
m (Configuring the Console Keymap)
Line 144: Line 144:
<li>{{ic|gzip}} the map file</li>
<li>{{ic|gzip}} the map file</li>
<li>Change the default keyboard layout file that will be used by editing {{ic|/etc/rc.conf}} and changing the line that says {{ic|KEYMAP<nowiki>=</nowiki>us}} to {{ic|KEYMAP<nowiki>=</nowiki>personal}}</li>
<li>Change the default keyboard layout file that will be used by editing {{ic|/etc/rc.conf}} and changing the line that says {{ic|KEYMAP<nowiki>=</nowiki>us}} to {{ic|KEYMAP<nowiki>=</nowiki>personal}}</li>
<li>Reboot to use your capslock key the way nature intended</li>
<li>Reboot to use your keymap the way nature intended</li>

Revision as of 15:33, 3 May 2012

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

The KEYMAP variable is specified in the /etc/rc.conf file. It defines what keymap the keyboard is in the virtual consoles. Keytable files are provided by the kbd package.

Keyboard layouts

This is the list of known keymap settings to work for the corresponding keyboard layouts. Usually the "map.gz" extension can be ignored. Most keymaps can be found in the /usr/share/kbd/keymaps/i386/layout (layout=qwerty, azerty, dvorak, etc.) directory.

Less common but nonetheless useful keymaps for Arch Linux are found in the /usr/share/kbd/keymaps/architecture (architecture=mac, sun, etc.) directory.

Note: In an X session, you can use setxkbmap to instantly apply keyboard layout: setxkbmap -layout dvorak
Note: If these keymaps do not work for you, try removing the .map.gz from the keymap name. If that does not work, make sure the keymap file exists in /usr/share/kbd/keymaps/ using find: find /usr/share/kbd/keymaps/ -name "*[your desired keymap]*"
Keymap setting Keyboard
KEYMAP="be-latin1.map.gz" Belgian
KEYMAP="br-abnt2.map.gz" Brazilian Portuguese
KEYMAP="cf.map.gz" Canadian-French
KEYMAP="ca_multi.map.gz" Canadian Multilingual (currently only available in the AUR)
KEYMAP="colemak" Colemak (US)
KEYMAP="croat.map.gz" Croatian
KEYMAP="cz-lat2.map.gz" Czech
KEYMAP="dvorak" Dvorak
KEYMAP="fr-latin9.map.gz" French
KEYMAP="de-latin1.map.gz" German
KEYMAP="de-latin1-nodeadkeys.map.gz" German (no dead keys)
KEYMAP="lt.baltic.map.gz" Lithuanian (qwerty)
KEYMAP="no-latin1.map.gz" Norwegian
KEYMAP="lat2-16.psfu.gz" Polish
KEYMAP="pt-latin9.map.gz" Portuguese
KEYMAP="ro_win.map.gz" Romanian
KEYMAP="ru4.map.gz" Russian
KEYMAP="slovene" Slovene
KEYMAP="sv-latin1.map.gz" Swedish
KEYMAP="fr_CH-latin1.map.gz" Swiss-French
KEYMAP="sg-latin1.map.gz" Swiss-German
KEYMAP="de_CH-latin1.map.gz" Swiss-German
KEYMAP="es.map.gz" Spanish
KEYMAP="la-latin1.map.gz" Spanish Latinoamerican
KEYMAP="tr_q-latin5.map.gz" Turkish
KEYMAP="ua.map.gz" Ukrainian
KEYMAP="uk" United Kingdom

Configuring the Console Keymap

  1. cd to /usr/share/kbd/keymaps/i386/qwerty
  2. Copy your default keymap (us.map.gz) to a new file personal.map.gz
  3. gunzip the new map file
  4. Edit personal.map using your favorite editor. Examples:
    • Make the Right Alt key same as Left Alt key (Emacs)
      change the line include "linux-with-alt-and-altgr" to include "linux-with-two-alt-keys"
    • Swap CapsLock with Escape (Vim)
      make keycode 1 = Caps_Lock and keycode 58 = Escape
    • Make CapsLock another Control key
      change the line keycode 58 = Caps_Lock to keycode 58 = Control
  5. gzip the map file
  6. Change the default keyboard layout file that will be used by editing /etc/rc.conf and changing the line that says KEYMAP=us to KEYMAP=personal
  7. Reboot to use your keymap the way nature intended