The Linux Keyboard HOWTO

Andries Brouwer, aeb@cwi.nl
v2.5, 27 sierpie� 1997
Wersja polska: Gwidon S. Naskrent naskrent@hoth.amu.edu.pl
v1.1, 29 X 1997


Notka ta zawiera informacje na temat klawiatury i konsoli w Linuxie, oraz u�ywania znak�w spoza ASCII. Opisuje ona wersj� 2.0 Linuxa. Dokument ten zosta� napisany w standardzie ISO-8859-2. Orygina� tego dokumentu znajduje si� pod adresem ftp.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/

1. U�yteczne programy

Poni�sze pakiety zawieraj� programy odnosz�ce si� do klawiatury lub konsoli:

kbd-0.90.tar.gz zawiera loadkeys, dumpkeys, showkey, setmetamode, setleds, setfont, showfont, mapscrn, kbd_mode, chvt, resizecons, disalloc, getkeycodes, setkeycodes.

util-linux-2.6 zawiera setterm, kbdrate. (Tak, more w util-linux 2.6 zrzuca core z powodu konfliktu nazw. Zachowaj swoj� star� kopi�, albo u�ywaj util-linux-2.5, albo zmie� 'savetty' na 'my_savetty' w more.c).

shutils-1.12 zawiera stty.

open-1.4.tgz zawiera open (kt�re powinno si� przemianowa� na openvt. Patrz te� dynamic-vc-1.1.tar.gz).

SVGATextMode-1.6.tar.gz zawiera SVGATextMode, program kt�ry zast�puje stare resizecons

Dystrybucja X zawiera xmodmap, xset, kbd_mode (patrz te� X386keybd(1) co do sytuacji pod XFree86 1.3, oraz Xserver(1) co do rozszerzenia XKEYBOARD pod X11R6).

termcap-2.0.8.tar.gz zawiera termcap, star� baz� danych w�a�ciwo�ci terminala. ncurses-1.9.9e.tar.gz zawiera baz� termlib kt�ra zast�puje termcap (wiele program�w jednak ci�gle u�ywa termcap).

Patrz loadkeys(1), setleds(1), setmetamode(1) co do kod�w wysy�anych przez r�ne klawisze i ustawiania diod poza X. Pod X, u�yj xmodmap(1).

Patrz setfont(8) co do �adowania czcionek konsoli. Wielu ludzi woli za�adowa� jak�� czcionk� w rodzaju iso01.f16, poniewa� domy�lna jest czcionk� sprz�tow� karty graficznej, i cz�sto jest to czcionka "Code Page 437", w kt�rej brakuje akcentowanych znak�w i innych symboli z zestawu Latin-1.

Patrz setterm(1), kbdrate(8) co do w�a�ciwo�ci takich jak kolory t�a i pisma, wygaszanie ekranu, szybko�� powtarzania klawiszy - wszystko poza X. Pod X, patrz xset(1), te� co do d�wi�ku przy naci�ni�ciu klawisza i g�o�no�ci dzwonka.

