Provided by:
manpages-pl_20060617-3_all 
NAZWA
keymaps - opisy tablic klawiaturowych dla loadkeys i dumpkeys
OPIS
Pliki te s uywane przez loadkeys(1) do modyfikowania tablic translacji
uywanych przez sterownik klawiatury. Pliki te mog by generowane na
podstawie tablic translacji przez program dumpkeys(1).
Format tych plikow jest do podobny do formatu xmodmap(1). Plik sklada
si z linii charsetu, definicji klawiszy lub napisow, przeplecionych
komentarzami.
Komentarze rozpoczynaj si od znakow ! lub # i trwaj do koca linii.
Wszystko co nastpuje za tymi znakami jest ignorowane. Zauwa, e
komentarze nie musz zaczyna si w pierwszej kolumnie jak w xmodmap(1).
Skladnia tablicy klawiszy jest zorientowana liniowo; cala definicja
musi zmieci si w pojedynczej linii logicznej. Jednak linie logiczne mog
dzieli si na wiele linii fizycznych dziki zastosowaniu znaku odwrotnego
ukonika (\).
PLIKI W/LCZANE
Tablica klawiaturowa moe wlcza do siebie inne tablice klawiaturowe przy
uyciu skladni
include "pathname"
DEFINICJE CHARSET'OW
Linia definiujca zestaw znakow (charset) ma posta:
charset "iso-8859-x"
Definiuje ona w jaki sposob interpretowa nastpujce po niej symbole
akcji klawiaturowych (keysym). Na przyklad w iso-8859-1 symbol mu (lub
micro) ma kod 0265, podczas gdy w iso-8859-7 litera mu ma kod 0354.
PE/LNE DEFINICJE KOD'OW KLAWISZY
Pelna linii definicji kodow klawisza ma posta:
keycode keynumber = keysym keysym keysym...
keynumber jest wewntrznym numerem identyfikujcym klawisz, na ogol
odpowiadajcym jego kodowi scancode. keynumber moe zosta podany w
postaci dziesitnej, osemkowej lub szesnastkowej. Posta osemkowa jest
poprzedzona zerem, a szesnastkowa prefiksem 0x.
Kady z symboli keysym reprezentuje akcj klawiaturow. Do pojedynczego
klawisza mona podwiza do 256 takich akcji. Dostpne akcje zawieraj kody
znakow Latin1 lub cigi znakow, przelczanie konsol lub tablic
klawiaturowych, bootowanie maszyny, itd. (peln list mona uzyska z
dumpkeys(1) przez wydanie polecenia dumpkeys -l.)
Kady z symboli keysym moe zosta poprzedzony znakiem '+' (plus). W tym
wypadku keysym jest traktowany jako "litera", i na jego warto
"CapsLock" wplywa w ten sam sposob jak "Shift" (dokladniej, CapsLock
odwraca stan Shift). Znaki ASCII ('a'-'z' i 'A'-'Z') s domylnie
CapsLock'owalne. Jeli Shift+CapsLock nie powinny produkowa "malych"
liter, naley uy linii o nastpujcej semantyce
keycode 30 = +a A
w pliku z taplic.
To, ktora z akcji dla danego klawisza jest wybierana podczas jego
wcinicia zaley od modyfikatorow, ktore s czynne w danej chwili.
Sterownik klawiatury wspiera 8 modyfikatorow. Modyfikatory te s
oznaczone (zdecydowanie arbitralnie) jako Shift, AltGr, Control Alt,
ShiftL, ShiftR, CtrlL, CtrlR. Z kadym z tych modyfikatorow zwizana
jest waga bdca poteg dwojki, wg nastpujcej tabeli:
modyfikator waga
Shift
1
AltGr
2
Control
4
Alt
8
ShiftL
16
ShiftR
32
CtrlL
64
CtrlR 128
Efektywna akcja klawisza jest znajdywana przez dodawanie wag wszystkich
modyfikatorow. Domylnie aden z nich nie jest uywany, wic podczas
naciskania lub zwalniania klawisza pobierana jest akcja numer zero,
czyli ta w pierwszej kolumnie linii definicji klawisza. Gdy uyto np.
klawiszy Shift+Alt, uyta zostaje akcja numer 9 (z 10 kolumny).
Zmiana stanu uywanych modyfikatorow moe by osignita przez powizanie
odpowiednich akcji klawiszowych z odpowiednimi klawiszami. Np.
przypisanie symbolu Shift do klawisza ustawia modyfikator Shift podczas
naciskania tego klawisza i uniewania dzialanie tego modyfikatora
podczas zwolnienia klawisza. Przypisanie AltGr_Lock do klawisza
ustawia AltGr po naciniciu tego klawisza, a anuluje po ponownym jego
naciniciu. (Domylnie, Shift, AltGr, Control i Alt s przypisane do
klawiszy, ktore maj podobne oznaczenia; AltGr moe oznacza prawy klawisz
Alt.)
Naley zauway, e powinno si zachowa daleko posunit ostrono podczas
przypisywania modyfikatorow do klawiszy. W przeciwnym wypadku moe si to
skoczy nieuywaln tablic klawiaturow. Jeli na przyklad zdefiniuje si
klawisz jako Control w pierwszej kolumnie a zostawi reszt kolumn jako
puste symbole (VoidSymbols), pojawi si problem. Problem wystpi dlatego,
e nacinicie klawisza wlcza modyfikator Control, a nastpne akcje bd
pobierane z pitej kolumny (zobacz tabel powyej). Tak wic, jeli klawisz
zostanie zwolniony, pobierana bdzie akcja z pitej kolumny. Jest ona
pustym symbolem, wic nic si nie dzieje. Oznacza to, e modyfikator
Control jest wci aktywny, chocia klawisz zostal puszczony. Ponowne
naciskanie i zwalnianie klawisza nie daje adnych rezultatow. Aby temu
zapobiec, naley zawsze definiowa wszystkie kolumny tak, aby mialy ten
sam symbol modyfikujcy. Istnieje do tego porczna skrotowa notacja, o
ktorej niej.
Symbole keysym mog by podawane w notacji dziesitnej, osemkowej,
szesnastkowej, lub symbolicznej. Numeryczne notacje uywaj tego samego
formatu co keynumber. Notacja symboliczna jest podobna do tej z
xmodmap(1). Zauwaalne ronicei wystpuj dla symboli numerycznych.
Symbole '0', ..., '9' w xmodmap(1) s zamieniane na odpowiadajce slowa
'zero', 'one', ..., 'nine' aby zapobiec niejednoznacznociom z notacj
numeryczn.
Powinno si zaznaczy, e uywanie notacji numerycznej dla symboli keysym
jest wybitnie nieprzenone, jako e numery akcji klawiszy mog si roni z
jednej wersji jdra na drug, z czego wynika powysze. Notacja ta moe by
uywana tylko jeli wiadomo, e istnieje okrelona akcja klawiaturowa w
uywanym jdrze, dla ktorej twoja wersja loadkeys(1) nie posiada nazwy
symbolicznej.
Jest wiele notacji skrotowych, poprawiajcych czytelno, a redukujcych
pracochlonno i prawdopodobiestwo bldow przy wpisywaniu.
Przede wszystkim, mona poda lini specyfikacji tablicy w postaci
keymaps 0-2,4-5,8,12
aby wskaza, e te linie tablicy klawiaturowej nie bd wyszczegolnialy
wszystkich 256 kolumn, lecz tylko jedn ze wskazanych. (Np: sam Shift,
AltGr, Control, Control+Shift, Alt i Control+Alt, czyli 7 zamiast 256
kolumn.) Jeli nie poda si takiej linii, zdefiniowane bd tablice
klawiaturowe 0-M, gdzie M+1 to maksymalna ilo wpisow w jakiejkolwiek
linii definicyjnej.
Nastpnie, mona porzuci wszelkie kocowe wpisy pustych symboli z
definicji klawisza. Pusty symbol oznacza akcj klawiaturow, ktora nie
powoduje efektu. Np. aby zdefiniowa klawisz numer 30 do wyprowadzania
'a' bez shiftu i 'A' z shiftem, niczego za przy wcinitym AltGr i innych
modyfikatorach, mona napisa
keycode 30 = a A
zamiast bardziej "gadatliwego"
keycode 30 = a A VoidSymbol VoidSymbol \
VoidSymbol VoidSymbol VoidSymbol ...
Jako dodatkowe udogodnienie, zwykle monz uywa jeszcze innych definicji.
Jeli wprowadzona zostanie linia definicji klawisza z tylko jednym kodem
akcji po znaku rownoci, to ma to specjalne znaczenie. Jeli kod
(numeryczny lub symboliczny) nie jest liter ASCII, znaczy to, e kod
jest w drodze wyjtku powielany na wszystkie zdefiniowane kolumny. Jeli,
z drugiej strony, kod jest znakiem ASCII w zakresie 'a', ..., 'z' lub
'A', ..., 'Z', to tworzone s nastpujce definicje dla ronych kombinacji
modyfikatorow. (Tabela pokazuje dwa moliwe przypadki: zarowno z
pojedynczym kodem akcji dla malej litery, oznaczonej przez 'x', jak i
dla duej litery, oznaczonej przez 'Y'.)
modyfikator symbol
brak x Y
Shift X y
AltGr x Y
Shift+AltGr X y
Control Control_x Control_y
Shift+Control Control_x Control_y
AltGr+Control Control_x Control_y
Shift+AltGr+Control Control_x Control_y
Alt Meta_x Meta_Y
Shift+Alt Meta_X Meta_y
AltGr+Alt Meta_x Meta_Y
Shift+AltGr+Alt Meta_X Meta_y
Control+Alt Meta_Control_x Meta_Control_y
Shift+Control+Alt Meta_Control_x Meta_Control_y
AltGr+Control+Alt Meta_Control_x Meta_Control_y
Shift+AltGr+Control+Alt Meta_Control_x Meta_Control_y
DEFINICJE POJEDYNCZYCH MODYFIKATOR'OW
Wszystkie poprzednie postacie linii definicji klawiszy zawsze
definiowaly wszystkie M+1 moliwych kombinacji modyfikatorow, niezalenie
od tego, czy tak ilo rzeczywistych kodow akcji, czy nie. Istnieje
jednak wariant skladni definicji slucy do definiowania pojedynczych
akcji dla konkretnej kombinacji modyfikatorow klawisza. Jest to
szczegolnie przydatne, jeli ladowana jest talica klawiaturow, ktora nie
odpowiada potrzebom jedynie przy niektorych kombinacjach modyfikatorow,
jak np. AltGr+klawisze funkcyjne. Mona wowczas utworzy maly lokalny
plik przedefiniowujcy tylko te kombinacje modyfikatorow i ladowa go po
zaladowaniu pliku glownego. Skladnia tego formatu jest nastpujca:
{ plain | <cig modyfikatorow> } keycode keynumber = keysym
n.p.,
plain keycode 14 = BackSpace
control alt keycode 83 = Boot
alt keycode 105 = Decr_Console
alt keycode 106 = Incr_Console
Uycie "plain" zdefiniuje tylko podstawowy wpis klawisza (np. ten, przy
ktorym nie s wlczone adne modyfikatory), bez dotykania powiza innych
kombinacji tego klawisza.
DEFINICJE /LACUCH'OW
Oprocz komentarzy i linii definicji klawiszy, pliki tablic
klawiaturowych mog zawiera definicje napisow. S one uywane do
definiowania kodow akcji wysylanych przez poszczegolne klawisze
funkcyjne. Skladnia definicji napisu to:
/lacuch keysym = "tekst"
tekst moe zawiera literalne znaki, kody osemkowe w formacie odwrotnego
ukonika, za ktorym wystpuje do trzech cyfr osemkowych, a take trzy
sekwencje eskejpowe \n, \\, i \", odpowiednio, dla nowej linii,
odwrotnego ukonika i cytatu.
DEFINICJE Z/LOONE
Mog rownie wystpowa definicje zloone. Maj one skladni
compose 'znak' 'znak' to 'znak'
i opisuj, w jaki sposob dwa bajty s polczone tworzc trzeci (gdy jest
uywany samodzielny akcent lub klawisz kombinowany). Wykorzystuje si to
do liter akcentowanych i podobnych znakow na standardowej klawiaturze.
SKR'OTY
Z kbd-0.96 i poniejszymi mona uywa ronych skrotow. strings as usual
Definiuje zwykle wartoci dla lacuchow (ale nie dla klawiszy, do ktorych
s one przypisane.
compose as usual for "iso-8859-1"
Definiuje zwykle kombinacje zloone.
Aby znale, ktore symbole keysym s dostpne do uytku w tablicach
klawiaturowych, naley uy polecenia
dumpkeys --long-info
Niestety, obecnie nie ma opisu, co ktory symbol robi. Trzeba to zgadywa
z nazwy, wydedukowanej ze rodel jdra.
PRZYK/LADY
Nastpujcy wpis zamienia lewy klawisz Control i CapsLock:
keycode 58 = Control
keycode 29 = Caps_Lock
Klawisz o numerze 58 jest normalnie Caps Lockiem, a klawisz numer 29
jest zwykle klawiszem Control.
Nastpujcy wpis ustawia milsze zachowanie klawiszy Shift i Caps Lock,
jak w starych maszynach do pisania. To znaczy, wcinicie klawiszu Caps
Lock jeden, lub wicej razy, wlcza klawiatur w stan CapsLock, a wcinicie
dowolnego z Shiftow wylcza go.
keycode 42 = Uncaps_Shift
keycode 54 = Uncaps_Shift
keycode 58 = Caps_On
Nastpujcy wpis ustawia uklad bloku edycyjnego na rozszerzonych
klawiaturach, aby byly bardziej podobne do terminali serii VT200:
keycode 102 = Insert
keycode 104 = Remove
keycode 107 = Prior
shift keycode 107 = Scroll_Backward
keycode 110 = Find
keycode 111 = Select
control alt keycode 111 = Boot
control altgr keycode 111 = Boot
Oto przyklad na przypisanie napisu "du\ndf\n" do klawisza AltGr-D.
Uywamy "wolnego" kodu akcji F100, nie przypisywanego normalnie do
adnego klawisza.
altgr keycode 32 = F100
string F100 = "du\ndf\n"
ZOBACZ TAKE
loadkeys(1), dumpkeys(1), showkey(1), xmodmap(1)
INFORMACJE O T/LUMACZENIU
Powysze tlumaczenie pochodzi z nieistniejcego ju Projektu Tlumaczenia
Manuali i moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji,
prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.
24 kwietnia 1998 KEYMAPS(5)