console_codes

Autres langues

Langue: pl

Autres versions - même langue

Version: 1996-10-31 (openSuse - 09/10/07)

Section: 4 (Pilotes et protocoles réseau)

NAZWA

console_codes - kody konsolowe Linuksa oraz sekwencje specjalne

OPIS

Konsola Linuksa implementuje du¿y podzbiór kontrolek terminali VT102 oraz ECMA-48/ISO 6429/ANSI X3.64, plus okre¶lone sekwencje trybu prywatnego, dotycz±ce zmiany palety kolorów, mapowania zestawu znaków itp. W poni¿szych, tabelarycznych opisach, druga kolumna podaje dla danej funkcji mnemoniki ECMA-48 lub DEC (te drugie s± poprzedzone ci±giem DEC). Sekwencje bez mnemoników nie s± ani ECMA-48 ani VT102.

Po przetworzeniu normalnego wyj¶cia, gdy strumieñ znaków dojdzie do sterownika konsoli, która ma go fizycznie wy¶wietliæ, to pierwsz± rzecz±, która jest robiona, jest przet³umaczenie tego strumienia z jêzyka przetwarzania na jêzyk wy¶wietlania.

Je¶li konsola znajduje siê w trybie UTF-8, to nadchodz±ce bajty s± najpierw sk³adane w 16-bitowe kody Unicode. W przeciwnym wypadku, ka¿dy bajt jest przetwarzany zgodnie z bie¿±cym mapowaniem (które go t³umaczy na warto¶æ Unicode). Dalsza dyskusja znajduje siê poni¿ej, w sekcji ZESTAWY ZNAKÓW.

W normalnym wypadku, warto¶æ Unicode jest konwertowana na indeks fontu, który jest przechowywany w pamiêci obrazu. Efektem u¿ycia tego indeksu jest pojawienie siê odpowiadaj±cego glifu (wizerunku znaku, znalezionego w nieulotnej pamiêci obrazu) na ekranie. Nale¿y zauwa¿yæ, ¿e u¿ycie Unicode (i konstrukcja sprzêtu PC) pozwala na jednoczesne u¿ywanie 512 ró¿nych glifów.

Je¶li bie¿±ca warto¶æ Unicode jest znakiem steruj±cym lub je¶li przetwarzana jest sekwencja specjalna, to warto¶æ ta jest traktowana w sposób specjalny. Zamiast zmieniania jej na indeks fontu i interpretacji jako glif, mo¿e ona wyzwoliæ ruchy kursora lub inne funkcje steruj±ce. Dalsz± dyskusja znajduje siê poni¿ej, w sekcji KONTROLKI KONSOLI LINUX.

Ogólnie nie jest dobrym zwyczajem wkodowywanie do programów kodów terminala na sztywno. Linux obs³uguje bazê danych terminfo(5), która opisuje w³a¶ciwo¶ci terminali. Zamiast rêcznego wyprowadzania sekwencji kontrolnych konsoli, prawie zawsze wygodniej jest korzystaæ z biblioteki obs³ugi terminala ncurses(3), oraz programów narzêdziowych, takich jak tput(1), czy reset(1).

KONTROLKI KONSOLI LINUX

Sekcja ta opisuje wszystkie znaki steruj±ce i sekwencje specjalne, które wywo³uj± funkcje specjalne (tj. wszystko inne ni¿ wypisywanie glifu w pozycji kursora) konsoli Linuksa.

Znaki steruj±ce

Znak jest znakiem steruj±ce, je¶li (przed transformacj± wynikaj±c± z tablicy mapowania) posiada jeden z 14 kodów 00 (NUL), 07 (BEL), 08 (BS), 09 (HT), 0a (LF), 0b (VT), 0c (FF), 0d (CR), 0e (SO), 0f (SI), 18 (CAN), 1a (SUB), 1b (ESC), 7f (DEL). Mo¿na sobie ustawiæ tryb `display control characters' (wy¶wietlania znaków steruj±cych), który umo¿liwia wy¶wietlanie 07, 09, 0b, 18, 1a, 7f jako glifów. Z drugiej strony, w trybie UTF-8 wszystkie kody 00-1f s± uznawane za znaki steruj±cych, niezale¿nie od trybu `display control characters'.