Plik /etc/termcap definiuje Esc-sekwencje dla wielu program�w kt�re odnosz� si� do konsoli (lub innego terminala). Bardziej nowoczesna wersja znajduje si� w /usr/lib/terminfo. (Patrz terminfo(5). Pliki terminfo s� kompilowane kompilatorem terminfo /usr/lib/terminfo/tic, patrz tic(1). Ich zawarto�� obejrze� mo�na u�ywaj�c programu infocmp, patrz infocmp(1). Sekwencje konsoli linuxowej opisane s� w console_codes(4).

2. Og�lnie o klawiaturze

Naciskasz klawisz, a kontroler klawiatury wysy�a kody skanowe do sterownika klawiatury j�dra. Niekt�re klawiatury mo�na programowa�, ale przewa�nie kody klawiszy odpowiadaj�ce klawiszom s� sta�e. Sterownik klawiatury j�dra przesy�a po prostu cokolwiek otrzymuje do programu aplikacji, gdy ta jest w trybie skanowania kod�w, na przyk�ad podczas dzia�ania X. W przeciwnym razie przek�ada on strumie� kod�w skanowych na kody klawiszy, odpowiadaj�ce zdarzeniom naci�ni�cia i zwolnienia klawisza (pojedyncze naci�ni�cie klawisza mo�e wytworzy� do sze�ciu kod�w skanowych). Kody te [klawiszy] s� przesy�ane do programu aplikacji gdy znajduje si� on w trybie kod�w klawiszy (u�ywane, na przyk�ad, przez showkey). W przeciwnym razie, owe kody klawiszy por�wnywane s� z rozk�adem klawiatury, i znaleziony tam znak lub ci�g znak�w jest przesy�any do aplikacji, b�d� nast�puje wykonanie opisanej tam czynno�ci. (Na przyk�ad, je�li naci�nie si� i zwolni klawisz a, klawiatura wysy�a kody skanowe 0x1e i 0x9e, przekszta�cane s� one na kody klawiszy 30 i 158, a potem przesy�ane jako 0141, kod ASCII lub Latin-1 litery 'a'; je�li naci�nie si� i zwolni Delete, klawiatura wysy�a kody skanowe 0xe0 0x53 0xe0 0xd3, przekszta�cane na kody klawiszy 111 i 239, a potem przesy�ane jako czterosymbolowa sekwencja ESC [ 3 ~, wszystko to zak�adaj�c ameryka�ski uk�ad klawiatury jako domy�lny (przyk�adem kombinacji klawiszy kt�rej przypisana jest czynno�� jest Ctrl-Alt-Del).

T�umaczenia pomi�dzy niecz�stymi kodami skanowymi i klawiszy mo�na dokona� u�ywaj�c narz�dzia setkeycodes - tylko bardzo nieliczni b�d� go potrzebowa�. T�umaczenia pomi�dzy kodami klawiszy i znakami b�d� ci�gami znak�w lub czynno�ci, to jest uk�adem klawiatury, dokonuje si� przy pomocy narz�dzia loadkeys. Po szczeg�y patrz getkeycodes(8), setkeycodes(8), dumpkeys(1), loadkeys(1).

Tam gdzie w powy�szym opisie pisz� "przes�ane do aplikacji", znaczy to rzeczywi�cie "przes�ane do sterownika terminala". To jest, dalsze przetwarzanie jest bardzo podobne do przetwarzania tekstu kt�ry odbierany jest na z��czu szeregowym. Szczeg�y tego przetwarzania ustala program .

3. Og�lnie o konsoli

I odwrotnie, kiedy wypisujesz co� na konsol�, najpierw podpada to pod standardowe przetwarzanie tty, a potem dostarczane jest sterownikowi konsoli. Sterownik konsoli emuluje vt100 i przek�ada dane wej�ciowe aby rozpozna� Esc-sekwencje vt100 (ruchu kursora, czyszczenia ekranu itp.) Znaki kt�re nie s� cz�ci� Esc-sekwencji s� najpierw przetwarzane na Unicode, u�ywaj�c jednej z czterech tablic odwzorowa� je�li konsola nie by�a od pocz�tku w trybie UTF-8, potem odnoszone do tabeli opisuj�cej zale�no�� mi�dzy warto�ciami Unicode i pozycjami w czcionce, a uzyskane o�mio- lub dziewi�ciobitowe indeksy zapisywane s� w pami�ci ekranu, gdzie powoduj� wy�wietlenie kszta�t�w znak�w znalezionych w ROMie znakowym karty graficznej. Do ROMu znakowego mo�na za�adowa� w�asne czcionki u�ywaj�c setfont, za�adowa� odpowiadaj�c� tablic� odwzorowa� Unicode u�ywaj�c loadunimap, i za�adowa� tablic� odwzorowa� u�ytkownika u�ywaj�c mapscrn. Wi�cej szczeg��w poni�ej.

Istnieje wiele konsol (zwanych Wirtualnymi Konsolami lub Wirtualnymi Terminalami) kt�re dziel� ten sam ekran. Mo�esz ich u�ywa� jako oddzielnych urz�dze�, albo uruchamiaj�c na nich oddzielne sesje logowania, albo po prostu przesy�aj�c na nie jakie� dane wyj�ciowe z pocz�tku czy ko�ca system log. Patrz ni�ej ("Prze��czanie konsol") co do tego jak je ustawia� i prze��cza� si� mi�dzy nimi.

4. Kasowanie terminala

Na ekranie s� �mieci, a wszystkie naci�ni�cia klawiszy daj� w efekcie znaki do rysowania ramek. Co robi�?

Wiele program�w przerysuje ekran po naci�ni�ciu ^L. Mo�e to pom�c w sytuacji gdy na ekranie znajduj� si� �mieci z modemu lub nadany komunikat. Komenda clear czy�ci ekran.

Komenda reset kasuje sterownik konsoli. Pomaga to w sytuacji gdy ekran pe�en jest dziwnych znak�w graficznych, a tak�e je�li skurczy si� do jednej linii na dole. Je�li nie masz tej komendy, b�d� je�li robi ona co� innego, stw�rz w�asn� dodaj�c poni�sze dwie linie do pliku wykonywalnego reset w swojej �cie�ce:

#!/bin/sh
echo -e \\033c

to jest, masz zamiar pos�a� dwa znaki: Esc-c, na konsol�.

Dlaczego ekran czasami si� miesza i wy�wietlane jest 24 lub jedna linia, zamiast zwyk�ych 25? C�, g��wnym winowajc� jest tutaj TERM=vt100 (albo jaki� inny terminal z 24 liniami) zamiast TERM= linux przy ��czeniu si� zdalnie. Je�li stanie si� to na /dev/tty2 napisz:

% cat > /dev/tty2
^[c
^D

na jakie� innej WK (gdzie wpisujesz cztery symbole do cat: Esc, c, Enter, Ctrl-D) i od�wie� ekran na /dev/tty2 (mo�liwie u�ywaj�c ^L), co przywr�ci porz�dek. Oczywi�cie sta�ym rozwi�zaniem jest u�ywanie odpowiedniego kawa�ka termcap lub terminfo.

Dlaczego tak si� dzieje �e czasami dostajesz mas� znak�w do rysowania ramek, np. po wys�aniu na ekran pliku binarnego za pomoc� cat ? Istnieje wiele Esc-sekwencji kt�re zmieniaj� zestaw znak�w, a tw�j plik mo�e przypadkiem zawiera� niekt�re z nich. Esc c to og�lne przekasowanie, lekarstwo na wszystko, ale je�eli wiesz dok�adnie co posz�o nie tak, mo�esz to naprawi� bez kasowania innych atrybut�w konsoli. Na przyk�ad po

% cat
^N
^D

tw�j znak zach�ty konsoli b�dzie si� ca�y sk�ada� ze znak�w do rysowania ramek. Napisz teraz (na �lepo):

% cat
^O
^D

I wszystko jest zn�w w porz�dku (wpisa�e� trzy symbole do ka�dego cat: ^N lub ^O, Enter, ^D). �eby zrozumie� co si� dzieje, patrz "Zestawy znak�w konsoli" poni�ej.

Je�li za�adowa�e� jaki� dziwn� czcionk� i chcesz powr�ci� do domy�lnej.

% setfont

wystarczy (za�o�ywszy �e zachowa�e� domy�ln� czcionke w domy�lnym miejscu). Je�li ta czcionka nie zawiera osadzonej mapy unikodowej (i wypisuje z�e symbole dla znak�w akcentowanych), wpisz

% loadunimap

Na przyk�ad, je�li wykonam

% loadkeys de-latin1

b�d� mia� niemieck� klawiatur�, a klawisz na lewo od Enter wypisze mi a-umlaut. Dzia�a to, poniewa� a-umlaut wyst�puje na stronie kodowej 437, i mapa unikodowa j�dra jest inicjalizowana dla CP 437, a moja karta graficzna ma wbudowan� czcionk� CP 437. Je�li teraz za�aduj� czcionk� ISO-8859-1 u�ywaj�c

% setfont iso01.f16

nadal wszystko dzia�a, bowiem setfont podstawia j�dru wa�n� map� unikodow� (je�li do czcionki nie jest do��czona mapa), a bez mapy j�dro odwo�uje si� bezpo�rednio do czcionki, a to jest zupe�nie poprawne dla systemu ISO-8859-1 z czcionk� iso01.f16. Ale przywr�cenie poprzedniej czcionki za pomoc�

% setfont

daje du�� sigm� zamiast a-umlaut - wszystkie akcentowane znaki s� pomieszane, poniewa� ta czcionka r�wnie� nie ma osadzonej mapy unikodowej. Po wykonaniu

% loadunimap

kt�ra �aduje domy�ln� map� unikodow� (prawid�ow� dla domy�lnej czcionki), wszystko zn�w dzia�a jak trzeba. Zwykle loadunimap nie jest wywo�ywane bezpo�rednio, lecz przez setfont. Tak wi�c poprzednie dwie komendy mo�na zast�pi� przez

% setfont -u def

Czcionki etiopskie oraz lat1u*.psf maj� osadzone tabele znak�w Unicode. Wi�kszo�� pozosta�ych nie ma.

Na starych terminalach wydruk zawieraj�cy znaki tabulacji mo�e wymaga� op�nienia, wi�c musisz napisa�

% stty tab3

(patrz stty(1)).

Tryb graficzny zmieni� mo�esz u�ywaj�c resizecons albo SVGATextMode. To zwykle za�atwia aspekt wy�wietlania. Po stronie wprowadzania mo�e istnie� wiele potencjalnie niew�a�ciwych rzeczy. Je�li X, DOOM, albo jaki� inny program u�ywaj�cy trybu "surowego" pada, twoja konsola mo�e ci�gle znajdowa� si� w stanie "surowym" (lub "p�surowym"), i trudno jest wydawa� polecenia. Patrz "Jak wyj�� z trybu surowego" poni�ej. Je�li za�adowa�e� z�y uk�ad klawiatury, to

% loadkeys -d

�aduje ponownie uk�ad domy�lny, ale mo�e si� okaza� �e trudno jest napisa� "-" ! Alternatywa to:

% loadkeys defkeymap

Czasami nawet litery s� popl�tane. Warto wiedzie� �e istniej� cztery g��wne typy klawiatur: QWERTY, QWERTZ, AZERTY i Dvoraka. Trzy pierwsze nazwane s� od pierwszych sze�ciu klawiszy i z grubsza odpowiadaj� krajom angielsko-, niemiecko-, i francuskoj�zycznym. W por�wnaniu z QWERTY, uk�ad QWERTZ zamienia Y i Z. W por�wnaniu z QWERTY, uk�ad AZERTY zamienia Q i A, W i Z, i ma M na prawo od L, na pozycji �rednika. Uk�ad Dvoraka ma zupe�nie inny porz�dek liter.

4.1 Sprz�towe kasowanie klawiatury

Co� mo�e by� nie w porz�dku na poziomie ni�szym ni� wie o tym Linux. Istniej� co najmniej dwa r�ne ni�sze poziomy (klawiatura i sterownik klawiatury) w kt�rych wyda� mo�na komend� "wy��cz klawiatur�" sprz�towi za ni� odpowiedzialnemu. Klawiatury cz�sto mo�na zaprogramowa� na u�ywanie jednego z trzech r�nych zestaw�w kod�w skanowych.

Niemniej nie wiem o �adnym przypadku w kt�rym okaza�oby si� to jakim� problemem.

Niekt�re klawiatury maj� wbudowan� zdolno�� zmiany uk�ad�w. Stormy Henderson (stormy@ghost.net) pisze: "Je�li twoja klawiatura przeprogramowa�a si� przez przypadek, mo�esz (na klawiaturze Gateway AnyKey) nacisn�� control-alt-suspend_macro by skasowa� ustawienia klawiszy do stanu normalnego".

5. Delete i Backzspace

Nak�onienie Delete i Backspace do prawid�owej pracy jest wcale trywialne, zw�aszcza w �rodowisku mieszanym, gdzie komunikujesz si� z konsol�, z X, bash, emacsem, logujesz si� zdalnie itd. Mo�e b�dziesz musia� wyedytowa� kilkana�cie plik�w konfiguracyjnych �eby powiedzie� wszystkim konkretnym programom czego dok�adnie chcesz. Z jednej strony problemem jest jakie klawisze wypisuj� jakie kody (i jak te kody przetrawia kermit czy emacs), a z drugiej strony jakie funkcje s� przypisane jakim klawiszom.

Ludzie cz�sto skar�� si� "m�j klawisz wstecznej spacji nie dzia�a", jak gdyby ten klawisz mia� wbudowan� funkcj� "skasuj poprzedni znak". Niestety wszystko co ten, albo ka�dy inny, klawisz robi to wypisanie kodu, i mo�na tylko mie� nadziej� �e sterownik tty j�dra i wszystkie aplikacje mo�na tak skonfigurowa� �e klawisz wstecznej spacji rzeczywi�cie dzia�a jako klawisz kasuj�cy poprzedni znak.

Wi�kszo�� unixowych program�w otrzymuj� swoje dane wej�ciowe tty przez sterownik tty j�dra w trybie "niesurowym", i zwyk�e polecenie stty ustala znak kasuj�cy. Jednak programy takie jak bash, emacs czy X przetwarzaj� dane wej�ciowe w�asnymi metodami, i musz� by� ka�de z osobna przekonane do w�a�ciwego dzia�ania.

5.1 Jak powiedzie� Unixowi jakiego znaku chcesz u�ywa� �eby skasowa�ostatnio napisany znak?

% stty erase ^?

Je�li znak jest kasowany, ale w dziwny spos�b, co� jest nie w porz�dku z twoimi ustawieniami tty. Je�li ustawione jest echoprt, kasowane znaki uj�te s� mi�dzy \ oraz /. Je�li echoe nie jest ustawione, znak kasowania jest wypisywany (co jest rozs�dne w przypadku gdy jest to znak drukuj�cy, jak #). Wi�kszo�� ludzi woli stty echoe -echoprt. Napisanie stty sane zrobi to i wi�cej. Napisanie stty -a pokazuje bie��ce ustawienia. Jak to si� sta�o �e domy�lnie nie by�y poprawne? B�d�, je�eli u�yjesz poprawnego getty.

Zauwa� �e wiele program�w (jak bash, emacs itd.) maj� swoje w�asne przypisania klawiszy (zdefiniowane w ~/.inputrc, ~/.emacs itd.) i nie wp�ywa na nie ustawienie znaku kasowania.

Standardowy unixowy sterownik tty nie rozpoznaje kursora, ani klawiszy (takich jak klawiszy strza�ek) przesuwaj�cych bie��c� pozycj�, i st�d nie ma te� komendy takiej jak "skasuj bie��cy znak". Ale na przyk�ad mo�esz nauczy� bash na konsoli rozpoznawania Delete wstawiaj�c

set editing-mode emacs
"\e[3~":delete-char

do ~/.inputrc

"Kiedy� getty dobrze oddawa�o DEL i BS, ale teraz si� popsu�o"

Dawniej, sterownik konsoli zwykle wypisywa� BS-spacja-BS (\010\040\010) gdy otrzyma� znak DEL (\177). Dzisiaj, znaki DEL s� ignorowane (tak jak powinny, poniewa� sterownik emuluje vt100). Zdob�d� lepsze getty, tj. takie kt�re nie wypisuje DEL.

"Login zachowuje si� inaczej przy pierwszej i drugiej pr�bielogowania"

Przy pierwszej pr�bie, komunikujesz si� z getty. Przy drugiej pr�bie, komunikujesz si� z login, innym programem.

5.2 Jak powiedziec Linuxowi jaki kod wysy�a� po naci�ni�ciu klawisza

Na konsoli lub, �ci�lej, gdy nie jeste� w trybie (p�)surowym, u�yj

% loadkeys mykeys.map

A pod X u�yj

% xmodmap mykeys.xmap

[gdzie mykeys.(x)map to oczywi�cie konkretny plik definicji klawiatury - przyp. t�um.]

Zauwa� �e (od XFree86-2.1) X czyta linuxowe ustawienia uk�ad�w klawiatury przy initializacji Xowego keymap. Chocia� oba systemy nie s� w 100% kompatybilne, oznacza to �e w wielu przypadkach u�ywanie xmodmap> sta�o si� zb�dne. Za��my, na przyk�ad, �e chcesz �eby tw�j klawisz Backspace dawa� wsteczn� spacj� (^H, �semkowe 010), a szary klawisz Delete DEL (�semkowe 012), dodaj poni�sze do etc/rc.local (albo tam gdzie trzymasz swoje pliki inicjalizacyjne).

/usr/bin/loadkeys << EOF
keycode 14 = BackSpace
keycode 111 = Delete
EOF

Zauwa� �e zmieni to funkcj� tych klawiszy tylko gdy nie u�ywa si� modyfikator�w. Domy�lnie j�dro Linuxa pozwala Ctrl-Backspace wypisywa� wsteczn� spacj� - czasami przydaje si� to jako zapasowe wyj�cie, gdy stwierdzisz �e mo�esz wypisywa� tylko znaki DEL.

Lewy klawisz Alt jest czasem zwany klawiszem Meta, a domy�lnie kombinacje AltL-X s� przypisane do symbolu Meta-X. Ale jakim ci�giem znak�w jest Meta-X? Ustalane jest to (via tty) przez znacznik Meta, ustawiony komend� setmetamode. Dwiema mo�liwo�ciami s�: Esc X albo X iloczyn logiczny 0200.

Dlaczego klawisz Backspace nie wysy�a domy�lnie wstecznejspacji?

(i) Poniewa� vt100 mia� klawisz Delete nad klawiszem Enter.

(ii) Bo Linus tak postanowi�.

5.3 Jak nakaza� X zamian� Delete i Backspace

% xmodmap -e "keysym BackSpace = Delete" -e "keysym Delete = BackSpace"

Albo, je�li chcesz tylko �eby klawisz Backspace dawa� wsteczn� spacj�:

% xmodmap -e "keycode 22 = BackSpace"

Albo, je�li chesz tylko �eby klawisz Delete dawa� Delete:

% xmodmap -e "keycode 107 = Delete"

(ale zwykle takie jest ju� domy�lne przypisanie).

5.4 Jak powiedzie� emacsowi co robi� gdy otrzyma Delete lubwsteczn� spacj�

Wsad� do swojego pliku .emacs linie jak ni�ej:

  (global-set-key "\?" 'delete-backward-char)
  (global-set-key "\C-h" 'help-command)

Oczywi�cie mo�esz w ten sam spos�b przypisa� inne polecenia innym klawiszom. Zauwa� �e niekt�re tryby g��wne i poboczne redefiniuj� przypisania klawiszy. Na przyk�ad w trybie szukania przyrostowego [incremental mode] mo�na znale�� kod:

(define-key map "\177" 'isearch-delete-char)
(define-key map "\C-h" 'isearch-mode-help)

Oznacza to �e u�ywanie dw�ch powy�szych komend globalnych mo�e nie by� dobrym pomys�em. Za du�o jest miejsc z wbudowanym za�o�eniem ^H = pomoc i Del = delete. Nie oznacza to �e musisz ustawi� klawisze tak �eby Backspace dawa�o Del. Ale je�li tak nie jest, naj�atwiej jest zmieni� ich uk�ad na najni�szym mo�liwym poziomie emacsa.

5.5 Jak nakaza� emacsowi zamienienie Delete i Backspace

Wsad� do swojego pliku .emacs linie jak ni�ej:

  (setq keyboard-translate-table (make-string 128 0))
  (let ((i 0))
  (while (< i 128)
      (aset keyboard-translate-table i i)
      (setq i (1+ i))))
  (aset keyboard-translate-table ?\b ?\^?)
  (aset keyboard-translate-table ?\^? ?\b)

Ostatnie wersje emacsa maj� funkcj� keyboard-translate, wi�c mo�na upro�ci� powy�sze do

(keyboard-translate ?\C-h ?\C-?)
(keyboard-translate ?\C-? ?\C-h)

Zauwa� �e pod X emacs mo�e rozr�nia� Ctrl-h i klawisz Backspace (niezale�nie od tego jakie kody oba wypisuj� na konsoli), a domy�lnie emacs b�dzie widzia� klawisz wstecznej spacji jako DEL (wykonuj�cy polecenia kasowania, przypisane temu znakowi, a nie polecenia pomocy, przypisane do ^H). Mo�na ro�r�nia� Backspace i Delete, np. poprzez

  (global-unset-key [backspace] )
  (global-set-key [backspace] 'delete-backward-char)
  (global-unset-key [delete] )
  (global-set-key [delete] 'delete-char)

5.6 Jak nakaza� kermitowi zamienienie Delete i Backspace

Wsad� do swojego pliku .kermrc linie jak ni�ej:

  set key \127 \8
  set key \8 \127

5.7 Jak poinformowa� xterm o twoich ulubionych trybach tty

Xterm dziedziczy zwykle tryby tty po programie kt�ry go wywo�a�. W xdm, domy�lne klawisze kasowania i usuwania to # i @, jak w starej dobrej wersji 6 Unixa. Je�li nie podoba ci si� to, mo�esz wsadzi� co� podobnego do

  XTerm*ttymodes: erase ^? kill ^U intr ^C quit ^\ eof ^D susp ^Z start ^Q stop ^S eol ^@

do /usr/lib/X11/app-defaults/XTerm albo do $HOME/.Xresources, zak�adaj�c �e masz lini�

  xrdb $HOME/.Xresources

w swoim $HOME/.xinitrc.

5.8 Jak poinformowa� xmosaic �e klawisz Backspace wypisuje Del

Wsadzenie

  *XmText.translations: #override\n\
         <Key>osfDelete: delete-previous-character()
  *XmTextField.translations: #override\n\
          <Key>osfDelete: delete-previous-character()

do twojego $HOME/.Xresources pomo�e.

W Netscape FAQ mo�na jednak przeczyta�:

        Dlaczego m�j klawisz Backspace nie dzia�a w polach tekstowych?
        Domy�lnie, Linux i XFree86 dostarczane s� ze �le skonfigurowanymi
        klawiszami Backspace i Delete. Wszystkie programy oparte na Motif
        (w tym oczywi�cie Netscape Navigator) b�d� w ten sam spos�b �le
        dzia�a�.

        Specyfikacja Motif m�wi �e Backspace ma kasowa� poprzedni znak a
        Delete ma kasowa� znak nast�pny. Linux i XFree86 s� dostarczane
        z takim ustawieniem �e oba klawisze - Backspace i Delete - wypisuj�
        Delete.

        Mo�esz to naprawi� u�ywaj�c kt�rego� z program�w xmodmap, xkeycaps
        b�d� loadkeys i sprawi� �e odpowiedni klawisz wypisuje klawsym
        wsteczna spacja, a nie Delete.

        Mo�esz to r�wnie� naprawi� u�ywaj�c pliku .motifbind; patrz
        strona man VirtualBindings(3).

        Uwaga: nie u�ywaj zasob�w *XmText.translations lub *XmTextField.
        translations pr�buj�c naprawi� ten problem. Je�li tak zrobisz,
        rozwalisz pozosta�e przypisania klawiszy w polach tekstowych NN.

5.9 Lepsze rozwi�zanie dla program�w u�ywaj�cych Motifa, jak netscape

Ted Kandell (ted@tcg.net) sugeruje co nast�puje:

Dodaj poni�sze gdzie� w swoim .profile:

  stty erase ^H

Je�li u�ywasz basha, dodaj poni�sze linie do swojego .inputrc:

       "\C-?": delete-char
       "\C-h": backward-delete-char

Dodaj nast�puj�ce linie do swojego pliku .xinitrc:

       xmodmap <<-EOF
       keycode 22  =  BackSpace osfBackSpace
       keycode 107 =  Delete
       EOF

       # wystartuj tu swojego managera okien, np.
       #(fvwm) 2>&1 | tee /dev/tty /dev/console

       stty sane
       stty erase ^H
       loadmap <<-EOF
       keycode 14  = BackSpace
       keycode 111 = Delete
       EOF

B�dzie to definitywnie dzia�a� dla klawiatury PC 101 lub 102-klawiszowej, z ka�dym rozk�adem Linuxa/XFree86.

Wa�n� cz�ci� uczenia aplikacji motifowych takich jak Netscape poprawnej pracy jest dodanie osfBackSpace do keycode 22, opr�cz BackSpace.

Zauwa� nie po obu stronach znaku = nie mog� si� znajdowa� spacje.

5.10 Co z termcap i terminfo?

Gdy kto� ma problemy z wsteczn� spacj�, ma on tendencj� do patrzenia w sw�j kawa�ek termcap (lub terminfo) opisuj�cy terminal; i rzeczywi�cie, istnieje tam zdolno�� kb (lub kbs) opisuj�ca kod wypisywany przez klawisz Backspace. Niemniej niewiele program�w jej u�ywa, wi�c - chyba �e masz problemy z jednym konkretnym programem - prawdopodobnie b��d le�y gdzie indziej. Oczywi�cie poprawienie swojego kawa�ka termcap (terminfo) nie jest z�ym pomys�em tak czy owak. Patrz ni�ej pod "Zmienna TERM".

6. Zestawy znak�w konsoli

J�dro pr�buje wywnioskowa� najpierw jaki symbol rozumie� przez ka�dy podany przez u�ytkownika bajt, a nast�pnie gdzie ten symbol jest umieszczony w bie��cej czcionce.

J�dro wie o pi�ciu t�umaczeniach bajt�w na symbole konsoli-ekranu. W trybie Unicode (UTF-8) kod UTF-8 jest przekszta�acany bezpo�rednio na Unicode. Za�o�eniem jest �e prawie wszystkie potrzebne symbole w Unicode si� znajduj�, a w przypadkach gdzie nie jest to prawd� zarezerwowane s� kody 0x00ff* dla bezpo�redniego dost�pu do czcionki. Poza trybem Unicode, u�ywa si� jednej z tabeli t�umacze�. Te cztery tabele to: a) Latin1 -> Unicode, b) grafika vt100 -> Unicode, c) PC -> Unicode, d) zdefiniowane przez u�ytkownika.

Istniej� dwa zestawy znak�w, zwane G0 i G1, i jeden z nich jest zestawem bie��cym (pocz�tkowo G0). Wypisanie ^N spowoduje �e bie��cym zestawem b�dzie G1, ^O �e G0.

Zmienne G0 i G1 wskazuj� na tablice t�umacze�, i mog� by� zmienione przez u�ytkownika. Pocz�tkowo wskazuj� na tablice a) i b), odpowiednio. Sekwencje Esc(B, Esc(0, Esc(U, Esc(K powoduj� �e G0 wskazuje na tablice t�umacze� a), b), c), d), odpowiednio. Sekwencje Esc)B, Esc)0, Esc)U, Esc)K powoduj� �e G1 wskazuje na tablice t�umacze� a), b), c), d), odpowiednio.

