A virtuális terminál belakása (keymap)

Rezümé: Billentyűzetkiosztás módosítása Arch Linux alatt, ahol kbd van.
Célcsoport: Aki nem elégedett a virtuális termináljénak a billentyűzetkiosztásával, és nincs ötlete, mihez kezdjen.

Előző bejegyzésemben az volt a sirámom, hogy nincs a netbookomon PgUp, PgDown, meg hasonlók. Akkor az X alá xmodmappel behegesztettem, de a virtuális terminálokon ez nem segít. Márpedig a szűkös akksi miatt a grafikus környezet néha luxus, de legalábbis nem hiányozna túlzottan.
Az alábbi műveletet Arch Linuxon hajtottam végre, amely kbd-t használ a konzolon a billentyűzetkiosztás beállítására. A bejegyzés írásakor kerestem a hivatkozott fájlokat Ubuntu alatt, de nem találtam, például azért, mert az nem kbd-t használ alapértelmezetten. Ennek ellenére remélem, hogy van, akinek hasznos, amiket most leírok. Ha meg nem, akkor ez note to self.

A virtuális terminálon, nos, azon nem fut X, és gondolom ezzel a kijelentéssel mindenkit megleptem. Következésképpen az xmodmap nem játszik. Cserébe beállíthatunk magunknak keymap fájlokat:

# loadkeys /usr/share/kbd/keymaps/i386/qwertz/hu.map.gz

(ez a rendszer indulásakor magától is lefut, nekünk csak akkor kell beírni, ha menet közben váltunk keymapet, vagy a meglévőt szerkesztjük).
Az adott konfigurációhoz a következő változásokat eszközöltem:


12a13
> include "compose.sajat" #own compose definitions
66c67
< 		keycode  18 = e
---
> 		keycode  18 = +e +E Prior #altgr+e = page up
69,70c70,71
< 		keycode  21 = z
< 		keycode  22 = u
---
> 		keycode  21 = +z +Z +U+201C #altgr+z = english opening quote
> 		keycode  22 = +u +U euro #altgr+u = euro 
75,76c76,77
< 		keycode  24 = o
< 		keycode  25 = p
---
> 		keycode  24 = +o +O +U+201E #altgr+o = opening hungarian quote
> 		keycode  25 = +p +P +U+201D #altgr+p = closing hungarian and english quote
87c88
< 		keycode  30 = a
---
> 		keycode  30 = +a +A Home  #altgr+a = Home
89c90
< 		keycode  31 = +s	+S		dstroke
---
> 		keycode  31 = +s	+S		End #altgr+s = End
92c93
< 		keycode  32 = +d	+D		Dstroke
---
> 		keycode  32 = +d	+D		Next #altgr+d = page down
158c159,160
< 		keycode  58 = Caps_Lock
---
> 		keycode  58 = Control  #map a control on the place of caps lock. Because I hate it.
> 		#keycode  58 = Caps_Lock
162c164
< 		keycode  97 = Control
---
> 		keycode  97 = Compose #use right control as compose key

A fájl elején include-oltunk egy compose.sajat nevű fájlt, ezt a

/usr/share/kbd/keymaps/include/compose.sajat

helyre pakoljuk. A tartalma nálam a következő (néhol redundáns):


compose '-' '-' to U+2014
compose '.' '.' to U+2026
compose '-' '.' to U+2013
compose ',' ',' to U+201E
compose '\'' '\'' to U+201D
compose 'e' 'u' to euro
compose '>' '>' to guillemotright
compose '<' '<' to guillemotleft
compose 'a' ',' to aogonek
compose 'A' ',' to Aogonek
compose 'a' ':' to adiaeresis
compose 'c' '\'' to cacute
compose 'c' ',' to ccedilla
compose 'e' ',' to eogonek
compose 'E' ',' to eogonek
compose 'e' ':' to ediaeresis
compose 'n' '\'' to nacute
compose 's' '\'' to sacute
compose 'z' '\'' to zacute
compose 'z' '.' to zabovedot
compose 'l' '-' to lstroke
compose 'l' '/' to lstroke
compose 'L' '-' to Lstroke
compose 'L' '/' to Lstroke
compose 'o' 'r' to registered
compose 'o' 'c' to copyright
compose 't' 'm' to trademark



compose '.' '-' to U+2013
compose ',' ',' to U+201E
compose '\'' '\'' to U+201D
compose 'u' 'e' to euro
compose '>' '>' to guillemotright
compose '<' '<' to guillemotleft
compose ',' 'a' to aogonek
compose ',' 'A' to Aogonek
compose ':' 'a' to adiaeresis
compose '\'' 'c' to cacute
compose ',' 'c' to ccedilla
compose ',' 'e' to eogonek
compose ',' 'E' to eogonek
compose ':' 'e' to ediaeresis
compose '\'' 'n' to nacute
compose '\'' 's' to sacute
compose '\'' 'z' to zacute
compose '.' 'z' to zabovedot
compose '-' 'l' to lstroke
compose '/' 'l' to lstroke
compose '-' 'L' to Lstroke
compose '/' 'L' to Lstroke
compose 'r' 'o' to registered
compose 'c' 'o' to copyright
compose 'm' 't' to trademark

Ezzel az alábbi karakterek bevitele válik lehetségessé konzolról: — … – „ ” € » « ą Ą ä ć ç ȩ Ę ë ń ś ź ż ł Ł ® © ™
A trükkhöz annyi kell, hogy pl. a

compose '\'' 'n' to nacute

sornál a compose gomb után előbb egy aposztrófot, majd egy n betűt írunk. Annak érdekében, hogy mindegy legyen, milyen sorrendben nyomom meg az utóbbi kettőt, mindkét irányban definiáltam ezeket.

Ekkor ha kiadjuk a

loadkeys /usr/share/kbd/keymaps/i386/qwertz/ird_ide_a_keymap_file_nevet.map.gz

parancsot, még láthatunk hibákat, ha konzolunkon nincs bekapcsolva a Unicode-támogatás. Ezt a

unicode_start

paranccsal lehet megoldani, és úgy néz ki, hogy a rendszer újraindításával nem vész el ez a beállítás. Utána biztonsággal kiadhatjuk a fenti parancsot, és már élvezhetjük is az igényeinkre szabott terminálunkat.

A tapasztalat azt mutatja, hogy a gzippel csomagolt keymap fájlokat vimmel kényelmesen, előzetes kicsomagolás nélkül szerkeszthetőek.

Hozzászólások