Rechercher une page de manuel
keymaps
Langue: pl
Version: 24 kwietnia 1998 (openSuse - 09/10/07)
Section: 5 (Format de fichier)
Sommaire
NAZWA
keymaps - opisy tablic klawiaturowych dla loadkeys i dumpkeysOPIS
Pliki te s± u¿ywane przez loadkeys(1) do modyfikowania tablic translacji u¿ywanych przez sterownik klawiatury. Pliki te mog± byæ generowane na podstawie tablic translacji przez program dumpkeys(1).Format tych plików jest do¶æ podobny do formatu xmodmap(1). Plik sk³ada siê z linii charsetu, definicji klawiszy lub napisów, przeplecionych komentarzami.
Komentarze rozpoczynaj± siê od znaków ! lub # i trwaj± do koñca linii. Wszystko co nastêpuje za tymi znakami jest ignorowane. Zauwa¿, ¿e komentarze nie musz± zaczynaæ siê w pierwszej kolumnie jak w xmodmap(1).
Sk³adnia tablicy klawiszy jest zorientowana liniowo; ca³a definicja musi zmie¶ciæ siê w pojedynczej linii logicznej. Jednak linie logiczne mog± dzieliæ siê na wiele linii fizycznych dziêki zastosowaniu znaku odwrotnego uko¶nika (\).
PLIKI W£¡CZANE
Tablica klawiaturowa mo¿e w³±czaæ do siebie inne tablice klawiaturowe przy u¿yciu sk³adni- include "pathname"
DEFINICJE CHARSETÓW
Linia definiuj±ca zestaw znaków (charset) ma postaæ:- charset "iso-8859-x"
Definiuje ona w jaki sposób interpretowaæ nastêpuj±ce po niej symbole akcji klawiaturowych (keysym). Na przyk³ad w iso-8859-1 symbol mu (lub micro) ma kod 0265, podczas gdy w iso-8859-7 litera mu ma kod 0354.
PE£NE DEFINICJE KODÓW KLAWISZY
Pe³na linii definicji kodów klawisza ma postaæ:
-
keycode keynumber = keysym keysym keysym...
keynumber jest wewnêtrznym numerem identyfikuj±cym klawisz, na ogó³ odpowiadaj±cym jego kodowi scancode. keynumber mo¿e zostaæ podany w postaci dziesiêtnej, ósemkowej lub szesnastkowej. Postaæ ósemkowa jest poprzedzona zerem, a szesnastkowa prefiksem 0x.
Ka¿dy z symboli keysym reprezentuje akcjê klawiaturow±. Do pojedynczego klawisza mo¿na podwi±zaæ do 256 takich akcji. Dostêpne akcje zawieraj± kody znaków Latin1 lub ci±gi znaków, prze³±czanie konsol lub tablic klawiaturowych, bootowanie maszyny, itd. (pe³n± listê mo¿na uzyskaæ z dumpkeys(1) przez wydanie polecenia dumpkeys -l.)
Ka¿dy z symboli keysym mo¿e zostaæ poprzedzony znakiem '+' (plus). W tym wypadku keysym jest traktowany jako "litera", i na jego warto¶æ "CapsLock" wp³ywa w ten sam sposób jak "Shift" (dok³adniej, CapsLock odwraca stan Shift). Znaki ASCII ('a'-'z' i 'A'-'Z') s± domy¶lnie CapsLock'owalne. Je¶li Shift+CapsLock nie powinny produkowaæ "ma³ych" liter, nale¿y u¿yæ linii o nastêpuj±cej semantyce
-
keycode 30 = +a A
w pliku z taplic±.
To, która z akcji dla danego klawisza jest wybierana podczas jego wci¶niêcia zale¿y od modyfikatorów, które s± czynne w danej chwili. Sterownik klawiatury wspiera 8 modyfikatorów. Modyfikatory te s± oznaczone (zdecydowanie arbitralnie) jako Shift, AltGr, Control Alt, ShiftL, ShiftR, CtrlL, CtrlR. Z ka¿dym z tych modyfikatorów zwi±zana jest waga bêd±ca poteg± dwójki, wg nastêpuj±cej 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 modyfikatorów. Domy¶lnie ¿aden z nich nie jest u¿ywany, wiêc podczas naciskania lub zwalniania klawisza pobierana jest akcja numer zero, czyli ta w pierwszej kolumnie linii definicji klawisza. Gdy u¿yto np. klawiszy Shift+Alt, u¿yta zostaje akcja numer 9 (z 10 kolumny).
Zmiana stanu u¿ywanych modyfikatorów mo¿e byæ osi±gniêta przez powi±zanie odpowiednich akcji klawiszowych z odpowiednimi klawiszami. Np. przypisanie symbolu Shift do klawisza ustawia modyfikator Shift podczas naciskania tego klawisza i uniewa¿nia dzia³anie tego modyfikatora podczas zwolnienia klawisza. Przypisanie AltGr_Lock do klawisza ustawia AltGr po naci¶niêciu tego klawisza, a anuluje po ponownym jego naci¶niêciu. (Domy¶lnie, Shift, AltGr, Control i Alt s± przypisane do klawiszy, które maj± podobne oznaczenia; AltGr mo¿e oznaczaæ prawy klawisz Alt.)
Nale¿y zauwa¿yæ, ¿e powinno siê zachowaæ daleko posuniêt± ostro¿no¶æ podczas przypisywania modyfikatorów do klawiszy. W przeciwnym wypadku mo¿e siê to skoñczyæ nieu¿ywaln± tablic± klawiaturow±. Je¶li na przyk³ad zdefiniuje siê klawisz jako Control w pierwszej kolumnie a zostawi resztê kolumn jako puste symbole (VoidSymbols), pojawi siê problem. Problem wyst±pi dlatego, ¿e naci¶niêcie klawisza w³±cza modyfikator Control, a nastêpne akcje bêd± pobierane z pi±tej kolumny (zobacz tabelê powy¿ej). Tak wiêc, je¶li klawisz zostanie zwolniony, pobierana bêdzie akcja z pi±tej kolumny. Jest ona pustym symbolem, wiêc nic siê nie dzieje. Oznacza to, ¿e modyfikator Control jest wci±¿ aktywny, chocia¿ klawisz zosta³ puszczony. Ponowne naciskanie i zwalnianie klawisza nie daje ¿adnych rezultatów. Aby temu zapobiec, nale¿y zawsze definiowaæ wszystkie kolumny tak, aby mia³y ten sam symbol modyfikuj±cy. Istnieje do tego porêczna skrótowa notacja, o której ni¿ej.
Symbole keysym mog± byæ podawane w notacji dziesiêtnej, ósemkowej, szesnastkowej, lub symbolicznej. Numeryczne notacje u¿ywaj± tego samego formatu co keynumber. Notacja symboliczna jest podobna do tej z xmodmap(1). Zauwa¿alne ró¿nicei wystêpuj± dla symboli numerycznych. Symbole '0', ..., '9' w xmodmap(1) s± zamieniane na odpowiadaj±ce s³owa 'zero', 'one', ..., 'nine' aby zapobiec niejednoznaczno¶ciom z notacj± numeryczn±.
Powinno siê zaznaczyæ, ¿e u¿ywanie notacji numerycznej dla symboli keysym jest wybitnie nieprzeno¶ne, jako ¿e numery akcji klawiszy mog± siê ró¿niæ z jednej wersji j±dra na drug±, z czego wynika powy¿sze. Notacja ta mo¿e byæ u¿ywana tylko je¶li wiadomo, ¿e istnieje okre¶lona akcja klawiaturowa w u¿ywanym j±drze, dla której twoja wersja loadkeys(1) nie posiada nazwy symbolicznej.
Jest wiele notacji skrótowych, poprawiaj±cych czytelno¶æ, a redukuj±cych pracoch³onno¶æ i prawdopodobieñstwo b³êdów przy wpisywaniu.
Przede wszystkim, mo¿na podaæ liniê specyfikacji tablicy w postaci
- keymaps 0-2,4-5,8,12
aby wskazaæ, ¿e te linie tablicy klawiaturowej nie bêd± wyszczególnia³y wszystkich 256 kolumn, lecz tylko jedn± ze wskazanych. (Np: sam Shift, AltGr, Control, Control+Shift, Alt i Control+Alt, czyli 7 zamiast 256 kolumn.) Je¶li nie poda siê takiej linii, zdefiniowane bêd± tablice klawiaturowe 0-M, gdzie M+1 to maksymalna ilo¶æ wpisów w jakiejkolwiek linii definicyjnej.
Nastêpnie, mo¿na porzuciæ wszelkie koñcowe wpisy pustych symboli z definicji klawisza. Pusty symbol oznacza akcjê klawiaturow±, która nie powoduje efektu. Np. aby zdefiniowaæ klawisz numer 30 do wyprowadzania 'a' bez shiftu i 'A' z shiftem, niczego za¶ przy wci¶niêtym AltGr i innych modyfikatorach, mo¿na napisaæ
-
keycode 30 = a A
zamiast bardziej "gadatliwego"
-
keycode 30 = a A VoidSymbol VoidSymbol \ VoidSymbol VoidSymbol VoidSymbol ...
Jako dodatkowe udogodnienie, zwykle mo¿nz u¿ywaæ jeszcze innych definicji. Je¶li wprowadzona zostanie linia definicji klawisza z tylko jednym kodem akcji po znaku równo¶ci, to ma to specjalne znaczenie. Je¶li kod (numeryczny lub symboliczny) nie jest liter± ASCII, znaczy to, ¿e kod jest w drodze wyj±tku powielany na wszystkie zdefiniowane kolumny. Je¶li, z drugiej strony, kod jest znakiem ASCII w zakresie 'a', ..., 'z' lub 'A', ..., 'Z', to tworzone s± nastêpuj±ce definicje dla ró¿nych kombinacji modyfikatorów. (Tabela pokazuje dwa mo¿liwe przypadki: zarówno z pojedynczym kodem akcji dla ma³ej litery, oznaczonej przez 'x', jak i dla du¿ej 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ÓW
Wszystkie poprzednie postacie linii definicji klawiszy zawsze definiowa³y wszystkie M+1 mo¿liwych kombinacji modyfikatorów, niezale¿nie od tego, czy tak± ilo¶æ rzeczywistych kodów akcji, czy nie. Istnieje jednak wariant sk³adni definicji s³u¿±cy do definiowania pojedynczych akcji dla konkretnej kombinacji modyfikatorów klawisza. Jest to szczególnie przydatne, je¶li ³adowana jest talica klawiaturow±, która nie odpowiada potrzebom jedynie przy niektórych kombinacjach modyfikatorów, jak np. AltGr+klawisze funkcyjne. Mo¿na wówczas utworzyæ ma³y lokalny plik przedefiniowuj±cy tylko te kombinacje modyfikatorów i ³adowaæ go po za³adowaniu pliku g³ównego. Sk³adnia tego formatu jest nastêpuj±ca:{ plain | <ci±g modyfikatorów> } keycode keynumber = keysym
n.p.,
-
plain keycode 14 = BackSpace control alt keycode 83 = Boot alt keycode 105 = Decr_Console alt keycode 106 = Incr_Console
DEFINICJE £AÑCUCHÓW
Oprócz komentarzy i linii definicji klawiszy, pliki tablic klawiaturowych mog± zawieraæ definicje napisów. S± one u¿ywane do definiowania kodów akcji wysy³anych przez poszczególne klawisze funkcyjne. Sk³adnia definicji napisu to:- ³añcuch keysym = tekst
tekst mo¿e zawieraæ literalne znaki, kody ósemkowe w formacie odwrotnego uko¶nika, za którym wystêpuje do trzech cyfr ósemkowych, a tak¿e trzy sekwencje eskejpowe \n, \\, i \", odpowiednio, dla nowej linii, odwrotnego uko¶nika i cytatu.
DEFINICJE Z£O¯ONE
Mog± równie¿ wystêpowaæ definicje z³o¿one. Maj± one sk³adniê- compose 'znak' 'znak' to 'znak'
SKRÓTY
Z kbd-0.96 i pó¼niejszymi mo¿na u¿ywaæ ró¿nych skrótów. strings as usual Definiuje zwyk³e warto¶ci dla ³añcuchów (ale nie dla klawiszy, do których s± one przypisane.- compose as usual for "iso-8859-1"
- Definiuje zwyk³e kombinacje z³o¿one.
Aby znale¼æ, które symbole keysym s± dostêpne do u¿ytku w tablicach klawiaturowych, nale¿y u¿yæ polecenia
-
dumpkeys --long-info
Niestety, obecnie nie ma opisu, co który symbol robi. Trzeba to zgadywaæ z nazwy, wydedukowanej ze ¼róde³ j±dra.
PRZYK£ADY
Nastêpuj±cy 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.
Nastêpuj±cy wpis ustawia milsze zachowanie klawiszy Shift i Caps Lock, jak w starych maszynach do pisania. To znaczy, wci¶niêcie klawiszu Caps Lock jeden, lub wiêcej razy, w³±cza klawiaturê w stan CapsLock, a wci¶niêcie dowolnego z Shiftów wy³±cza go.
-
keycode 42 = Uncaps_Shift keycode 54 = Uncaps_Shift keycode 58 = Caps_On
Nastêpuj±cy wpis ustawia uk³ad bloku edycyjnego na rozszerzonych klawiaturach, aby by³y 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 przyk³ad na przypisanie napisu "du\ndf\n" do klawisza AltGr-D. U¿ywamy "wolnego" kodu akcji F100, nie przypisywanego normalnie do ¿adnego klawisza.
-
altgr keycode 32 = F100 string F100 = "du\ndf\n"
ZOBACZ TAK¯E
loadkeys(1), dumpkeys(1), showkey(1), xmodmap(1)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre