Provided by: manpages-pl_20060617-3_all bug

NAZWA

       keytables - opisy tabeli 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 tych tabel przez program dumpkeys(1).

       Format tych plikow jest doc 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;  calkowita
       definicja musi zmieci si w pojedynczej linii  logicznej.  Jednak  linie
       logiczne  mog  dzieli  si  na wiele linii fizycznych dziki zastosowaniu
       znaku odwrotnego ukonika (\).

       Linia definiujca zestaw znakow (charset) ma posta:

              charset "iso-8859-x"

       Definiuje w jaki sposob interpretowa nastpujce keysymy.

       Kada kompletna definicja linii ma posta:

              keycode keynumber = keysym keysym keysym...

       keynumber jest wewntrznym numerem identyfikujcym klawisz,  mniej  wicej
       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  keysym'ow  reprezentuje akcj klawiaturow, z ktorych do 256 mona
       podwiza do pojedynczego klawisza. Dostpne akcje  zawieraj  kody  znakow
       Latin1 lub sekwencje znakowe, przelczanie konsol lub keymap, bootowanie
       maszyny, itd.  (kompletn list mona uzyska z dumpkeys(1)  przez  wydanie
       komendy  dumpkeys -l .)

       Kady  keysym moe zosta poprzedzony znakiem '+' (plus), w ktorym wypadku
       keysym  jest  traktowany  jako  "litera",  czyli  znak  dotknity  przez
       "CapsLock"  w  ten  sam  sposob  jak  przez  "Shift" (aby by dokladnym,
       CapsLock odwraca stan  Shift).   Znaki  ASCII  ('a'-'z'  i  'A'-'Z')  s
       domylnie  CapsLock'owalne.  Jesli  Shift+CapsLock nie powinny produkowa
       "malych" liter, uyj linii o nastpujcej semantyce

              keycode 30 = +a  A

       w pliku z map.

       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, Controlm Alt,
       ShiftL, ShiftR, CtrlL, CtrlR.  Kady z tych modyfikatorow ma zwizan wag,
       ktora jest 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  opuszczania  klawisza  pobierana  jest np. akcja numer
       zero; ta w pierwszej kolumnie linii definicji klawisza.  Gdy  uyto  np.
       klawiszy Shift+Alt, uyta zostaje akcja numer 9 (z 10 kolumny).

       Zmiana stanu tego, ktore modyfikatory jak dzialaj moe by dokonana przez
       powizanie odpowiednich akcji  klawiszowych  z  danymi  klawiszami.  Np.
       przywizywanie  symbolu  Shift  do  klawisza  ustawia  modyfikator Shift
       podczas naciskania klawisza i  uniewania  dzialanie  tego  modyfikatora
       podczas zwolnienia klawisza. Przywizanie AltGr_Lock do klawisza ustawia
       AltGr po naciniciu tego klawisza, a anuluje to po  ponownym  naciniciu.
       (Domylnie,  Shift, AltGr, Control i Alt s przywizane do klawiszy, ktore
       nosz podobn etykiet; AltGr moe oznaca prawy klawisz Alt.)

       Zauwa, e powiniene by bardzo ostronym  podczas  przywizywania  klawiszy
       modyfikujcych.  W  przeciwnym  wypadku  moe si to skoczy bezuyteczn map
       klawiatury. Jeli na przyklad  zdefiniujesz  Control  w  jego  pierwszej
       kolumnie  i  zostawisz reszt kolumn jako PusteSymbole (VoidSymbols), to
       masz  problem.   Dlatego,  e  naciskanie  klawisza  wlcza   modyfikator
       Control,  a  nastpne  akcje bd podgldane w pitej kolumnie (zobacz tabel
       powyej). Tak wic, jeli pucisz klawisz, pobierana bdzie  akcja  z  pitej
       kolumny. Ma ona na sobie PustySymbol, wic nic si nie dzieje. Znaczy to,
       e modyfikator Control  wci  pracuje,  chocia  pucile  klawisz.  Ponowne
       naciskanie  i  opuszczanie  klawisza  nie  daje  rezultatow.  Aby  temu
       zapobiec, powiniene zawsze definiowa wszystkie kolumny tak,  aby  mialy
       ten  sam  symbol modyfikujcy.  Istnieje dla tego porczna notacja short-
       hand, o ktorej niej.

       keysymy 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).
       Zauwaalnymi  ronicami  s  symbole  numeryczne.  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 keysym'ow jest
       mocno nieportowalne, 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 wiesz, e istnieje okrelona akcja klawiaturowa w twoim jdrze,
       dla ktorej twoja wersja loadkeys(1) nie posiada nazwy symbolicznej.

       Jest  wiele  notacji  short-hand,  poprawiajcych czytelno i redukujcych
       prac i prawdopodobiestwo bldow przy wpisywaniu.

       Przede wszystkim, moesz poda lini specyfikacji mapy w postaci

              keymaps 0-2,4-5,8,12

       aby wskaza, e  te  linie  mapy  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, mapy klawiaturowe 0-M bd
       zdefiniowane.  M+1 to maksymalna ilo wpisow linii definicyjnej.

       Nastpnie,  moesz  porzuci  wszelkie  kocowe  wpisy   PustychSymboli   z
       definicji  klawisza.  PustySymbol  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, moesz napisa

              keycode  30 = a     A

       zamiast bardziej "gadatliwego"

              keycode  30 = a     A    VoidSymbol     VoidSymbol \
                        VoidSymbol VoidSymbol VoidSymbol ...

       Zwykle  moesz  uy  jeszcze  innych  definicji.  Jeli  wprowadzisz  lini
       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 wyjtkowo replikowany na wszystkie
       zdefiniowane kolumny. Jeli, z drugiej strony, kod jest znakiem ASCII  w
       zasigu  'a',  ...,  'z'  lub  'A',  ...,  'Z',  to  robione s nastpujce
       definicje dla ronych  kombinacji  modyfikatorow.  (Tabela  listuje  dwa
       moliwe  przypadki:  zarowno z pojedynczym kodem akcji dla malej litery,
       oznaczonej przez 'x', jak i dla duej litery, oznaczonej przez 'Y'.)

           modifier                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

       Wszystkie poprzednie formy linii definicji klawiszy zawsze  definiowaly
       wszystkie  M+1  moliwych  kombinacji modyfikatorow, niezalenie od iloci
       rzeczywistych kodow akcji.  Istnieje jednak wariacja skladni  definicji
       dla   definiowania   pojedynczych   akcji   dla  okrelonych  kombinacji
       modyfikatora i klawisza. Jest to szczegolnie  uyteczne,  jeli  ladujesz
       talic  klawiaturow,  ktora  nie  odpowiada twoim potrzebom w niektorych
       kombinacjach modyfikatorow, jak np.   AltGr+klawisze  funkcyjne.  Moesz
       utworzy  wtedy  maly  lokalny  plik,  redefiniujcy  tylko te kombinacje
       modyfikatorow i ladowa go po zaladowaniu pliku glownego. Skladnia  tego
       formatu to:

       { plain | <sekwencja 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 ma wlczonych modyfikatorow),  bez  dotykania  powiza  innych
       kombinacji tego klawisza.

       Dodatkowo  do  komentarzy  i  linii  definicji  klawiszy,  pliki tablic
       klawiaturowych  mog  zawiera  definicje  napisow.  S  one   uywane   do
       definiowania, co wysyla kod akcji kadego klawisza funkcyjnego. Skladnia
       definicji napisu to:

              string keysym = "tekst"

       tekst moe zawiera literalne znaki, kody osemkowe w formacie  odwrotnego
       ukonika,  za  ktorym  poda  do  trzech  cyfr  osemkowych,  a  take trzy
       sekwencje  eskejpowe  \n,  \\,  i  \",  odpowiednio  dla  nowej  linii,
       odwrotnego ukonika i cytatu.

       Aby  znale,  ktore keysymy s dostpne do uytku w plikach klawiaturowych,
       uyj komendy

              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 wymienia ze sob 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 przywizanie  napisu  "du\ndf\n"  do  klawisza  AltGr-D.
       Uywamy  "wolnego"  kodu  akcji  F100,  nie  przywizywanego 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.

                                  30 Jan 1994                     KEYTABLES(5)