Je¶li mamy znak steruj±cy, to jest on natychmiast wykonywany i kasowany (nawet w ¶rodku sekwencji specjalnej), a sekwencja specjalna leci dalej, z nastêpnym znakiem. (Jednak ESC rozpoczyna now± sekwencjê specjaln±, przypuszczalnie anuluj±c niedokoñczon± poprzedni±, a CAN i SUB przerywaj± dowoln± sekwencjê specjaln±). Rozpoznawanymi znakami steruj±cymi s± BEL, BS, HT, LF, VT, FF, CR, SO, SI, CAN, SUB, ESC, DEL, CSI. Robi± one to, czego mo¿na oczekiwaæ:

BEL (0x07, ^G) wydaje d¼wiêk;
BS (0x08, ^H) przesuwa kursor o jedn± spacjê w lewo (lecz nie poza pocz±tek wiersza);
HT (0x09, ^I) przesuwa kursor do nastêpnego tabulatora, lub na koniec wiersza, gdy wcze¶niej tabulatora nie ma;
LF (0x0A, ^J), VT (0x0B, ^K) i FF (0x0C, ^L) daj± nowy wiersz;
CR (0x0D, ^M) daje powrót karetki - przewiniêcie kursora na pocz±tek wiersza;
SO (0x0E, ^N) w³±cza zbiór znaków G1, a je¶li ustawione jest LF/NL (tryb nowego wiersza), równie¿ powrót karetki;
SI (0x0F, ^O) w³±cza zestaw znaków G0;
CAN (0x18, ^X) i SUB (0x1A, ^Z) przerywaj± sekwencje specjalne;
ESC (0x1B, ^[) rozpoczyna now± sekwencjê specjaln±;
DEL (0x7F) jest ignorowane;
CSI (0x9B) równowa¿ne ESC [.

Sekwencje ESC- lecz nie CSI-

ESC c RIS Reset.
ESC D IND Przesuw o wiersz.
ESC E NEL Nowy wiersz.
ESC H HTS Ustawienie tabulatora w bie¿±cej kolumnie.
ESC M RI Cofniêcie o wiersz.
ESC Z DECID DEC prywatna identyfikacja. J±dro zwraca napis
ESC [ ? 6 c, twierdz±c ¿e jest to VT102.
ESC 7 DECSC Zachowanie bie¿±cego stanu (wspó³rzêdne kursora,
atrybuty, zestawy znaków G0 i G1).
ESC 8 DECRC Odtworzenie ostatnio zachowanego przez ESC 7 stanu.
ESC [ CSI Wprowadzacz sekwencji steruj±cych
ESC % Rozpocznêcie sekwencji wybierania zestawu znaków
ESC % @    Wybranie domy¶lnego (ISO 646 / ISO 8859-1)
ESC % G    Wybranie UTF-8
ESC % 8    Wybranie UTF-8 (przestarza³e)
ESC # 8 DECALN DEC test wyrównania ekranu - wype³nienie ekranu
znakami E.
ESC ( Rozpoczêcie sekwencji, definiuj±cej zestaw znaków G0
ESC ( B    Wybranie domy¶lnego (mapowanie ISO 8859-1)
ESC ( 0    Wybranie mapowania grafiki vt100
ESC ( U    Wybranie mapowania zerowego - wprost do ROM ze
znakami
ESC ( K    Wybranie mapowania u¿ytkownika - mapê za³adowan±
   programem narzêdziowym mapscrn(8).
ESC ) Rozpoczêcie sekwencji, definiuj±cej zestaw znaków G1
(po której nastêpuje B, 0, U, K, jak wy¿ej).
ESC > DECPNM Ustawienie dla bloku klawiszy trybu numerycznego.
ESC = DECPAM Ustawienie dla bloku klawiszy trybu aplikacyjnego.
ESC ] OSC (Powinno byæ: polecenie systemu operacyjnego)
ESC ] P nrrggbb: ustawienie palety z parametrem
podanym w 7 szesnastkowych cyfrach, nastêpuj±cych po
ostatnim P :-(.
n jest tu kolorem (0-15), a rrggbb okre¶la
warto¶ci czerwieni/zieleni/niebiesko¶ci (0-255).
ESC ] R: resetuje paletê

Sekwencje ECMA-48 CSI

Za CSI (lub ESC [) nastêpuje sekwencja parametrów, co najwy¿ej NPAR (16), które s± liczbami dziesiêtnymi, oddzielonymi ¶rednikami. Pusty lub nieobecny parametr przyjmowany jest za zero. Sekwencja parametrów mo¿e byæ poprzedzona pojedynczym znakiem zapytania.

Jednak po CSI [ (lub ESC [ [) odczytywany jest pojedynczy znak, a ca³a sekwencja jest ignorowana (pomys³ ten ma na celu ignorowanie klawisza funkcyjnego daj±cego echo).

Akcja sekwencji CSI jest okre¶lona jej ostatnim znakiem.

@ ICH Wstawienie okre¶lonej liczby pustych znaków.
A CUU Przesuniêcie kursora w górê o zadan± liczbê wierszy.
B CUD Przesuniêcie kursora w dó³ o zadan± liczbê wierszy.
C CUF Przesuniêcie kursora w prawo o zadan± liczbê kolumn.
D CUB Przesuniêcie kursora w lewo o zadan± liczbê kolumn.
E CNL Przesuniêcie kursora w dó³ o zadan± liczbê wierszy
i do kolumny 1.
F CPL Przesuniêcie kursora w górê o zadan± liczbê wierszy
i do kolumny 1.
G CHA Przesuniêcie kursora do wskazanej kolumny bie¿±cego
wiersza.
H CUP Przesuniêcie kursora do wskazanego wiersza i kolumny
(pocz±tek w 1,1).
J ED Wymazanie ekranu (domy¶lnie: od pozycji kursora, do koñca
ekranu).
ESC [ 1 J: czy¶ci od pocz±tku do kursora.
ESC [ 2 J: czy¶ci ca³y ekran.
K EL Wymazanie wiersza (domy¶lnie od kursora do koñca wiersza).
ESC [ 1 K: czy¶ci od pocz±tku wiersza do kursora.
ESC [ 2 K: czy¶ci ca³y wiersz.
L IL Wstawienie zadanej liczby pustych wierszy.
M DL Skasowanie zadanej liczby wskazanych wierszy.
P DCH Skasowanie zadanej liczby wskazanych znaków w bie¿±cym
wierszu.
X ECH Wymazanie zadanej liczby wskazanych znaków w bie¿±cym
wierszu.
a HPR Przesuniêcie kursora w prawo o zadan± liczbê kolumn.
c DA Odpowied¼: ESC [ ? 6 c: `Jestem VT102'
d VPA Przesuniêcie kursora do wskazanego wiersza i bie¿±cej
kolumny.
e VPR Przesuniêcie kursora w dó³ zadan± liczbê o wierszy.
f HVP Przesuniêcie kursora do wskazanego wiersza i kolumny.
g TBC Bez parametrów: skasowanie tabulatora w bie¿±cej pozycji.
ESC [ 3 g: skasowanie wszystkich tabulatorów.
h SM Ustawienie trybu (patrz ni¿ej).
l RM Inicjalizacja trybu (patrz ni¿ej).
m SGR Ustawienie atrybutów (patrz ni¿ej).
n DSR Raport o stanie (patrz ni¿ej).
q DECLL Ustawienie LED-ów klawiatury.
ESC [ 0 q: wy³±czenie wszystkich LED-ów.
ESC [ 1 q: w³±czenie ScrollLock
ESC [ 2 q: w³±czenie NumLock
ESC [ 3 q: w³±czenie CapsLock
r DECSTBM Ustawinie obszaru przewijania; parametry to górny i dolny
wiersz.
s ? Zapamiêtanie pozycji kursora.
u ? Odtworzenie pozycji kursora.
` HPA Przesuniêcie kursora do wskazanej kolumny bie¿±cego
wiersza.

Interpretacja grafiki zbioru ECMA-48

Sekwencja ESC [ <parametry> m ustawia atrybuty wy¶wietlania. Mo¿na ustawiæ wiele atrybutów w pojedynczej sekwencji specjalnej.

param wynik
0 inicjalizacja wszystkich atrybutów do warto¶ci domy¶lnych
1 w³±czenie pogrubienia
2 w³±czenie pó³rozja¶nienia (symulowane kolorem na ekranach
kolorowych)
4 w³±czenie podkre¶lenia (symulowane kolorem na ekranach
kolorowych)
(kolory u¿ywane do symulacji s± ustawiane za pomoc± ESC ] ...)
5 w³±czenie migania
7 w³±czenie inwersji
10 wy³±czenie wybranego mapowania, znacznika kontroli wy¶wietlania
i znacznika prze³±czania meta.
11 wybranie mapowania zerowego, ustawienie znacznika kontroli
wy¶wietlania, wy³±czenie znacznika prze³±czania meta.
12 wybranie mapowania zerowego, ustawienie znacznika kontroli
wy¶wietlania, w³±czenie znacznika prze³±czania meta.
(znacznik prze³±czania meta powoduje, ¿e wysoki bit
bajtu jest zmieniany przed translacj± tablicy mapowañ.)
21 ustawienie normalnej jasno¶ci (nie jest to zgodne z ECMA-48)
22 ustawienie normalnej jasno¶ci
24 wy³±czenie podkre¶lenia
25 wy³±czenie migania
27 wy³aczenie inwersji
30 ustawienie kolor czarnego
31 ustawienie koloru czerwonego
32 ustawienie koloru zielonego
33 ustawienie koloru br±zowego
34 ustawienie koloru niebieskiego
35 ustawienie koloru fioletowego
36 ustawienie koloru niebieskozielonego
37 ustawienie koloru bia³ego
38 w³±czenie podkre¶lenia, ustawienie koloru domy¶lnego
39 wy³±czenie podkre¶lenia, ustawienie koloru domy¶lnego
40 ustawienie czarnego t³a
41 ustawienie czerwonego t³a
42 ustawienie zielonego t³a
43 ustawienie br±zowego t³a
44 ustawienie niebieskiego t³a
45 ustawienie fioletowego t³a
46 ustawienie niebieskozielonego t³a
47 ustawienie bia³ego t³a
49 ustawienie domy¶lnego koloru t³a

Prze³±czniki trybu ECMA-48

ESC [ 3 h
DECCRM (domy¶lnie wy³±czone): Wy¶wietlanie znaków steruj±cych.
ESC [ 4 h
DECIM (domy¶lnie wy³±czone): W³±czenie trybu wstawiania (insert).
ESC [ 20 h
LF/NL (domy¶lnie wy³±czone): Automatyczne pod±¿anie za echem LF, VT lub FF z CR.

Polecenia zg³aszania stanu ECMA-48

ESC [ 5 n
Raport stanu urz±dzenia (DSR): Odpowiedzi± jest ESC [ 0 n (Terminal OK).
ESC [ 6 n
Raport pozycji kursora (CPR): Odpowiedzi± jest ESC [ y ; x R, gdzie x,y to pozycja kursora.

Sekwencje trybu prywatnego DEC (DECSET/DECRST).

Nie s± one opisane w ECMA-48. Opisano tu sekwencje w³±czania trybu; Sekwencje wy³±czania trybu mo¿na uzyskaæ przez zamianê ostatniego `h' na `l'.

ESC [ ? 1 h
DECCKM (domy¶lnie wy³±czone): Gdy w³±czone, klawisze kursora wysy³aj± przedrostek ESC O, a nie ESC [.
ESC [ ? 3 h
DECCOLM (domy¶lnie wy³±czone = 80 kolumn): Prze³±cznik trybu 80/132 kolumny. W ¼ród³ach sterownika zaznaczono, ¿e to nie wystarcza; niektóre narzêdzia trybu u¿ytkownika, takie jak resizecons(8) musz± zmieniæ rejestry sprzêtowe karty graficznej konsoli.
ESC [ ? 5 h
DECSCNM (domy¶lnie wy³±czone): W³±czenie trybu inwersji.
ESC [ ? 6 h
DECOM (domy¶lnie wy³±czone): Gdy w³±czone, adresowanie kursora nastêpuje wzglêdem górnego lewego naro¿nika regionu przewijania.
ESC [ ? 7 h
DECAWM (domy¶lnie w³±czone): W³±czenie autozawijania. W tym trybie znak graficzny, wyemitowany za 80 (lub 132) kolumn±, zostanie zawiniêty na pocz±tek nastêpnego wiersza.
ESC [ ? 8 h
DECARM (domy¶lnie w³±czone): W³±czenie samopowtarzania klawiatury.
ESC [ ? 9 h
Zg³aszanie myszy X10 (domy¶lnie wy³±czone): Ustawienie trybu zg³aszania na 1 (lub wy³±czenie na 0) - patrz ni¿ej.
ESC [ ? 25 h
DECCM (domy¶lnie w³±czone): Uczynienie kursora widzialnym.
ESC [ ? 1000 h
Zg³aszanie myszy X11 (domy¶lnie wy³±czone): Ustawienie trybu zg³aszania na 2 (lub wy³±czenie na 0) - patrz ni¿ej.

Prywatne sekwencje CSI konsoli Linuksa

Nastêpuj±ce sekwencje nie nale¿± ani do ECMA-48, ani do oryginalnego VT102. Zosta³y one wprowadzone przez sterownik konsoli Linuksa. Kolorami w parametrach SGR s±: 0 = czarny, 1 = czerwony, 2 = zielony, 3 = br±zowy, 4 = niebieski, 5 = fioletowy, 6 = niebieskozielony, 7 = bia³y.

ESC [ 1 ; n ] Ustawienie koloru n jako kolor podkre¶lenia.
ESC [ 2 ; n ] Ustawienie koloru n jako kolor dim.
ESC [ 8 ] Uczynienie bie¿±cej pary kolorów atrybutem domy¶lnym.
ESC [ 9 ; n ] Ustawienie okresu wygaszania ekranu na n
minut.
ESC [ 10 ; n ] Ustawienie czêstotliwo¶ci dzwonka w Hz.
ESC [ 11 ; n ] Ustawienie czasu trwania dzwonka w ms.
ESC [ 12 ; n ] Przeniesienie podanej konsoli na wierzch.
ESC [ 13 ] Wy³±czenie wygaszenia ekranu.
ESC [ 14 ; n ] Ustawienie czasu wy³±czenia zasilania VESA
w minutach.

ZESTAWY ZNAKÓW

J±dro zna 4 translacje bajtów na symbole znaków ekranu konsoli. Tymi czterema tablicami s±: a) Latin1 -> PC, b) grafika VT100 -> PC, c) PC -> PC, d) zdefiniowane przez u¿ytkownika.

Istniej± dwa zbiory znaków, zwane G0 i G1, a jeden z nich jest bie¿±cym zestawem znaków. (Pocz±tkowo G0.) Wpisanie ^N powoduje, ¿e bie¿±cym zestawem staje siê G1, a ^O, ¿e G0.

Zmienne G0 i G1 wskazuj± na tablicê translacji i mog± byæ zmieniane przez u¿ytkownika. Pocz±tkowo wskazuj± odpowiednio na tablice a) i b). Sekwencje ESC ( B i ESC ( 0 oraz ESC ( U i ESC ( K powoduj±, ¿e G0 wskazuje odpowiednio na tablice a), b), c), d). Sekwencje ESC ) B i ESC ) 0 oraz ESC ) U i ESC ) K powoduj±, ¿e G1 wskazuje odpowiednio na tablice a), b), c), d).

Sekwencja ESC c powoduje reset terminala, który jest tym, czego potrzeba, je¶li ekran ulegnie za¶mieceniu. Czêsto zalecane "echo ^V^O" powoduje tylko, ¿e G0 staje siê bie¿±cym, lecz nie ma gwarancji ¿e wskazuje on na tablicê a). W niektórych dystrybucjach znajduje siê program reset(1), który po prostu wysy³a "echo ^[c". Je¶li wpis dla konsoli w bazie terminfo jest prawid³owy (i posiada wpis rs1=\Ec), to zadzia³a równie¿ "tput reset".

Zdefiniowana przez u¿ytkownika tablica mapowañ mo¿e byæ ustawiana za pomoc± mapscrn(8). Wynikiem mapowania jest to, ¿e je¶li wy¶wietlany jest symbol c, to do pamiêci grafiki wysy³any jest symbol s = mapa[c]. Mapa bitowa, odpowiadaj±ca s, która znajduje siê w nieulotnej pamiêci grafiki, mo¿e byæ zmieniona za pomoc± setfont(8).

¦LEDZENIE MYSZY

Funkcja ¶ledzenia myszy jest przeznaczana do zg³aszania stanu myszy, zgodnego z xterm. Poniewa¿ sterownik konsoli nie ma mo¿liwo¶ci dowiedzenia siê o urz±dzeniu ani o rodzaju myszy, zg³oszenia te zwracane s± w strumieniu wej¶ciowym konsoli tylko wtedy, gdy sterownik terminala wirtualnego otrzymuje ioctl od¶wie¿aj±cy stan myszy. Ioctl-e te musz± byæ generowane przez ¶wiadom± istnienia myszy aplikacjê trybu u¿ytkownika, tak± jak demon gpm(8).

Parametry dla wszystkich sekwencji specjalnych ¶ledzenia myszy, generowanych przez xterm, koduj± parametry numeryczne w pojedynczych znakach, jako warto¶æ+40. Na przyk³ad, `!' to 1. Wspó³rzêdne ekranu zaczynaj± siê od 1.

Tryb zgodno¶ci z X10 wysy³a sekwencje specjalne przy naciskaniu przycisków, koduj±c po³o¿enie oraz który przycisk myszy zosta³ naci¶niêty. Jest to w³±czane przez wys³anie ESC [ ? 9 h i wy³±czane przez ESC [ ? 9 l. Przy naciskaniu przycisków, xterm wysy³a ESC [ M bxy (6 znaków). b jest tu równe klawisz-1, a x i y s± wspó³rzêdnymi x i y kursora myszy w momencie przyci¶niêcia. Ten sam kod produkuje j±dro.

Normalny tryb ¶ledzenia (nie zaimplementowany w Linuksie 2.0.24) wysy³a sekwencjê specjaln± zarówno po przyci¶niêciu, jak i po zwolnieniu przycisku. Wysy³ana jest równie¿ informacja modyfikatora. Jest to w³±czane przez wys³anie ESC [ ? 1000 h, a wy³±czane przez ESC [ 1000 l. xterm po naci¶niêciu lub zwolnieniu przycisku wysy³a ESC [ M bxy. Dwa ni¿sze bity b koduj± informacjê o przycisku: 0=naci¶niêto pierwszy, 1=naci¶niêto drugi, 2=naci¶niêto trzeci, 3=zwolnienie. W górnych bitach zakodowane s± modyfikatory wci¶niête podczas naciskania przycisku. S± one dodawane: 4=Shift, 8=Meta, 16=Control. Znowu, x i y to wspó³rzêdne kursora myszy podczas zdarzenia. Górny lewy naro¿nik to (1,1).

PORÓWNANIA Z INNYMI TERMINALAMI

Wiele ró¿nych typów terminali, podobnie jak konsola Linuksa, jest opisywanych jako `zgodne z VT100'. Poni¿ej omówiono ró¿nice miêdzy konsol± Linuksa i dwoma najwa¿niejszymi spo¶ród innych terminali: DEC VT102 i xterm(1).

Obs³uga znaków steruj±cych

Vt102 rozpoznawa³ te¿ nastêpuj±ce znaki steruj±ce:
NUL (0x00) by³o ignorowane;
ENQ (0x05) wywo³ywa³o komunikat odpowiadaj±cy;
DC1 (0x11, ^Q, XON) wznawia³o transmisjê;
DC3 (0x13, ^S, XOFF) powodowa³o, ¿e vt100 ignorowa³ (i przestawa³ transmitowaæ) wszystkie kody poza XOFF i XON.

Przetwarzanie DC1/DC3 tego rodzaju, jakie by³o w VT100 mo¿e byæ w³±czone przez sterownik tty.

Program xterm (w trybie vt100) rozpoznaje znaki steruj±ce BEL, BS, HT, LF, VT, FF, CR, SO, SI, ESC.

Sekwencje specjalne

Sekwencje VT100 nie implementowane przez konsolê Linuksa:
ESC N SS2 Pojedyncze przesuniêcie 2. (Wybranie zestawu znaków G2
tylko dla nastêpnego znaku.)
ESC O SS3 Pojedyncze przesuniêcie 3. (Wybranie zestawu znaków G3
tylko dla nastêpnego znaku.)
ESC P DCS £añcuch kontrolny urz±dzenia (zakoñczony ESC \)
ESC X SOS Pocz±tek ³añcucha.
ESC ^ PM Komunikat prywatno¶ci (zakoñczony ESC \)
ESC \ ST Zakoñczenie ³añcucha
ESC * ... Wyznaczenie zestawu znaków G2
ESC + ... Wyznaczenie zestawu znaków G3

Program xterm (w trybie vt100) rozpoznaje ESC c, ESC # 8, ESC >, ESC =, ESC D, ESC E, ESC H, ESC M, ESC N, ESC O, ESC P ... ESC , ESC Z (daje odpowied¼ ESC [ ? 1 ; 2 c, `Jestem vt100 z rozszerzon± opcj± grafiki') i ESC ^ ... ESC  o takich samych znaczeniach, jak opisano powy¿ej. Przyjmuje ESC (, ESC ), ESC *, ESC + , po których nastêpuje 0, A, B, odpowiednio dla specjalnego zestawu znaków DEC i zbioru rysowania linii, UK oraz USASCII. Przyjmuje ESC ] dla ustawiania pewnych zasobów:

ESC ] 0 ; txt BEL Ustawienie nazwy ikony i tytu³u okna na txt.
ESC ] 1 ; txt BEL Ustawienie nazwy ikony na txt.
ESC ] 2 ; txt BEL Ustawienie tytu³u okna na txt.
ESC ] 4 6 ; nazwa BEL Zmiana pliku logu na nazwa (normalnie wy³±czone
przez opcjê kompilacji)
ESC ] 5 0 ; fn BEL Ustawienie fontu na fn.

Rozpoznaje nastêpuj±ce, z nieznacznie zmienionym znaczeniem:

ESC 7 DECSC Zachowanie kursora
ESC 8 DECRC Odtworzenie kursora

Podobnie, rozpoznaje równie¿

ESC F Kursor do dolnego lewego naro¿nika ekranu (o ile w³±czone
zasobem hpLowerleftBugCompat).
ESC l Blokowanie pamiêci (dla terminali HP).
Blokuje pamiêæ ponad kursorem.
ESC m Odblokowanie pamiêci (dla terminali HP).
ESC n LS2 Wywo³anie zestawu znaków G2.
ESC o LS3 Wywo³anie zestawu znaków G3.
ESC | LS3R Wywo³anie zestawu znaków G3 jako GR.
W xtermie jest to bez widocznego efektu.
ESC } LS2R Wywo³anie zestawu znaków G2 jako GR.
W xtermie jest to bez widocznego efektu.
ESC ~ LS1R Wywo³anie zestawu znaków G1 jako GR.
W xtermie jest to bez widocznego efektu.
Nie rozpoznaje ESC % ...

Sekwencje CSI

Program xterm (od wersji XFree86 3.1.2G) nie rozpoznaje SGR-ów migania i trybu niewidocznego. Podstawowe wersje X11R6 nie rozpoznaj± SGR-ów ustawiania kolorów. Wszystkie inne sekwencje CSI ECMA-48, rozpoznawane przez Linuksa, s± równie¿ rozpoznawane przez xterm i vice-versa.

Program xterm rozpoznaje wszystkie opisane powy¿ej sekwencje Trybu Prywatnego DEC, lecz nie rozpoznaje ¿adnej z prywatnych sekwencji Linuksa. Omówienie sekwencji prywatnych xterm'a znajduje siê w dokumencie Xterm Control Sequences, napisanym przez Edwarda Moya i Stephena Gildea'a, dostêpnym w dystrybucji X.

B£ÊDY

W 2.0.24 CSI jest zepsute, a NUL nie jest ignorowany w sekwencjach specjalnych.

ZOBACZ TAK¯E

console(4), console_ioctl(4), charsets(4)