Sekwencja Esc-c powoduje skasowanie terminala, czyli to czego chcesz je�eli ekran jest ca�y za�miecony. Cz�sto doradzane echo ^V^O spowoduje tylko �e zestawem bie��cym b�dzie G0, ale nie ma gwarancji �e G0 pokazuje na tablic� a). W niekt�rych dystrybucjach istnieje program reset(1), kt�ry wypisuje po prostu echo ^[c. Je�li tw�j kawa�ek termcap dla konsoli jest poprawny (i ma :rs=\Ec:), wtedy zadzia�a tak�e setterm -reset.

Zdefiniowan� przez u�ytkownika tablic� odwzorowa� ustawi� mo�na u�ywaj�c mapscrn(8). Rezultatem odwzorowania jest to �e je�eli wypisywany jest symbol c, to wysy�any do pami�ci ekranu jest symbol s = map[c]. Obraz bitowy kt�ry odpowiada s znajduje si� w ROMie znakowym, i mo�e zosta� zmieniony przy pomocy setfont(8).

7. Prze��czanie konsoli

Domy�lnie prze��czania konsoli dokonuje Alt-Fn lub Ctrl-Alt-Fn. Pod X (lub nowszymi wersjami dosemu) dzia�a tylko Ctrl-Alt-Fn. Wiele uk�ad�w klawiatur pozwala na cykliczne przemieszczanie si� mi�dzy konsolami przy u�yciu Alt-strza�ka_w_prawo i Alt-strza�ka_w_lewo.

XFree86 1.3 nie wie �e przyci�ni�ty jest Alt gdy prze��czasz si� do okienka X. Tak wi�c nie mo�esz prze��czy� si� natychmiast na jak�� innej WK, ale musisz najpierw zwolni� Alt. W drug� stron� powinno to dzia�a�; j�dro zawsze zanotowywuje stan g�ra/d� wszystkich klawiszy. (na tyle na ile mo�na; na niekt�rych klawiaturach cz�� klawiszy nie wysy�a kodu skanowego po naci�ni�ciu, np. klawisze PFn na FOCUS 9000) lub zwolnieniu (np. klawisz Pause na wielu klawiaturach).

XFree86 1.3 zapisuje czcionki za�adowane do ROMu znakowego przy starcie i przywraca je przy prze��czaniu konsoli. Tak wi�c efekt setfont na WK zostaje wymazany gdy prze��czasz si� mi�dzy X i zewn�trzem. U�ywanie setfont pod X mo�e doprowadzi� do dziwnych rezultat�w.

Pod kontrol� programow� WK mo�na zmienia� u�ywaj�c komendy chvt.

7.1 Zmiana numeru Wirtualnych Konsoli

To pytanie ci�gle pojawia si� od czasu do czasu, ale odpowied� brzmi: ju� masz ich dosy�. Od wersji 1.54 j�dra istnieje od 1 do 63 wirtualnych konsol. Nowa konsola tworzona jest natychmiast po otwarciu. Usuwa si� j� narz�dziem disalloc (ale mo�na j� usun�� tylko gdy nie ma z ni� skojarzonych proces�w).

Dla starszych j�der, zmie� lini�

#define NR_CONSOLES     8

w include/linux/tty.h (nie zwi�kszaj tej liczby powy�ej 63), i zrekompiluj j�dro.

Je�li jeszcze nie istniej�, stw�rz urz�dzenia tty u�ywaj�c MAKEDEV lub mknod ttyN c 4, gdzie N oznacza numer tty. Na przyk�ad:

for i in 9 10 11 12; do mknod /dev/tty$i c 4 $i; done

albo, lepiej, (poniewa� zatroszczy si� to r�wnie� o w�a�ciciela i prawa dost�pu)

for i in 9 10 11 12; do /dev/MAKEDEV tty$i; done

Je�li chcesz �eby nowe WK uruchamia�y getty, dodaj linie w /etc/inittab (ale jest znacznie lepiej mie� uruchomione tylko dwie getty, i tworzy� wi�cej konsol dynamicznie w razie potrzeby. W ten spos�b b�dziesz mia� wi�cej pami�ci gdy nie u�ywasz wszystkich konsol, a tak�e wi�cej konsol, w razie gdyby� naprawd� ich potrzebowa�. Wyedytuj /etc/inittab i wykomentuj wszystkie getty pr�cz dw�ch pierwszych).

Gdy konsole s� przydzielane dynamicznie, zazwyczaj naj�atwiej jest mie� tylko jedn� czy dwie z uruchomionym getty. Wi�cej otwiera si� za pomoc� open -l -s bash. Nieu�ywane konsole (bez skojarzonych proces�w) usuwa si� za pomoc� disalloc. Ale, rzec mo�esz, zaj�ty jestem czynno�ciami w kt�rych nagle potrzebuj� wi�cej konsol, a nie mam znaku zach�ty bash aby wyda� polecenie open. Na szcz�cie mo�liwe jest stworzenie nowej konsoli po naci�ni�ciu jednego klawisza, bez wzgl�du na to co dzieje si� na konsoli bie��cej. Je�li masz spawn_login z kbd-0.90.tar.gz i wstawisz

        loadkeys << EOF
        alt keycode 103 = Spawn_Console
        EOF
        spawn_login &
do etc/rc.local, naci�ni�cie Alt-strza�ka_w_g�r� utworzy now� WK z uruchomionym login (i prze��czy si� na ni�). U�ywaj�c spawn_console & zamiast spawn_login & uzyskasz tam uruchomiony bash. Patrz te� open-1.4.tgz oraz dynamic-vc-1.1.tar.gz.

To jaka czynno�� winna by� podejmowana po naci�ni�ciu tego klawisza Spawn_Console mo�na r�wnie� ustawi� w /etc/inittab pod kbrequest, je�li masz �wie�y plik inicjalizacyjny. Patrz inittab(5) (czynno�� ta mo�e by� czym� zupe�nie innym - nazwa�em ten klawisz Spawn_Console po prostu dlatego �e do tego go wykorzystywa�em).

Na terminalach wyliczonych w /etc/securetty/ mo�esz zalogowa� si� tylko jako root. Istniej� programy kt�re czytaj� ustawienia terminala z plik�w /etc/ttys/ i /etc/ttytype. Je�li masz takie pliki, i stworzysz dodatkowe konsole, dobrym pomys�em mog�oby by� r�wnie� dodanie dla nich linii w tych plikach.

8. Ctrl-Alt-Del i inne specjalne kombinacje klawiszy

8.1 Ctrl-Alt-Del (prze�adowanie)

Je�li naci�niesz Ctrl-Alt-Del (albo ka�dy inny klawisz z przypisanym przed loadkeys klawsymem Boot) komputer albo prze�aduje si� natychmiast (bez sync), albo do init wysy�a si� SIGINT. To pierwsze zachowanie jest domy�lne. Mo�e je zmieni� root u�ywaj�c systemowego wywo�ania reboot(), patrz ctrlaltdel(8). Niekt�re pliki init zmieniaj� warto�� domy�ln�. To co nast�pi gdy init otrzyma SIGINT zale�y od u�ytej wersji tego� - cz�sto okre�la to pole pf w /etc/inittab (co oznacza �e mo�esz w tym przypadku uruchomi� dowolny program).

W obecnym j�drze Ctrl-AltGr-Del nie jest ju� domy�lnie przypisane do Boot.

8.2 Inne kombinacje

Name            Default binding
-------------------------------
Show_Memory     Shift-Scrollock     [pokazuje info o pami�ci]
Show_Registers  AltGr-ScrollLock    [pokazuje zawarto�� rejestr�w]
Show_State      Ctrl-ScrollLock     [pokazuje status]
Console_n       Alt-Fn and Ctrl-Alt-Fn  (1 <= n <= 12) [konsola nr n]
Console_{n+12}  AltGr-Fn                (1 <= n <= 12) [konsola nr n+12]
Incr_Console    Alt-RightArrow      [o konsol� w g�r�]
Decr_Console    Alt-LeftArrow       [o konsol� w d�]
Last_Console    Alt[Gr]-PrintScreen [ostatnia konsola]
Scroll_Backward Shift-PageUp        [przewija ekran w g�r�]
Scroll_Forward  Shift-PageDown      [przewija ekran w d�]
Caps_On                             [w��cza du�e litery. CapsLock dzia�a
                                    jako prze��cznik]
Compose         Ctrl-.              [tryb sk�adania, np. '+e daje é]

8.3 Kombinacje w X

Ctrl-Alt-Fn     Prze��cza na WK nr n
Ctrl-Alt-KP+    Nast�pny tryb
Ctrl-Alt-KP-    Ostatni tryb
Ctrl-Alt-BS     "zabija" X

[KP+ i KP- to szary plus i minus z klawiatury numerycznej - przyp. t�um.]

Na niekt�rych p�ytach g��wnych Ctrl-Alt-KP- i Ctrl-Alt-KP+ s� r�wnowa�ne naci�ni�ciu przycisku Turbo. To jest, oba dadz� w wyniku kody skanowe 1d 38 4a ca b8 9d i 1d 38 4e ce b8 9d, i oba prze��cza� b�d� mi�dzy trybem turbo (>= 25 Mhz) i nie-turbo (8/12 Mhz). (te kombinacje klawiszy cz�sto dzia�aj� tylko po ustawieniu zworkami na p�ycie g��wnej).

Perry F. Nguyen (pfnguyen@netcom22.netcom.com) pisze: AMI BIOS ma w�a�ciwo�� kt�ra blokuje klawiatur� i miga diodami je�eli naci�ni�to kombinacj� Ctrl-Alt-Backspace w czasie pytania o has�o BIOS, a� to has�o nie zostanie wpisane.

8.4 Kombinacje Dosemu

Ctrl-Alt-Fn     Prze��cz na WK nr n (od wersji 0.50, wcze�niej Alt-Fn)
Ctrl-Alt-PgDn   "zabij" dosemu (w trybie SUROWYM klawiatury)

(i wiele innych kombinacji - patrz dokumentacja dosemu)

8.5 Sk�adanie symboli

Jeden symbol mo�e by� z�o�ony przy u�yciu kilku klawiszy.

Zauwa� �e istniej� przynajmniej trzy takie mechanizmy z�o�e�:

  1. Mechanizm sterownika klawiatury Linuxa, u�ywany w po��czeniu z loadkeys.
  2. Mechanizm X - patrz X386keybd(1), p�niej XFree86kbd(1). Pod X11R6: zmodyfikuj /usr/X11R6/lib/X11/locale/iso8859-1/Compose.
  3. Mechanizm emacsowy uzyskiwany po za�adowaniu "iso-insert.el" lub wywo�aniu iso-accents-mode.

W X porz�dek obu symboli jest dowolny; i Compose-,-c i Compose-c-, dadz� dla Linuxa i emacsa domy�lnie dzia�a tylko ta pierwsza sekwencja. Dla X lista kombinacji z�o�e� jest ustalona. Linux i emacs s� elastyczne. Te trzy domy�lne listy s� nieco podobne, ale r�ni� si� szczeg�ami.

9. R�ne w�a�ciwo�ci konsoli

10. Jak wyj�� z trybu surowego

Je�li jaki� program u�ywaj�cy trybu klawiatury K_RAW zako�czy dzia�anie bez przywr�cenia trybu klawiatury do K_XLATE, trudno jest co� zrobi� - nie dzia�a nawet Ctrl-Alt-Del. Niemniej mo�na czasami unikn�� naciskania przycisku Reset (co jest te� po��dane; twoi u�ytkownicy mog� si� zdenerwowa� je�li przerwiesz im sesj� Hacka prze�adowaniem; mo�esz te� uszkodzi� sw�j system plik�w). Proste rozwi�zania opieraj� si� na zalogowaniu si� z innego terminalu lub innego komputera i wykonania kbd_mode -a. Procedura poni�ej zak�ada �e nie jest uruchomiony X, i �e ekran znajduje si� w trybie tekstowym, �e znajdujesz si� w znaku zach�ty bash, �e u�ywasz ameryka�skiego uk�adu klawiatury i �e znakiem kt�ry przerywa dzia�anie komendy jest u ciebie Ctrl-C.

Krok 1. Uruchom X. Jak poni�ej: naci�nij 2 (nie zwalniaj), naci�nij F12 (nie zwalniaj) i natychmiast potem naci�nij =. Uruchomi to X. (Wyja�nienie: je�li naci�ni�cie klawisza wysy�a kod klawisza K, to zwolnienie klawisza wysy�a kod K+128. By� mo�e twoja pow�oka nie lubi tych znak�w powy�ej 128, wi�c unikamy wys�ania ich nie zwalniaj�c �adnego z klawiszy. Musimy jednak by� szybcy, w przeciwnym razie nast�pi powtarzanie klawiszy. Cyfra 2 daje Ctrl-C, kt�re usuwa poprzednie �mieci, F12 daje X, a = Return). Tw�j ekran mo�e by� teraz szary, poniewa� nie wskazano .xinitrc. Ctrl-Alt-Fn jednak dzia�a, mo�esz wi�c przej�� do innej WK (Ctrl-Alt-BS tak�e dzia�a, ale zwraca ci� do poprzedniego stanu, a tego nie chcesz).

Step 2. Ustaw zmian� trybu klawiatury. (Na przyk�ad poprzez sleep 5; kbd_mode -a).

Step 3. Opu�� X. Alt-Fx (cz�sto Alt-F7) przywraca X, a wtedy Ctrl-Alt-Backspace powoduje wyj�cie z niego. W ci�gu pi�ciu sekund twoja klawiatura zn�w b�dzie nadawa�a si� do u�ytku.

Je�li chcesz przygotowa� si� na t� okoliczno��, uczy� \215A\301 (3 symbols) aliasem na kbd_mode -a. Teraz naci�ni�cie tylko = F7 = (trzy symbole) przywr�ci ci� do normalno�ci.

11. Diody na klawiaturze

1. S� to znaczniki klawiatury zale�ne od tty; ka�da WK ma sw�j NumLock, CapsLock i ScrollLock. Domy�lnie te znaczniki pokazywane s� przez diody. Zwyk�ym sposobem ich zmiany jest naci�ni�cie odpowiedniego klawisza (uwaga uboczna: naci�ni�cie klawisza NumLock w trybie klawiszy aplikacji nie zmieni stanu NumLock, ale wypisze Esc-sekwencj�. Je�li chcesz �eby klawisz NumLock zawsze zmienia� stan NumLock, przypisz go do Bare_Num_Lock).

2. Nast�pnie, na ka�de tty istniej� domy�lne znaczniki klawiatury, aby zinicjalizowa� je gdy nast�pi przekasowanie. Tak wi�c je�li chcesz �eby NumLock by� ca�y czas w��czony, jest to mo�liwe. Zwykle zmieni� to mo�na przez setleds -D.

3. Istnieje mo�liwo�� �e diody nie oddaj� stanu znacznik�w klawiatury, ale co� innego.

3A. To co� innego mo�e by� jakimi� trzema bitami gdzie� w j�drze - co mo�na wykorzysta� je�eli chcesz pilnowa� bit�w stanu jakiego� sprz�tu czy programu. Je�li chcesz tego, zmodyfikuj �r�d�o j�dra aby wywo�ywa�o gdzie� register_leds()/

3B. To co� innego mo�e by� te� czymkolwiek co jaki� program chce pokaza� za pomoc� diod. Tak wi�c osoby kt�re lubi� takie rzeczy mog� u�o�y� ze �wiate�ek �adne wzorki. Je�li chcesz tego, u�yj ioctl KBSETLED.

To drugi spos�b nie jest "na tty", ale wyb�r pomi�dzy pierwszym a drugim sposobem jest.

Podsumowuj�c: ka�de tty ma znacznik kbd -> ledmode. Je�li ma on warto�� LED_SHOW_FLAGS, wtdy pokazane s� znaczniki klawiatury (NumLock itd.) konkretnego tty. Je�li ma on warto�� LED_SHOW_IOCTL, wtedy diody pokazuj� ka�d� warto�� kt�r� ostatnio im przypisano za pomoc� ioctl KBSETLED.

Doda� mo�na �e X u�ywa ioctl-�w aby ustawi� diody, ale nie kasuje swojej WK przy wyj�ciu, tak wi�c po u�ywaniu X istnie� mo�e jedna WK kt�ra nie jest w domy�lnym stanie LED_SHOW_FLAGS. Mo�na to naprawi� wykonuj�c setleds -L na tej WK. Patrz setleds(1).

12. Zmienna TERM

Wiele program�w u�ywa zmiennej TERM i bazy danych /etc/termcap lub /usr/lib/terminfo/* �eby zadecydowa� kt�re ci�gi znak�w wys�a� by wyczy�ci� ekran, przesun�� kursor itd., i cz�sto tak�e by zdecydowa� kt�ry ci�g znak�w wysy�any jest przez klawisz wstecznej spacji [u�ytkownika], klawisze funkcyjne itp. T� warto�� ustawia zrazu j�dro (dla konsoli). Zwykle warto�� t� ponownie ustawia getty, u�ywaj�c /etc/ttytype lub argumentu podanego w /etc/inittab. Czasami jest ona r�wnie� ustawiana w /etc/profile.

Starsze systemy u�ywaj� TERM=console lub TERM=co80x25. Nowsze systemy (z ncurses 1.8.6) u�ywaj� bardziej dookre�lonego TERM=linux lub TERM=linux-80x25. Niemniej starsze wersje setterm sprawdzaj� obecno�� TERM r�wnej con* i dlatego odmawiaj� pracy z TERM=linux.

Od wersji j�dra 1.3.2, domy�ln� warto�ci� j�dra dla konsoli jest TERM=linux.

Je�li masz plik termcap bez kawa�ka opisuj�cego linux, dodaj s�owo linux do kawa�ka dla konsoli:

        console|con80x25|linux:\

i ustaw /usr/lib/terminfo/l/linux jako kopi� lub odno�nik symboliczny do /usr/lib/terminfo/c/console.

12.1 Terminfo

W kawa�ku terminfo dla konsoli linuxowej od ncurses 1.8.6 brakuje kich1=\E[2~, czego potrzebuj� niekt�re programy. Wyedytuj plik i skompiluj go tic.

13. Jak zmusi� inne programy do dzia�ania ze znakami spoza ASCII

W dawnych z�ych czasach by�o to wcale nu��ce. Ka�dy program z osobna musia� by� indywidualnie przekonywany do zostawienia twoich bit�w w spokoju. Nie �eby dzisiaj wszystko by�o �atwe, ale ostatnio wiele narz�dzi GNU nauczy�o si� reagowa� na LC_CTYPE=iso_8859_1 lub LC_CTYPE=iso-8859-1. Spr�buj najpierw tego; je�li nie pomo�e, sp�jrz na podpowiedzi poni�ej. Zauwa� �e w nowszych wersjach libc procedura setlocale() dzia�a tylko je�eli zainstalowa�e� pliki locale (tj. w /usr/lib/locale).

Przede wszystkim �smy bit powinien przetrwa� przetwarzanie danych wej�ciowych w j�drze, wi�c upewnij si� �e ustawi�e� stty cs8 -istrip -parenb

A. Dla emacsa szczeg�y w du�ym stopniu zale�� od wersji. Informacja poni�ej dotyczy wersji 19.34. Wstaw linie:

        (set-input-mode nil nil 1)
        (standard-display-european t)
        (require 'iso-syntax)

do swojego $HOME/.emacs. Pierwsza linia (m�wi�c �ci�lej - ko�cowe 1) m�wi emacsowi �eby nie obcina� �smego bitu ze wprowadzanych znak�w. Druga linia m�wi emacsowi �eby nie wy�wietla� znak�w spoza ASCII jako warto�ci �semkowych. Trzecia linia wyszczeg�lnia w�a�ciwo�ci sk�adni i tablic� konwersji ma�ych/du�ych liter dla zestawu znak�w Latin-1. Dwie ostatnie linie s� zb�dne je�eli masz co� podobnego do LC_TYPE=ISO-8859-1 w swoim �rodowisku (zmienna ta mo�e te� nazywa� si� LC_ALL albo po prostu LANG. Jej warto�� mo�e by� czymkolwiek co zawiera ci�g znak�w 88591, 8859-1 lub 8859_1).

To ju� dobry pocz�tek. Na terminalach kt�re nie potrafi� wy�wietla� symboli ISO-8859-1 spoza ASCII, komenda

        (load-library "iso-ascii")

spowoduje �e znaki akcentowane wy�wietlane b�d� jako {,c}a. Je�li twoja klawiatura nie daje �atwego sposobu wprowadzania znak�w spoza ASCII, to

        (load-library "iso-transl")

uczyni dwuznakow� sekwencj� ^X8 znakiem sk�adania [Compose], tak �e czteroznakowa sekwencja ^X8,c daje c-cedilla. Bardzo niewygodne.

Komenda

        (iso-accents-mode)

w��czy lub wy��czy tryb akcent�w ISO-8859-1, w kt�rym sze�c klawiszy: `, ', ", ^,  , / s� klawiszami diakrytyk kt�re modyfikuj� nast�puj�cy po nich symbol. Kombinacje specjalne:  c daje c z cedill�,  d daje islandzkie eth,  t daje islandzkie thorn, "s daje niemieckie scharfes-s, /a daje a z k�eczkiem, /e daje ligatur� ae,  < i  > daj� guillemoty,  ! daje odwr�cony wykrzyknik,  ? odwr�cony pytajnik. '' daje akcent acute. Jest to uk�ad domy�lny. Zmienna iso-languages jest list� par (nazwa j�zyka, uk�ad akcent�w), a uk�ad niedomy�lny wybra� mo�na poprzez

    (iso-accents-customize LANGUAGE)

Tutaj LANGUAGE mo�e by� jednym z "portuguese", "irish", "french", "latin-2", "latin-1".

Poniewa� domy�lnym klawiszem Compose w Linuxie jest Ctrl-., mo�e by� wygodniej u�ywa� tego wsz�dzie. Spr�buj

   (load-library "iso-insert.el")
   (define-key global-map [?\C-.] 8859-1-map)

(Ta ostatnia linia nie b�dzie dzia�a� pod xterm, je�li u�ywasz emacs -nw, ale w tym wypadku mo�esz wstawi�)

        XTerm*VT100.Translations:       #override\n\
        Ctrl <KeyPress> . : string("\0308")

do swojego .Xresources.)

B. Dla less, ustaw zmienn� �rodowiskow� LESSCHARSET=latin1 Zr�b to r�wnie� je�li widzisz <255> lub <AD> w tym co wypisuje man; niekt�re wersje less b�d� oddawa� "mi�kki" my�lnik (�semkowo 0255, szesnastkowo 0xAD) w ten spos�b, je�li nie pozwoli im si� wypisywa� Latin-1.

[je�li to nie pomo�e, wywo�uj less z opcj� -r, b�d� ustaw alias. Je�li nawet to nie pomo�e, albo masz pow�ok� kt�ra nie obs�uguje alias�w, ustaw zmienn� LESSCHARDEF na warto�� 32.224c - przyp. t�um.]

C. Dla ls, podaj opcj� -N (by� mo�e zechcesz ustawi� alias)

D. Dla bash (wersja 1.13.*), wstaw

        set meta-flag on
        set convert-meta off

i, wed�ug Danish HOWTO,

        set output-meta on

do swojego $HOME/.inputrc.

E. dla tcsh, u�yj

        setenv LANG     US_en
        setenv LC_CTYPE iso_8859_1

Je�li masz w swoim systemie nls, u�ywane s� odpowiednie algorytmy. W przeciwnym razie tcsh za�o�y iso_8859_1, niezale�nie od warto�ci podanych w zmiennych LANG i LC_TYPE. Patrz sekcja NATIVE LANGUAGE SYSTEM w tcsh(1). Danish HOWTO twierdzi: setenv LC_CTYPE ISO-8859-1; stty pass8)

F. Dla flex, podaj opcj� -8, je�li program przetwarzaj�cy kt�ry ono tworzy ma operowa� na o�miobitowych danych wej�ciowych (oczywi�cie �e ma).

G. Dla elm, ustaw displaycharset na ISO-8859-1. (Danish HOWTO: LANG=C i LC_CTYPE=ISO-8859-1)

H. Dla program�w u�ywaj�cych curses (takich jak lynx David Sibley donosi: "Zwyk�y pakiet curses u�ywa �smego bitu dla odwr�cenia kolor�w t�a i ekranu (patrz flaga _STANDOUT zdefiniowana w /usr/include/curses.h). Niemniej ncurses zdaje si� by� czyste o�miobitowo i wy�wietla iso-latin-8859-1 poprawnie.

I. Dla program�w u�ywaj�cych groff (takich jak man), upewnij si� �e u�ywasz -Tlatin zamiast -Tascii. Stare wersje programu man u�ywaj� r�wnie� col, wi�c nast�pny punkt stosuje si� odpowiednio.

J. Dla col, upewnij si� �e 1) ustawiony jest tak �eby wykonywa� setlocale(LC_CTYPE,""); i 2) ustawi�e� zmienn� �rodowiskow� LC_CTYPE=ISO-8859-1.

K. Dla rlogin, u�yj opcji -8.

L. Dla joe, sunsite.unc.edu:/pub/Linux/apps/editors/joe-1.0.8-linux.tar.gz dzia�a podobno po wyedytowaniu pliku konfiguracyjnego. Kto� inny powiedzia�: "joe: wstaw opcj� -asis do /isr/lib/joerc, w pierwszej kolumnie.

M. Dla LaTeX: \documentstyle[isolatin]{article}. Dla LaTeX2e: \documentclass{article}\usepackage{isolatin} gdzie isolatin.sty jest dost�pny z ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit.

�adna dyskusja na temat ISO-8859-1 i tego jak zarz�dza� o�miobitowymi znakami zawarta jest w pliku grasp.insa-lyon.fr:/pub/faq/fr/accents (po francusku). Inn� �adn� dyskusj� (po angielsku) mo�na znale�� w rtfm.mit.edu:pub/usenet-by-group/comp.answers/character-sets/iso-8859-1-faq. A jeszcze jedn� (?), w ftp.vlsivie.tuwien.ac.at:/pub/8bit/FAQ-ISO-8859-1.

Je�li chcesz poprawi� program kt�ry �le zachowuje si� ze znakami o�miobitowymi, musisz pami�ta� o tym �e je�li u�ywasz w nim typu "signed char", znaki mog� mie� warto�ci ujemne, a u�ywanie ich jako indeksu tablicy nie uda si�. Niekt�re programy mo�na poprawi� dodaj�c rozs�dnie rzutowania na typ unsigned char.

14. Co dok�adnie robi XFree86-2.1 podczas inicjalizacji uk�adu klawiatury?

Od wersji 2.1 XFree86 zainicjuje sw�j uk�ad klawiatury z uk�adu linuxowego, na tyle na ile mo�na. Linux jednak mia� 16 pozycji na klawisz (jedna na ka�d� kombinacj� modyfikator�w Shift, AltGr, Ctrl, Alt) a obecnie 256 pozycji na klawisz, podczas gdy X ma cztery pozycje na klawisz (jedna na ka�d� kombinacj� Shift i Mod), tak wi�c cz�� informacji musi si� zgubi�.

X najpierw czyta plik Xconfig, gdzie mo�na znale�� definicje klawiszy LeftAlt, RightAlt, RightCtl, ScrollLock keys takie jak Meta, ModeShift, Compose, ModeLock czy ScrollLock - patrz X386keybd(1), p�niej XFree86kbd(1).

Za Mod przyjmuje si� lewy Alt, chyba �e prawy Ctrl zdefiniowano jako ModeShift lub ModeLock, w kt�rym to przypadku przyjmuje si� prawy Ctrl, lub chyba �e tak zdefiniowano prawy Alt, w kt�rym to przypadku przyjmuje si� prawy Alt. Ustala to w jaki spos�b cztery znaczenia klawisza pod XFree86 s� wybierane z szesnastu znacze� linuxowych. Zauwa� �e dzisiaj Linux domy�lnie nie rozr�nia pomi�dzy dwoma klawiszami Ctrl i Shift. X jednak rozr�nia.

Nast�pnie czytany jest uk�ad klawiatury z j�dra i poczynione zostaj� oczywiste odpowiednie przypisania pod X. Przypisania "klawiszy czynno�ciowych" - Show_Memory, Show_State, Show_Registers, Last_Console, Console_n, Scroll_Backward, Scroll_Forward, Caps_On and Boot s� ignorowane, tak samo jak klawisze diakrytyk i klawisze blokuj�ce klawiatur� w okre�lonym trybie [locks] (z wyj�tkiem ShiftLock), oraz klawisze "ASCII-x"

P�niej u�ywane s� definicje z pliku Xconfig. Tak wi�c definicja klawisza Compose z Xconfig we�mie g�r� nad warto�ci� znajduj�c� si� w uk�adzie klawiatury Linuxa.

Co dzieje si� z ci�gami znak�w skojarzonymi z klawiszami funkcyjnymi? Nic. X nie posiada takiej koncepcji (ale mo�liwe jest zdefiniowanie �a�cuch�w znak�w dla klawiszy funkcyjnych w xterm - zauwa� jednak �e najpierw otrzymuje te klawisze program zarz�dzaj�cy oknami).

Nie wiem jak przekona� xterm �e powinien u�ywa� uk�adu klawiatury X w czasie naciskania Alt; wydaje si� �e po prostu patrzy na sw�j zas�b eightBitInput, i zale�nie od tego jak� ma warto�� logiczn� albo ustawia �smy bit znaku, albo wypisuje dodatkowy znak Escape (tak jak setmetamode(1) robi na konsoli).

15. Niecodzienne klawisze i klawiatury

Dwa klawisze: PrintScrn/SysRq i Pause/Break s� szczeg�lne w tym �e maj� one dwa kody klawiszy: pierwszy ma kody 84 z naci�ni�tym r�wnocze�nie Alt, i kod 99 w przeciwnym razie; drugi ma kod klawisza 101 z naci�ni�tym r�wnocze�nie Ctrl i kod 119 w przeciwnym razie. Tak wi�c nie ma sensu przypisywa� funkcji Alt-kod 99 lub Ctrl-kod 119.

Je�li masz dziwne klawisze kt�re nie wypisuj� pod Linuxem �adnego kodu lub wysy�aj� komunikaty takie jak "unrecognized scancode"), a twoje j�dro to 1.1.63 lub p�niejsze, mo�esz u�y� setkeycodes(1) by powiedzie� o nich [kodach] j�dru. Nie b�d� one jednak dzia�a� pod X. Gdy przypisano im kod klawisza za pomoc� setkeycodes, mo�na im przypisa� funkcj� za pomoc� loadkeys.

16. Przyk�ady u�ycia loadkeys i xmodmap

Zamiana Caps Lock i Control na klawiaturze (zak�adaj�c �e u�ywasz uk�ad�w klawiatur 0-15; sprawd� przez dumpkeys | head -1)

  % loadkeys
  keymaps 0-15
  keycode 58 = Control
  keycode 29 = Caps_Lock
  %

Powy�sza zamiana tylko pod X:

  % xmodmap .xmodmaprc

gdzie .xmodmaprc zawiera linie

  remove Lock = Caps_Lock
  remove Control =  Control_L
  keysym  Control_L  =  Caps_Lock
  keysym  Caps_Lock  = Control_L
  add Lock = Caps_Lock
  add Control = Control_L

O co chodzi z tymi numerami klawiszy? Backspace ma 14 pod Linuxem, a 22 pod X? No c�, numery najlepiej uwa�a� za przydzielone dowolnie; linuxowy numer klawisza znale�� mo�na u�ywaj�c showkey(1), a numer Xowy przez xev(1). Cz�sto numer Xowy b�dzie o 8 wi�kszy ni� linuxowy.

Co� co ludzie chc� zmienia� to przypisania klawiszy funkcyjnych. Za��my �e chcesz aby F12 wypisywa� ci�g znak�w "emacs". Wtedy

% loadkeys
keycode 88 = F12
string F12 = "emacs "
%

zrobi to. �ci�lej, procedura wygl�da mniej wi�cej tak: (i) znajd� kody klawiszy kt�re maj� mie� zmienione przypisania, za pomoc� showkey(1), (ii) zachowaj bie��cy uk�ad klawiatury, zr�b kopi� i j� edytuj.

% dumpkeys > my_keymap
% cp my_keymap trial_keymap
% emacs trial_keymap
% loadkeys trial_keymap
%

Format tablicy zgadn�� mo�na patrz�c na wynik dumpkeys, a opisuje go keytables(5). Gdy nowy uk�ad klawiatury dzia�a tak jak tego chcemy, mo�esz wstawi� wywo�anie

               loadkeys my_new_keymap

do /etc/rc.local czy co� takiego, �eby wykonywa� je automatycznie w czasie �adowania. Zauwa� �e zmiana klawiszy modyfikuj�cych jest zawi�a, a nowicjusz mo�e �atwo wpl�ta� si� w sytuacj� z kt�rej wydosta� si� mo�e tylko ekspert.

Domy�lnym katalogiem uk�ad�w klawiatur jest /usr/lib/kbd/keytables. Domy�lnym rozszerzeniem plik�w uk�ad�w jest .map. Tak wi�c loadkeys uk za�aduje prawdopodobnie /usr/lib/kbd/keytables/uk.map.

(Na moim komputerze) /dev/console jest odno�nikiem symbolicznym do /dev/tty0, a j�dro uwa�a /dev/tty0 za synonim bie��cej WK. XFree86 zmienia w�a�ciciela /dev/tty0, ale nie przywraca stanu poprzedniego po zako�czeniu. Tak wi�c polecenie dumpkeys mo�e si� nie powie��, poniewa� kto� inny jest w�a�cicielem /dev/tty0; w takim przypadku mo�esz wpierw uruchomi� X.

16.1 "Mog� u�ywa� tylko jednego palca do pisania"

Czy klawisze Shift, Ctrl i Alt mog� si� zachowywa� jak prze��czniki?

Tak, po napisaniu:

% loadkeys
keycode 29 = Control_Lock
keycode 42 = Shift_Lock
keycode 56 = Alt_Lock
%

klawisze lewy Control, Shift i Alt b�d� dzia�a� jako prze��czniki. Odpowiednie numery podaje showkey (zwykle s� to 29, 97, 42, 54, 56, 100 dla lewego i prawego Control, Shift i Alt odpowiednio), a funkcje to Control_Lock, Shift_Lock, Alt_Lock, ALtGr_Lock.

Co z klawiszami "sticky" [zachowywanymi w buforze do naci�ni�cia nast�pnego klawisza(y) - przyp. t�um.] ?

Od wersji 1.3.33, j�dro wie o modyfikatorach "sticky". Dzia�aj� one na nast�pny naci�ni�ty klawisz. Tak wi�c, tam gdzie wcze�niej trzeba by�o trzysymbolowej sekwencji Shift_Lock-a-Shift_Lock mo�na teraz u�ywa� dwusymbolowej sekwencji SShift_Lock-a.

Bie��ca wersja pakietu kbd nie zawiera jeszcze kodu dla "stickies", tak wi�c trzeba je wywo�ywa� u�ywaj�c ich kod�w szesnastkowych. Na przyk�ad:

% loadkeys
keymaps 0-15
keycode 54 = 0x0c00
keycode 97 = 0x0c02
keycode 100 = 0x0c03
%

uczyni prawe Shift, Ctrl i Alt wersjami "sticky" klawiszy lewych.

Od wersji 0.93 mo�na napisa�

   % loadkeys
   keymaps 0-15
   keycode 54 = SShift
   keycode 97 = SCtrl
   keycode 100 = SAlt
   %

by otrzyma� ten sam rezultat. Pozwoli to napisa� ci Ctrl-Alt-Del trzema naci�ni�ciami klawiszy, u�ywaj�c jednej r�ki to obtain the same result.

17. Zmiana trybu ekranowego

Jak dot�d wiem o sze�ciu sposobach zmiany rozdzielczo�ci:

1. W czasie kompilacji zmie� lini�

        SVGA_MODE=      -DSVGA_MODE=NORMAL_VGA

w /usr/src/linux/Makefile.

1A. Po kompilacji u�yj rdev -v - okropna �ata, ale istnieje.

2. W czasie �adowania systemu: wstaw vga=ask do pliku konfiguracyjnego lilo [zwykle /etc/lilo.conf - przyp. t�um.], a lilo spyta si� jakiego trybu ekranowego u�y�. Kiedy ju� wiesz, wstaw tam vga=mypreference.

3.W czasie uruchamiania: A. U�yj komendy resizecons (jest to bardzo prymitywne opakowanie ioctl VT_RESIZE). B. U�yj komendy SVGATextMode (jest to mniej prymitywne opakowanie ioctl VT_RESIZE).

4. Nie "na konsoli":

Pod dosemu, b�d� u�ywaj�c svgalib itd. mo�esz zmieni� sprz�towy tryb ekranowy bez powiadamiania o tym konsoli. Czasami jest to u�yteczne w ustawianiu resizecons lub SVGATextMode set up: u�yj dosemu i jakiego� programu DOSowego by prze��czy� si� na po��dany tryb ekranowy, zrzu� (powiedzmy z innej WK) zawarto�� wszystkich rejestr�w sprz�towych karty graficznej, i u�yj ich w inicjalizacji kt�rej wymagaj� resizecons i SVGATextMode. W niekt�rych przypadkach gdy tryb ekranowy prze��czy� si� na jaki� stan nie do u�ytku, odpalenie dosemu, poleganie na BIOSie co do ustawienia trybu ekranowego i "zabicie" dosemu u�ywaj�c kill -9 jest najprostsz� metod� przywr�cenia porz�dku.

17.1 Instrukcje co do u�ywania resizecons

Zdob�d� svgalib i skompiluj program restoretextmode. Wystartuj komputer we wszystkich mo�liwych trybach ekranowych (u�ywaj�c vga=ask) w pliku konfiguracyjnym lilo i zapisz zawarto�� rejestr�w sprz�towych karty graficznej do plik�w KxW (K=kolumny, W=wiersze), np. 80x25, 132x44 itd. Wstaw te pliki do /usr/lib/kbd/videomodes. Teraz resizecons 132x44 zmieni tryb ekranowy za ciebie (i wy�le SIGWINCH do wszystkich proces�w kt�re o tym wiedz�, oraz za�aduje inn� czcionk� je�li to konieczne).

Obecnie wykonanie resizecons ko�czy si� sukcesem wtedy tylko gdy jest do�� pami�ci na star� i now� konsol� r�wnocze�nie.

18. Zmiana cz�sto�ci powtarzania klawiszy

Przy starcie j�dro Linuxa ustawia cz�sto�� powtarzania na warto�� maksymaln�. Dla wi�kszo�ci klawiatur jest to rozs�dne, ale dla niekt�rych oznacza �e nie mo�esz dotkn�� klawisza �eby nie otrzyma� trzech kopii odpowiadaj�cego mu symbolu. U�yj programu kbdrate(8) by zmieni� cz�sto�� powtarzania lub, je�li to nie pomo�e, zmodyfikuj lub usu� sekcj�


     ! ustaw cz�sto�� powtarzania klawiatury na maximum

         mov     ax,#0x0305
         xor     bx,bx           ! clear bx
         int     0x16

w /usr/src/linux/[arch/i386/]boot/setup.S.

19. Przewijanie

Istniej� dwa sposoby zmuszenia ekranu do przewini�cia si�. Pierwsza, zwana "twardym przewijaniem" to pozostawienie tekstu w pami�ci ekranu w bie��cej postaci, ale zmienienie punktu ogl�dania. Jest to bardzo szybkie. Druga, zwana "mi�kkim przewijaniem" polega na przesuwaniu ca�ego ekranu tekstowego w g�r� lub d�. Jest to o wiele wolniejsze. Sterownik konsoli j�dra wypisze tekst zaczynaj�cy si� u g�rnej granicy pami�ci ekranu, kontynuuj�c a� do do�u, potem zn�w skopiuje cz�� doln� na g�rn�, i tak dalej, ca�y czas u�ywaj�c twardego przewijania by pokaza� w�a�ciw� cz�� ekranu. Mo�esz przewija� w ty� a� do g�rnej granicy pami�ci ekranu u�ywaj�c Shift-PageUp (szary PageUp) i z powrotem w d� u�ywaj�c Shift-PageDown (szary PageDown), zak�adaj�c domy�lny uk�ad klawiatury. Ile mo�na przewin�� w ty� wyznacza wi�c ilo�� pami�ci ekranu kt�r� masz, i nie mo�esz jej zwi�kszy�. Je�li potrzebujesz przewin�� wi�cej, u�yj jakiego� programu kt�ry buforuje tekst, jak less czy screen - u�ywaj�c bufora na dysku mo�esz wr�ci� do tego co robi�e� tydzie� temu. (dla xterm mo�na ustawi� mo�liwe przewijanie w ty� dodaj�c lini� w rodzaju XTerm*saveLines: 2500 do .Xresources.)

Przy zmianie wirtualnych konsol zawarto�� ekranu starej WK jest kopiowana do pami�ci j�dra, a zawarto�� ekranu nowej WK jest kopiowana z pami�ci j�dra do pami�ci ekranu. Tylko ekran widzialny jest kopiowany, nie ca�o�� pami�ci ekranu, tak wi�c zmiana konsoli powoduje utrat� ca�ej informacji o przewijaniu.

Czasami twarde przewijanie nie jest po��dane, na przyk�ad gdy sprz�t nie posiada mo�liwo�ci zmiany punktu ogl�dania ekranu. Pierwszym przyk�adem by�� maszyna braillowska, kt�ra oddaje zawarto�� g�rnej cz�ci pami�ci ekranu w braille'u. Istnieje opcja u�ywana w czasie �adowania j�dra (no-scroll, kt�ra m�wi sterownikowi konsoli by nie u�ywa� twardego przewijania. Patrz bootparam(7)).

20. Wygaszanie ekranu

setterm -blank nn naka�e sterownikowi konsoli wygasi� ekran po nn minutach bezczynno�ci. U�ywaj�c nn r�wnego 0, wygaszanie mo�na wy��czy�. W niekt�rych starszych j�drach nabiera�o to efektu dopiero po pierwszym przerwaniu klawiatury.

Opcja s xset(1) ustawi parametry wygaszacza pod X.

Sprz�towe tryby ekranowe oszcz�dzaj�ce energi� mo�na w��czy�/wy��czy� u�ywaj�c programu setvesablank podanego w komentarzu na pocz�tku /usr/src/linux/drivers/char/vesa_blank.c.

21. Zrzuty ekranu

setterm -dump N zrzuci zawarto�� eranu /dev/ttyN do pliku screen.dump w bie��cym katalogu. Patrz setterm(1).

Prawid�ow� zawarto�� ekranu /dev/ttyN odczyta� mo�na u�ywaj�c urz�dzenia /dev/vcsN (gdzie "vcs" oznacza "virtual console screen"). Na przyk�ad, m�g�by� uruchomiony zegar kt�ry wy�wietla bie��cy czas w g�rnym prawym rogu konsoli (patrz program vcstime w kbd-0.92.tar.gz). Samo zrzucenie zawarto�ci nast�puje po cat /dev/vcsN. Owe urz�dzenia /dev/vcsN nie zawieraj� znak�w LF (nowej linii), ani atrybut�w (jak kolory). We wn�trzu programu lepiej jest zapewne zamiast tego u�y� /dev/vcsaN ("virtual console screen w/ attributes") - zaczyna si� ono nag��wkiem podaj�cym liczb� wierszy i kolumn oraz po�o�enie kursora. Patrz vcs(4).

22. Niekt�re w�a�ciwo�ci vt100 - tryb klawiszy aplikacji

: Czasami moje klawisze kursora daj� dziwne kody.

Gdy terminal znajduje si� w trybie klawiszy aplikacji klawisze kursora wypisuj� Esc O x, a w przeciwnym razie Esc [ x, gdzie x = A, B, C, D. Niekt�re programy ustawiaj� terminal w tryb klawiszy aplikacji; je�li przerwiesz je przez kill -9, albo je�li padn�, tryb nie zostanie przestawiony.

        % echo -e '\033c'  

Kasuje wszystkie w�a�ciwo�ci bie��cej WK do domy�lnych. Zmiany tylko trybu klawiszy aplikacji dokonuje si� przez:

        % echo -e '\033[?1h' 

(ustawia) i

        % echo -e '\033[?1l' 

(kasuje).

23. Niekompatybilo�� sprz�towa

Niekt�re osoby zauwa�y�y �e trac� wpisywane znaki gdy aktywny jest nap�d stacji dysk�w. Wygl�da na to �e mo�e to by� problem z p�ytami g��wnymi Uni-486WB.

(prosz� napisa� do mnie �eby potwierdzi�: "tak, mam ten sam problem"; zaprzeczy� "nie, wszystko w porz�dku z moim Uni-486WB; zmieni�: "m�j komputer Xyz ma ten sam problem").

Tjalling Tjalkens (tjalling@ei.ele.tue.nl) donosi o bardzo podobnych problemach z "niemarkow� p�yt� g��wn� GMB-486 UNP VESA z procesorem AMD 486DX2-66" - w czasie pracy stacji dyskietek niekt�re naci�ni�cia klawiszy gubi� si�, w czasie pracy streamera (Conner C 250 MQ) traci si� wiele naci�ni��.

Niekt�re osoby do�wiadcz�j� sporadycznych zawiesze� - czasami zwi�zanych z prac� twardego dysku lub innego urz�dzenia I/O.

ulf@rio70.bln.sni.de (Ulf Tietz) pisze: "Mia�em te same problemy gdy dostroi�em swoj� p�yt� g��wn� na zbyt du�� szybko��. Ustawi�em wi�c wszystkie czasy oczekiwania (CLK, wait statements) na bardziej konwencjonalne warto�ci, i problemy znikn�y".

bhogan@crl.com (Bill Hogan) pisze: "Je�li masz AMI BIOS, mo�esz spr�bowa� ustawi� emulacj� Gate A20 na "chipset" (je�li masz tak� opcj�). Za ka�dym razem gdy mia�em ten parametr ustawiony na jak�� inn� opcj� ("fast", "both", "disabled"), mia�em cz�ste zawieszenia si� klawiatury".

--------------------------------------------------------------------

Uprasza si� o dodatki i poprawki Andries Brouwer - aeb@cwi.nl

# #

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:23