File: Keyboard-HOWTO.pl.html

package info (click to toggle)
doc-linux-pl 1999.10.11-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 6,092 kB
  • ctags: 765
  • sloc: makefile: 44
file content (1575 lines) | stat: -rw-r--r-- 67,568 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<META HTTP-EQUIV="content-type" content="text/html; charset=iso-8859-2">
<TITLE>The Linux Keyboard HOWTO</TITLE>


</HEAD>
<BODY>
<H1>The Linux Keyboard HOWTO<BR></H1>

<H2>Andries Brouwer,
<A HREF="mailto:aeb@cwi.nl">aeb@cwi.nl</A><BR>
v2.5, 27 sierpie 1997<BR>
<B>Wersja polska: Gwidon S. Naskrent
<A HREF="mailto:naskrent@hoth.amu.edu.pl">naskrent@hoth.amu.edu.pl</A><BR></B>
v1.1, 29 X 1997</H2>
<P><HR>
<EM>Notka ta zawiera informacje na temat klawiatury i konsoli
w Linuxie, oraz uywania znakw spoza ASCII. Opisuje ona wersj 2.0
Linuxa.
Dokument ten zosta napisany w standardzie ISO-8859-2.
Orygina tego dokumentu znajduje si pod adresem
<A HREF="ftp.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/">ftp.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/</A></EM>
<HR>
<H2><A NAME="s1">1. Uyteczne programy</A></H2>

<P>
<P>Ponisze pakiety zawieraj programy odnoszce si do klawiatury
lub konsoli:
<P><CODE>kbd-0.90.tar.gz</CODE> zawiera <CODE>loadkeys</CODE>, <CODE>dumpkeys</CODE>, <CODE>showkey</CODE>,
<CODE>setmetamode</CODE>, <CODE>setleds</CODE>, <CODE>setfont</CODE>, <CODE>showfont</CODE>, <CODE>mapscrn</CODE>,
<CODE>kbd_mode</CODE>, <CODE>chvt</CODE>, <CODE>resizecons</CODE>, <CODE>disalloc</CODE>,
<CODE>getkeycodes</CODE>, <CODE>setkeycodes</CODE>.
<P><CODE>util-linux-2.6</CODE> zawiera <CODE>setterm</CODE>, <CODE>kbdrate</CODE>. (Tak, <CODE>more</CODE>
w util-linux 2.6 zrzuca <CODE>core</CODE> z powodu konfliktu nazw. Zachowaj swoj
star kopi, albo uywaj util-linux-2.5, albo zmie 'savetty' na
'my_savetty' w more.c).
<P><CODE>shutils-1.12</CODE> zawiera <CODE>stty</CODE>.
<P><CODE>open-1.4.tgz</CODE> zawiera <CODE>open</CODE> (ktre powinno si przemianowa
na <CODE>openvt</CODE>. Patrz te <CODE>dynamic-vc-1.1.tar.gz</CODE>).
<P><CODE>SVGATextMode-1.6.tar.gz</CODE> zawiera <CODE>SVGATextMode</CODE>, program ktry
zastpuje stare <CODE>resizecons</CODE>
<P>Dystrybucja X zawiera <CODE>xmodmap</CODE>, <CODE>xset</CODE>, <CODE>kbd_mode</CODE>
(patrz te X386keybd(1) co do sytuacji pod XFree86 1.3, oraz
Xserver(1) co do rozszerzenia XKEYBOARD pod X11R6).
<P><CODE>termcap-2.0.8.tar.gz</CODE> zawiera <CODE>termcap</CODE>, star baz danych waciwoci
terminala. <CODE>ncurses-1.9.9e.tar.gz</CODE> zawiera baz termlib ktra zastpuje
termcap (wiele programw jednak cigle uywa termcap).
<P>Patrz loadkeys(1), setleds(1), setmetamode(1) co do kodw wysyanych
przez rne klawisze i ustawiania diod poza X. Pod X, uyj xmodmap(1).
<P>Patrz setfont(8) co do adowania czcionek konsoli. Wielu ludzi woli
zaadowa jak czcionk w rodzaju iso01.f16, poniewa domylna
jest czcionk sprztow karty graficznej, i czsto jest to
czcionka "Code Page 437", w ktrej brakuje akcentowanych znakw i innych
symboli z zestawu Latin-1.
<P>Patrz setterm(1), kbdrate(8) co do waciwoci takich jak kolory ta i
pisma, wygaszanie ekranu, szybko powtarzania klawiszy - wszystko poza X.
Pod X, patrz xset(1), te co do dwiku przy naciniciu klawisza i
gonoci dzwonka.
<P>Plik <CODE>/etc/termcap</CODE> definiuje Esc-sekwencje dla wielu programw
ktre odnosz si do konsoli (lub innego terminala). Bardziej nowoczesna
wersja znajduje si w <CODE>/usr/lib/terminfo</CODE>. (Patrz terminfo(5).
Pliki terminfo s kompilowane kompilatorem terminfo
<CODE>/usr/lib/terminfo/tic</CODE>, patrz tic(1). Ich zawarto obejrze
mona uywajc programu <CODE>infocmp</CODE>, patrz infocmp(1). Sekwencje konsoli
linuxowej opisane s w console_codes(4).
<P>
<H2><A NAME="s2">2. Oglnie o klawiaturze</A></H2>

<P>
<P>Naciskasz klawisz, a kontroler klawiatury wysya kody skanowe do
sterownika klawiatury jdra. Niektre klawiatury mona programowa,
ale przewanie kody klawiszy odpowiadajce klawiszom s stae.
Sterownik klawiatury jdra przesya po prostu cokolwiek otrzymuje
do programu aplikacji, gdy ta jest w <EM>trybie skanowania kodw</EM>,
na przykad podczas dziaania <CODE>X</CODE>. W przeciwnym razie przekada
on strumie kodw skanowych na kody klawiszy, odpowiadajce zdarzeniom
nacinicia i zwolnienia klawisza (pojedyncze nacinicie klawisza
moe wytworzy do szeciu kodw skanowych).
Kody te [klawiszy] s przesyane do programu aplikacji gdy znajduje
si on w <EM>trybie kodw klawiszy</EM> (uywane, na przykad, przez
<CODE>showkey</CODE>). W przeciwnym razie, owe kody klawiszy porwnywane s
z rozkadem klawiatury, i znaleziony tam znak lub cig znakw jest
przesyany do aplikacji, bd nastpuje wykonanie opisanej tam
czynnoci.
(Na przykad, jeli nacinie si i zwolni klawisz <CODE>a</CODE>, klawiatura
wysya kody skanowe 0x1e i 0x9e, przeksztacane s one na kody klawiszy
30 i 158, a potem przesyane jako 0141, kod ASCII lub Latin-1 litery 'a';
jeli nacinie si i zwolni <CODE>Delete</CODE>, klawiatura wysya kody skanowe
0xe0 0x53 0xe0 0xd3, przeksztacane na kody klawiszy 111 i 239, a potem
przesyane jako czterosymbolowa sekwencja ESC <CODE>[ 3 ~</CODE>, wszystko
to zakadajc amerykaski ukad klawiatury jako domylny (przykadem
kombinacji klawiszy ktrej przypisana jest czynno jest Ctrl-Alt-Del).
<P>Tumaczenia pomidzy nieczstymi kodami skanowymi i klawiszy mona
dokona uywajc narzdzia <CODE>setkeycodes</CODE> - tylko bardzo nieliczni
bd go potrzebowa. Tumaczenia pomidzy kodami klawiszy i znakami bd
cigami znakw lub czynnoci, to jest ukadem klawiatury, dokonuje si
przy pomocy narzdzia <CODE>loadkeys</CODE>.
Po szczegy patrz getkeycodes(8), setkeycodes(8), dumpkeys(1), loadkeys(1).
<P>Tam gdzie w powyszym opisie pisz "przesane do aplikacji", znaczy to
rzeczywicie "przesane do sterownika terminala". To jest, dalsze
przetwarzanie jest bardzo podobne do przetwarzania tekstu ktry odbierany
jest na zczu szeregowym. Szczegy tego przetwarzania ustala program
.
<P>
<H2><A NAME="s3">3. Oglnie o konsoli</A></H2>

<P>
<P>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 przekada dane wejciowe
aby rozpozna Esc-sekwencje vt100 (ruchu kursora, czyszczenia ekranu itp.)
Znaki ktre nie s czci Esc-sekwencji s najpierw przetwarzane na
Unicode, uywajc jednej z czterech tablic odwzorowa jeli konsola
nie bya od pocztku w trybie UTF-8, potem odnoszone do tabeli opisujcej
zaleno midzy wartociami Unicode i pozycjami w czcionce, a uzyskane
omio- lub dziewiciobitowe indeksy zapisywane s w pamici ekranu,
gdzie powoduj wywietlenie ksztatw znakw znalezionych w ROMie znakowym
karty graficznej. Do ROMu znakowego mona zaadowa wasne czcionki
uywajc <CODE>setfont</CODE>, zaadowa odpowiadajc tablic odwzorowa Unicode
uywajc <CODE>loadunimap</CODE>, i zaadowa tablic odwzorowa uytkownika
uywajc <CODE>mapscrn</CODE>. Wicej szczegw poniej.
<P>Istnieje wiele konsol (zwanych Wirtualnymi Konsolami lub Wirtualnymi
Terminalami) ktre dziel ten sam ekran. Moesz ich uywa jako
oddzielnych urzdze, albo uruchamiajc na nich oddzielne sesje logowania,
albo po prostu przesyajc na nie jakie dane wyjciowe z pocztku
czy koca <EM>system log</EM>. Patrz niej ("Przeczanie konsol") co do
tego jak je ustawia i przecza si midzy nimi.
<P>
<H2><A NAME="s4">4. Kasowanie terminala</A></H2>

<P>
<P>Na ekranie s mieci, a wszystkie nacinicia klawiszy daj w efekcie
znaki do rysowania ramek. Co robi?
<P>Wiele programw przerysuje ekran po naciniciu ^L. Moe to pomc
w sytuacji gdy na ekranie znajduj si mieci z modemu lub nadany
komunikat. Komenda <CODE>clear</CODE> czyci ekran.
<P>Komenda <CODE>reset</CODE> kasuje sterownik konsoli. Pomaga to w sytuacji
gdy ekran peen jest dziwnych znakw graficznych, a take jeli
skurczy si do jednej linii na dole. Jeli nie masz tej komendy,
bd jeli robi ona co innego, stwrz wasn dodajc ponisze
dwie linie do pliku wykonywalnego <CODE>reset</CODE> w swojej ciece:
<P>
<BLOCKQUOTE><CODE>
<PRE>
#!/bin/sh
echo -e \\033c
</PRE>
</CODE></BLOCKQUOTE>
<P>to jest, masz zamiar posa dwa znaki: Esc-c, na konsol.
<P>Dlaczego ekran czasami si miesza i wywietlane jest 24 lub jedna
linia, zamiast zwykych 25? C, gwnym winowajc jest
tutaj TERM=vt100 (albo jaki inny terminal z 24 liniami) zamiast TERM=
linux przy czeniu si zdalnie. Jeli stanie si to na /dev/tty2 napisz:
<P>
<BLOCKQUOTE><CODE>
<PRE>
% cat > /dev/tty2
^[c
^D
</PRE>
</CODE></BLOCKQUOTE>
<P>na jakie innej WK (gdzie wpisujesz cztery symbole do <CODE>cat</CODE>: Esc, c,
Enter, Ctrl-D) i odwie ekran na /dev/tty2 (moliwie uywajc ^L), co
przywrci porzdek. Oczywicie staym rozwizaniem jest uywanie
odpowiedniego kawaka <CODE>termcap</CODE> lub <CODE>terminfo</CODE>.
<P>Dlaczego tak si dzieje e czasami dostajesz mas znakw do rysowania
ramek, np. po wysaniu na ekran pliku binarnego za pomoc <CODE>cat</CODE> ?
Istnieje wiele Esc-sekwencji ktre zmieniaj zestaw znakw, a twj
plik moe przypadkiem zawiera niektre z nich. Esc c to oglne
przekasowanie, lekarstwo na wszystko, ale jeeli wiesz dokadnie co
poszo nie tak, moesz to naprawi bez kasowania innych atrybutw
konsoli. Na przykad po
<P>
<BLOCKQUOTE><CODE>
<PRE>
% cat
^N
^D
</PRE>
</CODE></BLOCKQUOTE>
<P>twj znak zachty konsoli bdzie si cay skada ze znakw do rysowania
ramek. Napisz teraz (na lepo):
<P>
<BLOCKQUOTE><CODE>
<PRE>
% cat
^O
^D
</PRE>
</CODE></BLOCKQUOTE>
<P>I wszystko jest znw w porzdku (wpisae trzy symbole do kadego <CODE>cat</CODE>:
^N lub ^O, Enter, ^D). eby zrozumie co si dzieje, patrz "Zestawy znakw
konsoli" poniej.
<P>Jeli zaadowae jaki dziwn czcionk i chcesz powrci do domylnej.
<P>
<BLOCKQUOTE><CODE>
<PRE>
% setfont
</PRE>
</CODE></BLOCKQUOTE>
<P>wystarczy (zaoywszy e zachowae domyln czcionke w domylnym
miejscu). Jeli ta czcionka nie zawiera osadzonej mapy unikodowej (i
wypisuje ze symbole dla znakw akcentowanych), wpisz
<P>
<BLOCKQUOTE><CODE>
<PRE>
% loadunimap
</PRE>
</CODE></BLOCKQUOTE>
<P>Na przykad, jeli wykonam
<P>
<BLOCKQUOTE><CODE>
<PRE>
% loadkeys de-latin1
</PRE>
</CODE></BLOCKQUOTE>
<P>bd mia niemieck klawiatur, a klawisz na lewo od Enter wypisze mi
a-umlaut. Dziaa to, poniewa a-umlaut wystpuje na stronie kodowej 437,
i mapa unikodowa jdra jest inicjalizowana dla CP 437, a moja karta
graficzna ma wbudowan czcionk CP 437. Jeli teraz zaaduj czcionk
ISO-8859-1 uywajc
<P>
<BLOCKQUOTE><CODE>
<PRE>
% setfont iso01.f16
</PRE>
</CODE></BLOCKQUOTE>
<P>nadal wszystko dziaa, bowiem <CODE>setfont</CODE> podstawia jdru wan map
unikodow (jeli do czcionki nie jest doczona mapa), a bez mapy jdro
odwouje si bezporednio do czcionki, a to jest zupenie poprawne dla
systemu ISO-8859-1 z czcionk iso01.f16. Ale przywrcenie poprzedniej
czcionki za pomoc
<P>
<BLOCKQUOTE><CODE>
<PRE>
% setfont
</PRE>
</CODE></BLOCKQUOTE>
<P>daje du sigm zamiast a-umlaut - wszystkie akcentowane znaki s
pomieszane, poniewa ta czcionka rwnie nie ma osadzonej mapy unikodowej.
Po wykonaniu
<P>
<BLOCKQUOTE><CODE>
<PRE>
% loadunimap
</PRE>
</CODE></BLOCKQUOTE>
<P>ktra aduje domyln map unikodow (prawidow dla domylnej czcionki),
wszystko znw dziaa jak trzeba. Zwykle <CODE>loadunimap</CODE> nie jest
wywoywane bezporednio, lecz przez <CODE>setfont</CODE>. Tak wic poprzednie
dwie komendy mona zastpi przez
<P>
<BLOCKQUOTE><CODE>
<PRE>
% setfont -u def
</PRE>
</CODE></BLOCKQUOTE>
<P>Czcionki etiopskie oraz lat1u*.psf maj osadzone tabele znakw Unicode.
Wikszo pozostaych nie ma.
<P>Na starych terminalach wydruk zawierajcy znaki tabulacji
moe wymaga opnienia, wic musisz napisa
<P>
<BLOCKQUOTE><CODE>
<PRE>
% stty tab3
</PRE>
</CODE></BLOCKQUOTE>
<P>(patrz stty(1)).
<P>Tryb graficzny zmieni moesz uywajc <CODE>resizecons</CODE>
albo <CODE>SVGATextMode</CODE>. To zwykle zaatwia aspekt wywietlania.
Po stronie wprowadzania moe istnie wiele potencjalnie niewaciwych
rzeczy. Jeli <CODE>X</CODE>, <CODE>DOOM</CODE>, albo jaki inny program uywajcy
trybu "surowego" pada, twoja konsola moe cigle znajdowa si w stanie
"surowym" (lub "psurowym"), i trudno jest wydawa polecenia. Patrz
"Jak wyj z trybu surowego" poniej. Jeli zaadowae zy ukad
klawiatury, to
<P>
<BLOCKQUOTE><CODE>
<PRE>
% loadkeys -d
</PRE>
</CODE></BLOCKQUOTE>
<P>aduje ponownie ukad domylny, ale moe si okaza e trudno jest
napisa "-" ! Alternatywa to:
<P>
<BLOCKQUOTE><CODE>
<PRE>
% loadkeys defkeymap
</PRE>
</CODE></BLOCKQUOTE>
<P>Czasami nawet litery s popltane. Warto wiedzie e istniej cztery
gwne typy klawiatur: QWERTY, QWERTZ, AZERTY i Dvoraka. Trzy pierwsze
nazwane s od pierwszych szeciu klawiszy i z grubsza odpowiadaj
krajom angielsko-, niemiecko-, i francuskojzycznym. W porwnaniu z
QWERTY, ukad QWERTZ zamienia Y i Z. W porwnaniu z QWERTY, ukad
AZERTY zamienia Q i A, W i Z, i ma M na prawo od L, na pozycji rednika.
Ukad Dvoraka ma zupenie inny porzdek liter.
<P>
<H2>4.1 Sprztowe kasowanie klawiatury</H2>

<P>
<P>Co moe by nie w porzdku na poziomie niszym ni wie o tym Linux.
Istniej co najmniej dwa rne nisze poziomy (klawiatura i sterownik
klawiatury) w ktrych wyda mona komend "wycz klawiatur" sprztowi
za ni odpowiedzialnemu. Klawiatury czsto mona zaprogramowa
na uywanie jednego z trzech rnych zestaww kodw skanowych.
<P>Niemniej nie wiem o adnym przypadku w ktrym okazaoby si to
jakim problemem.
<P>Niektre klawiatury maj wbudowan zdolno zmiany ukadw. Stormy
Henderson (<CODE>stormy@ghost.net</CODE>) pisze:
"Jeli twoja klawiatura przeprogramowaa si przez przypadek, moesz
(na klawiaturze Gateway AnyKey) nacisn control-alt-suspend_macro
by skasowa ustawienia klawiszy do stanu normalnego".
<P>
<H2><A NAME="s5">5. Delete i Backzspace</A></H2>

<P>
<P>Nakonienie Delete i Backspace do prawidowej pracy jest wcale trywialne,
zwaszcza w rodowisku mieszanym, gdzie komunikujesz si z konsol, z <CODE>X</CODE>,
<CODE>bash</CODE>, <CODE>emacsem</CODE>, logujesz si zdalnie itd. Moe bdziesz musia
wyedytowa kilkanacie plikw konfiguracyjnych eby powiedzie wszystkim
konkretnym programom czego dokadnie chcesz. Z jednej strony problemem
jest jakie klawisze wypisuj jakie kody (i jak te kody przetrawia
<CODE>kermit</CODE> czy <CODE>emacs</CODE>), a z drugiej strony jakie funkcje s przypisane
jakim klawiszom.
<P>Ludzie czsto skar si "mj klawisz wstecznej spacji nie dziaa", jak
gdyby ten klawisz mia wbudowan funkcj "skasuj poprzedni znak". Niestety
wszystko co ten, albo kady inny, klawisz robi to wypisanie kodu, i mona
tylko mie nadziej e sterownik tty jdra i wszystkie aplikacje mona
tak skonfigurowa e klawisz wstecznej spacji rzeczywicie dziaa jako
klawisz kasujcy poprzedni znak.
<P>Wikszo unixowych programw otrzymuj swoje dane wejciowe tty przez
sterownik tty jdra w trybie "niesurowym", i zwyke polecenie <CODE>stty</CODE>
ustala znak kasujcy. Jednak programy takie jak <CODE>bash</CODE>, <CODE>emacs</CODE>
czy <CODE>X</CODE> przetwarzaj dane wejciowe wasnymi metodami, i musz by
kade z osobna przekonane do waciwego dziaania.
<P>
<H2>5.1 Jak powiedzie Unixowi jakiego znaku chcesz uywa eby skasowaostatnio napisany znak?</H2>

<P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
% stty erase ^?
</PRE>
</CODE></BLOCKQUOTE>
<P>Jeli znak jest kasowany, ale w dziwny sposb, co jest nie w porzdku
z twoimi ustawieniami tty. Jeli ustawione jest <CODE>echoprt</CODE>, kasowane
znaki ujte s midzy <CODE>\</CODE> oraz <CODE>/</CODE>.
Jeli <CODE>echoe</CODE> nie jest ustawione, znak kasowania jest wypisywany
(co jest rozsdne w przypadku gdy jest to znak drukujcy, jak #).
Wikszo ludzi woli <CODE>stty echoe -echoprt</CODE>. Napisanie <CODE>stty sane</CODE>
zrobi to i wicej. Napisanie <CODE>stty -a</CODE> pokazuje biece ustawienia.
Jak to si stao e domylnie nie byy poprawne? Bd, jeeli uyjesz
poprawnego <CODE>getty</CODE>.
<P>Zauwa e wiele programw (jak <CODE>bash</CODE>, <CODE>emacs</CODE> itd.) maj swoje
wasne przypisania klawiszy (zdefiniowane w <CODE>~/.inputrc</CODE>,
<CODE>~/.emacs</CODE> itd.) i nie wpywa na nie ustawienie znaku kasowania.
<P>Standardowy unixowy sterownik tty nie rozpoznaje kursora, ani klawiszy
(takich jak klawiszy strzaek) przesuwajcych biec pozycj, i std
nie ma te komendy takiej jak "skasuj biecy znak". Ale na przykad
moesz nauczy <CODE>bash</CODE> na konsoli rozpoznawania Delete wstawiajc
<P>
<BLOCKQUOTE><CODE>
<PRE>
set editing-mode emacs
"\e[3~":delete-char
</PRE>
</CODE></BLOCKQUOTE>
<P>do <CODE>~/.inputrc</CODE>
<P>
<H3>"Kiedy getty dobrze oddawao DEL i BS, ale teraz si popsuo"</H3>

<P>
<P>Dawniej, sterownik konsoli zwykle wypisywa BS-spacja-BS
(<CODE>\010\040\010</CODE>)
gdy otrzyma znak DEL (<CODE>\177</CODE>). Dzisiaj, znaki DEL s
ignorowane (tak jak powinny, poniewa sterownik emuluje vt100). Zdobd
lepsze getty, tj. takie ktre nie wypisuje DEL.
<P>
<H3>"Login zachowuje si inaczej przy pierwszej i drugiej prbielogowania"</H3>

<P>
<P>Przy pierwszej prbie, komunikujesz si z <CODE>getty</CODE>. Przy drugiej
prbie, komunikujesz si z <CODE>login</CODE>, innym programem.
<P>
<H2>5.2 Jak powiedziec Linuxowi jaki kod wysya po naciniciu klawisza</H2>

<P>
<P>Na konsoli lub, cilej, gdy nie jeste w trybie (p)surowym, uyj
<P>
<BLOCKQUOTE><CODE>
<PRE>
% loadkeys mykeys.map
</PRE>
</CODE></BLOCKQUOTE>
<P>A pod X uyj
<P>
<BLOCKQUOTE><CODE>
<PRE>
% xmodmap mykeys.xmap
</PRE>
</CODE></BLOCKQUOTE>
<P>[gdzie mykeys.(x)map to oczywicie konkretny plik definicji klawiatury -
przyp. tum.]
<P>Zauwa e (od XFree86-2.1) X czyta linuxowe ustawienia ukadw klawiatury
przy initializacji Xowego keymap. Chocia oba systemy nie s w 100%
kompatybilne, oznacza to e w wielu przypadkach uywanie <CODE>xmodmap>
stao si zbdne.
Zamy, na przykad, e chcesz eby twj klawisz Backspace dawa
wsteczn spacj (^H, semkowe 010), a szary klawisz Delete DEL (semkowe
012), dodaj ponisze do </CODE>etc/rc.local (albo tam gdzie trzymasz swoje
pliki inicjalizacyjne).
<P>
<BLOCKQUOTE><CODE>
<PRE>
/usr/bin/loadkeys &lt;&lt; EOF
keycode 14 = BackSpace
keycode 111 = Delete
EOF
</PRE>
</CODE></BLOCKQUOTE>
<P>Zauwa e zmieni to funkcj tych klawiszy tylko gdy nie uywa si
modyfikatorw. Domylnie jdro Linuxa pozwala Ctrl-Backspace wypisywa
wsteczn spacj - czasami przydaje si to jako zapasowe wyjcie, gdy
stwierdzisz e moesz wypisywa tylko znaki DEL.
<P>Lewy klawisz Alt jest czasem zwany klawiszem Meta, a domylnie kombinacje
AltL-X s przypisane do symbolu Meta-X. Ale jakim cigiem znakw jest
Meta-X? Ustalane jest to (via tty) przez znacznik Meta, ustawiony
komend setmetamode. Dwiema moliwociami s: Esc X albo X iloczyn
logiczny 0200.
<P>
<H3>Dlaczego klawisz Backspace nie wysya domylnie wstecznejspacji?</H3>

<P>
<P>(i) Poniewa vt100 mia klawisz Delete nad klawiszem Enter.
<P>(ii) Bo Linus tak postanowi.
<P>
<H2>5.3 Jak nakaza X zamian Delete i Backspace</H2>

<P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
% xmodmap -e "keysym BackSpace = Delete" -e "keysym Delete = BackSpace"
</PRE>
</CODE></BLOCKQUOTE>
<P>Albo, jeli chcesz tylko eby klawisz Backspace dawa wsteczn spacj:
<P>
<BLOCKQUOTE><CODE>
<PRE>
% xmodmap -e "keycode 22 = BackSpace"
</PRE>
</CODE></BLOCKQUOTE>
<P>Albo, jeli chesz tylko eby klawisz Delete dawa Delete:
<P>
<BLOCKQUOTE><CODE>
<PRE>
% xmodmap -e "keycode 107 = Delete"
</PRE>
</CODE></BLOCKQUOTE>
<P>(ale zwykle takie jest ju domylne przypisanie).
<P>
<H2>5.4 Jak powiedzie emacsowi co robi gdy otrzyma Delete lubwsteczn spacj</H2>

<P>
<P>Wsad do swojego pliku <CODE>.emacs</CODE> linie jak niej:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  (global-set-key "\?" 'delete-backward-char)
  (global-set-key "\C-h" 'help-command)
</PRE>
</CODE></BLOCKQUOTE>
<P>Oczywicie moesz w ten sam sposb przypisa inne polecenia innym
klawiszom. Zauwa e niektre tryby gwne i poboczne redefiniuj
przypisania klawiszy. Na przykad w trybie szukania przyrostowego
[incremental mode] mona znale kod:
<P>
<BLOCKQUOTE><CODE>
<PRE>
(define-key map "\177" 'isearch-delete-char)
(define-key map "\C-h" 'isearch-mode-help)
</PRE>
</CODE></BLOCKQUOTE>
<P>Oznacza to e uywanie dwch powyszych komend globalnych moe nie
by dobrym pomysem. Za duo jest miejsc z wbudowanym zaoeniem ^H =
pomoc i Del = delete. Nie oznacza to e musisz ustawi klawisze tak
eby Backspace dawao Del. Ale jeli tak nie jest, najatwiej jest
zmieni ich ukad na najniszym moliwym poziomie <CODE>emacsa</CODE>.
<P>
<H2>5.5 Jak nakaza emacsowi zamienienie Delete i Backspace</H2>

<P>
<P>Wsad do swojego pliku <CODE>.emacs</CODE> linie jak niej:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  (setq keyboard-translate-table (make-string 128 0))
  (let ((i 0))
  (while (&lt; i 128)
      (aset keyboard-translate-table i i)
      (setq i (1+ i))))
  (aset keyboard-translate-table ?\b ?\^?)
  (aset keyboard-translate-table ?\^? ?\b)
</PRE>
</CODE></BLOCKQUOTE>
<P>Ostatnie wersje <CODE>emacsa</CODE> maj funkcj <CODE>keyboard-translate</CODE>, wic
mona uproci powysze do
<P>
<BLOCKQUOTE><CODE>
<PRE>
(keyboard-translate ?\C-h ?\C-?)
(keyboard-translate ?\C-? ?\C-h)
</PRE>
</CODE></BLOCKQUOTE>
<P>Zauwa e pod <CODE>X</CODE> <CODE>emacs</CODE> moe rozrnia Ctrl-h i klawisz
Backspace (niezalenie od tego jakie kody oba wypisuj na konsoli),
a domylnie <CODE>emacs</CODE> bdzie widzia klawisz wstecznej spacji jako DEL
(wykonujcy polecenia kasowania, przypisane temu znakowi, a nie
polecenia pomocy, przypisane do ^H). Mona rornia Backspace i Delete,
np. poprzez
<P>
<BLOCKQUOTE><CODE>
<PRE>
  (global-unset-key [backspace] )
  (global-set-key [backspace] 'delete-backward-char)
  (global-unset-key [delete] )
  (global-set-key [delete] 'delete-char)
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2>5.6 Jak nakaza kermitowi zamienienie Delete i Backspace</H2>

<P>
<P>Wsad do swojego pliku <CODE>.kermrc</CODE> linie jak niej:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  set key \127 \8
  set key \8 \127
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2>5.7 Jak poinformowa xterm o twoich ulubionych trybach tty</H2>

<P>
<P>Xterm dziedziczy zwykle tryby tty po programie ktry go wywoa.
W <CODE>xdm</CODE>, domylne klawisze kasowania i usuwania to <CODE>#</CODE> i <CODE>@</CODE>, jak
w starej dobrej wersji 6 Unixa.
Jeli nie podoba ci si to, moesz wsadzi co podobnego do
<P>
<BLOCKQUOTE><CODE>
<PRE>
  XTerm*ttymodes: erase ^? kill ^U intr ^C quit ^\ eof ^D susp ^Z start ^Q stop ^S eol ^@
</PRE>
</CODE></BLOCKQUOTE>
<P>do <CODE>/usr/lib/X11/app-defaults/XTerm</CODE> albo do
<CODE>$HOME/.Xresources</CODE>, zakadajc e masz lini
<P>
<BLOCKQUOTE><CODE>
<PRE>
  xrdb $HOME/.Xresources
</PRE>
</CODE></BLOCKQUOTE>
<P>w swoim <CODE>$HOME/.xinitrc</CODE>.
<P>
<H2>5.8 Jak poinformowa xmosaic e klawisz Backspace wypisuje Del</H2>

<P>
<P>Wsadzenie
<P>
<BLOCKQUOTE><CODE>
<PRE>
  *XmText.translations: #override\n\
         &lt;Key>osfDelete: delete-previous-character()
  *XmTextField.translations: #override\n\
          &lt;Key>osfDelete: delete-previous-character()
</PRE>
</CODE></BLOCKQUOTE>
<P>do twojego <CODE>$HOME/.Xresources</CODE> pomoe.
<P>W Netscape FAQ mona jednak przeczyta:
<P>
<PRE>
        Dlaczego mj klawisz Backspace nie dziaa w polach tekstowych?
        Domylnie, Linux i XFree86 dostarczane s ze le skonfigurowanymi
        klawiszami Backspace i Delete. Wszystkie programy oparte na Motif
        (w tym oczywicie Netscape Navigator) bd w ten sam sposb le
        dziaa.

        Specyfikacja Motif mwi e Backspace ma kasowa poprzedni znak a
        Delete ma kasowa znak nastpny. Linux i XFree86 s dostarczane
        z takim ustawieniem e oba klawisze - Backspace i Delete - wypisuj
        Delete.

        Moesz to naprawi uywajc ktrego z programw xmodmap, xkeycaps
        bd loadkeys i sprawi e odpowiedni klawisz wypisuje klawsym
        wsteczna spacja, a nie Delete.

        Moesz to rwnie naprawi uywajc pliku .motifbind; patrz
        strona man VirtualBindings(3).

        Uwaga: nie uywaj zasobw *XmText.translations lub *XmTextField.
        translations prbujc naprawi ten problem. Jeli tak zrobisz,
        rozwalisz pozostae przypisania klawiszy w polach tekstowych NN.
</PRE>
<P>
<H2>5.9 Lepsze rozwizanie dla programw uywajcych Motifa, jak netscape</H2>

<P>
<P>Ted Kandell (ted@tcg.net) sugeruje co nastpuje:
<P>Dodaj ponisze gdzie w swoim <CODE>.profile</CODE>:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  stty erase ^H
</PRE>
</CODE></BLOCKQUOTE>
<P>Jeli uywasz basha, dodaj ponisze linie do swojego <CODE>.inputrc</CODE>:
<P>
<BLOCKQUOTE><CODE>
<PRE>
       "\C-?": delete-char
       "\C-h": backward-delete-char
</PRE>
</CODE></BLOCKQUOTE>
<P>Dodaj nastpujce linie do swojego pliku <CODE>.xinitrc</CODE>:
<P>
<BLOCKQUOTE><CODE>
<PRE>
       xmodmap &lt;&lt;-EOF
       keycode 22  =  BackSpace osfBackSpace
       keycode 107 =  Delete
       EOF

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

       stty sane
       stty erase ^H
       loadmap &lt;&lt;-EOF
       keycode 14  = BackSpace
       keycode 111 = Delete
       EOF
</PRE>
</CODE></BLOCKQUOTE>
<P>Bdzie to definitywnie dziaa dla klawiatury PC 101 lub 102-klawiszowej,
z kadym rozkadem Linuxa/XFree86.
<P>Wan czci uczenia aplikacji motifowych takich jak Netscape poprawnej
pracy jest dodanie osfBackSpace do keycode 22, oprcz BackSpace.
<P>Zauwa nie po obu stronach znaku = nie mog si znajdowa spacje.
<P>
<H2>5.10 Co z termcap i terminfo?</H2>

<P>
<P>Gdy kto ma problemy z wsteczn spacj, ma on tendencj do patrzenia w swj
kawaek termcap (lub terminfo) opisujcy terminal; i rzeczywicie, istnieje
tam zdolno kb (lub kbs) opisujca kod wypisywany przez klawisz Backspace.
Niemniej niewiele programw jej uywa, wic - chyba e masz problemy
z jednym konkretnym programem - prawdopodobnie bd ley gdzie indziej.
Oczywicie poprawienie swojego kawaka termcap (terminfo) nie jest zym
pomysem tak czy owak. Patrz niej pod "Zmienna TERM".
<P>
<H2><A NAME="s6">6. Zestawy znakw konsoli</A></H2>

<P>
<P>Jdro prbuje wywnioskowa najpierw jaki symbol rozumie przez kady
podany przez uytkownika bajt, a nastpnie gdzie ten symbol jest
umieszczony w biecej czcionce.
<P>Jdro wie o piciu tumaczeniach bajtw na symbole konsoli-ekranu.
W trybie Unicode (UTF-8) kod UTF-8 jest przeksztaacany bezporednio
na Unicode. Zaoeniem jest e prawie wszystkie potrzebne symbole
w Unicode si znajduj, a w przypadkach gdzie nie jest to prawd
zarezerwowane s kody 0x00ff* dla bezporedniego dostpu do czcionki.
Poza trybem Unicode, uywa si jednej z tabeli tumacze.
Te cztery tabele to: a) Latin1 -&gt; Unicode, b) grafika vt100 -&gt;
Unicode, c) PC -&gt; Unicode, d) zdefiniowane przez uytkownika.
<P>Istniej dwa zestawy znakw, zwane G0 i G1, i jeden z nich jest
zestawem biecym (pocztkowo G0).
Wypisanie ^N spowoduje e biecym zestawem bdzie G1, ^O e G0.
<P>Zmienne G0 i G1 wskazuj na tablice tumacze, i mog by zmienione
przez uytkownika. Pocztkowo wskazuj na tablice a) i b), odpowiednio.
Sekwencje Esc(B, Esc(0, Esc(U, Esc(K powoduj e G0 wskazuje na
tablice tumacze a), b), c), d), odpowiednio.
Sekwencje Esc)B, Esc)0, Esc)U, Esc)K powoduj e G1 wskazuje na
tablice tumacze a), b), c), d), odpowiednio.
<P>Sekwencja Esc-c powoduje skasowanie terminala, czyli to czego chcesz
jeeli ekran jest cay zamiecony. Czsto doradzane <CODE>echo ^V^O</CODE>
spowoduje tylko e zestawem biecym bdzie G0, ale nie ma gwarancji e
G0 pokazuje na tablic a).
W niektrych dystrybucjach istnieje program reset(1), ktry wypisuje
po prostu echo ^[c. Jeli twj kawaek termcap dla konsoli jest
poprawny (i ma <CODE>:rs=\Ec:</CODE>), wtedy zadziaa take
<CODE>setterm -reset</CODE>.
<P>Zdefiniowan przez uytkownika tablic odwzorowa ustawi mona
uywajc mapscrn(8). Rezultatem odwzorowania jest to e jeeli
wypisywany jest symbol c, to wysyany do pamici ekranu jest
symbol <CODE>s = map[c]</CODE>. Obraz bitowy ktry odpowiada <CODE>s</CODE>
znajduje si w ROMie znakowym, i moe zosta zmieniony przy
pomocy setfont(8).
<P>
<H2><A NAME="s7">7. Przeczanie konsoli</A></H2>

<P>
<P>Domylnie przeczania konsoli dokonuje Alt-Fn lub Ctrl-Alt-Fn. Pod
<CODE>X</CODE> (lub nowszymi wersjami <CODE>dosemu</CODE>) dziaa tylko Ctrl-Alt-Fn.
Wiele ukadw klawiatur pozwala na cykliczne przemieszczanie si
midzy konsolami przy uyciu Alt-strzaka_w_prawo i Alt-strzaka_w_lewo.
<P>XFree86 1.3 nie wie e przycinity jest Alt gdy przeczasz si do
okienka X. Tak wic nie moesz przeczy si natychmiast na jak
innej WK, ale musisz najpierw zwolni Alt.
W drug stron powinno to dziaa; jdro zawsze zanotowywuje stan
gra/d wszystkich klawiszy. (na tyle na ile mona; na niektrych
klawiaturach cz klawiszy nie wysya kodu skanowego po naciniciu,
np. klawisze PFn na FOCUS 9000) lub zwolnieniu (np. klawisz Pause
na wielu klawiaturach).
<P>XFree86 1.3 zapisuje czcionki zaadowane do ROMu znakowego przy starcie
i przywraca je przy przeczaniu konsoli. Tak wic efekt <CODE>setfont</CODE>
na WK zostaje wymazany gdy przeczasz si midzy X i zewntrzem.
Uywanie <CODE>setfont</CODE> pod X moe doprowadzi do dziwnych rezultatw.
<P>Pod kontrol programow WK mona zmienia uywajc komendy <CODE>chvt</CODE>.
<P>
<H2>7.1 Zmiana numeru Wirtualnych Konsoli</H2>

<P>
<P>To pytanie cigle pojawia si od czasu do czasu, ale odpowied brzmi:
ju masz ich dosy. Od wersji 1.54 jdra istnieje od 1 do 63 wirtualnych
konsol. Nowa konsola tworzona jest natychmiast po otwarciu. Usuwa si
j narzdziem <CODE>disalloc</CODE> (ale mona j usun tylko gdy nie ma z ni
skojarzonych procesw).
<P>Dla starszych jder, zmie lini
<P>
<BLOCKQUOTE><CODE>
<PRE>
#define NR_CONSOLES     8
</PRE>
</CODE></BLOCKQUOTE>
<P>w <CODE>include/linux/tty.h</CODE> (nie zwikszaj tej liczby powyej 63),
i zrekompiluj jdro.
<P>Jeli jeszcze nie istniej, stwrz urzdzenia tty uywajc <CODE>MAKEDEV</CODE> lub
<CODE>mknod ttyN c 4</CODE>, gdzie <CODE>N</CODE> oznacza numer tty. Na przykad:
<P>
<BLOCKQUOTE><CODE>
<PRE>
for i in 9 10 11 12; do mknod /dev/tty$i c 4 $i; done
</PRE>
</CODE></BLOCKQUOTE>
<P>albo, lepiej, (poniewa zatroszczy si to rwnie o waciciela i prawa
dostpu)
<P>
<BLOCKQUOTE><CODE>
<PRE>
for i in 9 10 11 12; do /dev/MAKEDEV tty$i; done
</PRE>
</CODE></BLOCKQUOTE>
<P>Jeli chcesz eby nowe WK uruchamiay <CODE>getty</CODE>, dodaj linie w
<CODE>/etc/inittab</CODE> (ale jest znacznie lepiej mie uruchomione tylko dwie
<CODE>getty</CODE>, i tworzy wicej konsol dynamicznie w razie potrzeby. W ten
sposb bdziesz mia wicej pamici gdy nie uywasz wszystkich konsol, a
take wicej konsol, w razie gdyby naprawd ich potrzebowa. Wyedytuj
<CODE>/etc/inittab</CODE> i wykomentuj wszystkie <CODE>getty</CODE> prcz dwch
pierwszych).
<P>Gdy konsole s przydzielane dynamicznie, zazwyczaj najatwiej jest
mie tylko jedn czy dwie z uruchomionym <CODE>getty. Wicej
otwiera si za pomoc <CODE>open -l -s bash</CODE>. Nieuywane konsole
(bez skojarzonych procesw) usuwa si za pomoc <CODE>disalloc</CODE>.
Ale, rzec moesz, zajty jestem czynnociami w ktrych nagle potrzebuj
wicej konsol, a nie mam znaku zachty bash aby wyda polecenie <CODE>open</CODE>.
Na szczcie moliwe jest stworzenie nowej konsoli po naciniciu jednego
klawisza, bez wzgldu na to co dzieje si na konsoli biecej.
Jeli masz <CODE>spawn_login</CODE> z <CODE>kbd-0.90.tar.gz</CODE> i wstawisz
<BLOCKQUOTE><CODE>
<PRE>
        loadkeys &lt;&lt; EOF
        alt keycode 103 = Spawn_Console
        EOF
        spawn_login &amp;
</PRE>
</CODE></BLOCKQUOTE>

do <CODE></CODE></CODE>etc/rc.local, nacinicie Alt-strzaka_w_gr utworzy
now WK z uruchomionym <CODE>login</CODE> (i przeczy si na ni). Uywajc
<CODE>spawn_console &amp;</CODE> zamiast <CODE>spawn_login &amp;</CODE> uzyskasz
tam uruchomiony <CODE>bash</CODE>. Patrz te <CODE>open-1.4.tgz</CODE> oraz
<CODE>dynamic-vc-1.1.tar.gz</CODE>.
<P>To jaka czynno winna by podejmowana po naciniciu tego klawisza
Spawn_Console mona rwnie ustawi w <CODE>/etc/inittab</CODE> pod
<CODE>kbrequest</CODE>, jeli masz wiey plik inicjalizacyjny. Patrz inittab(5)
(czynno ta moe by czym zupenie innym - nazwaem ten klawisz
Spawn_Console po prostu dlatego e do tego go wykorzystywaem).
<P>Na terminalach wyliczonych w <CODE>/etc/securetty/ moesz zalogowa si
tylko jako root. Istniej programy ktre czytaj ustawienia terminala
z plikw <CODE>/etc/ttys/</CODE> i <CODE>/etc/ttytype</CODE>. Jeli masz takie
pliki, i stworzysz dodatkowe konsole, dobrym pomysem mogoby by
rwnie dodanie dla nich linii w tych plikach.
<H2><A NAME="s8">8. Ctrl-Alt-Del i inne specjalne kombinacje klawiszy</A></H2>

<P>
<P>
<H2>8.1 Ctrl-Alt-Del (przeadowanie)</H2>

<P>
<P>Jeli naciniesz Ctrl-Alt-Del (albo kady inny klawisz z przypisanym
przed loadkeys klawsymem Boot) komputer albo przeaduje si natychmiast
(bez sync), albo do <CODE>init</CODE> wysya si SIGINT. To pierwsze zachowanie
jest domylne. Moe je zmieni root uywajc systemowego wywoania reboot(),
patrz ctrlaltdel(8). Niektre pliki <CODE>init</CODE> zmieniaj warto domyln.
To co nastpi gdy <CODE>init</CODE> otrzyma SIGINT zaley od uytej wersji tego -
czsto okrela to pole <CODE>pf</CODE> w <CODE>/etc/inittab</CODE> (co oznacza e
moesz w tym przypadku uruchomi dowolny program).
<P>W obecnym jdrze Ctrl-AltGr-Del nie jest ju domylnie przypisane do
Boot.
<P>
<H2>8.2 Inne kombinacje</H2>

<P>
<PRE>
Name            Default binding
-------------------------------
Show_Memory     Shift-Scrollock     [pokazuje info o pamici]
Show_Registers  AltGr-ScrollLock    [pokazuje zawarto rejestrw]
Show_State      Ctrl-ScrollLock     [pokazuje status]
Console_n       Alt-Fn and Ctrl-Alt-Fn  (1 &lt;= n &lt;= 12) [konsola nr n]
Console_{n+12}  AltGr-Fn                (1 &lt;= n &lt;= 12) [konsola nr n+12]
Incr_Console    Alt-RightArrow      [o konsol w gr]
Decr_Console    Alt-LeftArrow       [o konsol w d]
Last_Console    Alt[Gr]-PrintScreen [ostatnia konsola]
Scroll_Backward Shift-PageUp        [przewija ekran w gr]
Scroll_Forward  Shift-PageDown      [przewija ekran w d]
Caps_On                             [wcza due litery. CapsLock dziaa
                                    jako przecznik]
Compose         Ctrl-.              [tryb skadania, np. '+e daje &eacute;]
</PRE>
<P>
<H2>8.3 Kombinacje w X</H2>

<P>
<P>
<PRE>
Ctrl-Alt-Fn     Przecza na WK nr n
Ctrl-Alt-KP+    Nastpny tryb
Ctrl-Alt-KP-    Ostatni tryb
Ctrl-Alt-BS     "zabija" X
</PRE>
<P>[KP+ i KP- to szary plus i minus z klawiatury numerycznej - przyp. tum.]
<P>Na niektrych pytach gwnych Ctrl-Alt-KP- i Ctrl-Alt-KP+ s rwnowane
naciniciu 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 przecza bd midzy
trybem turbo (>= 25 Mhz) i nie-turbo (8/12 Mhz). (te kombinacje klawiszy
czsto dziaaj tylko po ustawieniu zworkami na pycie gwnej).
<P>Perry F. Nguyen (pfnguyen@netcom22.netcom.com) pisze:
AMI BIOS ma waciwo ktra blokuje klawiatur i miga diodami
jeeli nacinito kombinacj Ctrl-Alt-Backspace w czasie pytania o
haso BIOS, a to haso nie zostanie wpisane.
<P>
<H2>8.4 Kombinacje Dosemu</H2>

<P>
<PRE>
Ctrl-Alt-Fn     Przecz na WK nr n (od wersji 0.50, wczeniej Alt-Fn)
Ctrl-Alt-PgDn   "zabij" dosemu (w trybie SUROWYM klawiatury)
</PRE>
<P>(i wiele innych kombinacji - patrz dokumentacja dosemu)
<P>
<H2>8.5 Skadanie symboli</H2>

<P>
<P>Jeden symbol moe by zoony przy uyciu kilku klawiszy.
<P>
<UL>
<LI>lewyAlt-nacinicie, plus numer dziesitny wpisany na klawiaturze
numerycznej, plus lewyAlt-zwolnienie daje symbol o kodzie o tym
numerze (w trybie Unicode ten sam mechanizm, ale wtedy z czterema
cyframi szesnastkowymi, mona wykorzysta do zdefiniowania symbolu
Unicode).</LI>
<LI>Klawisz diakrytyki plus symbol daje ten symbol z naoon diakrytyk.
Jeli kombinacja nie jest zdefiniowana, oba klawisze brane s oddzielnie.
To ktre klawisz s diakrytykami jest ustawialne przez uytkownika;
domylnie aden. Mona zdefiniowa pi (sze od 2.0.5) klawiszy diakrytyki
(za pomoc loadkeys(1)); dead_grave, dead_acute, dead_circumflex, dead_tilde,
dead_diaeresis (te dead_cedilla). Co dokadnie oznacza owo naoenie rwnie
jest ustawialne przez uytkownika; np. klawisz diakrytyki + symbol jest
rwnowane Compose + diakrytyka + symbol.</LI>
<LI>Compose plus dwa symbole daje symbol-zoenie. Ten kombinacje s
ustawialne przez uytkownika. Dzisiaj istnieje 68 kombinacji zdefiniowanych
domylnie; moesz je zobaczy piszc "dumpkeys | grep compose"</LI>
<LI>Dalej id owe klawisze modyfikujce zwane "Sticky" (od 1.3.33). Na
przykad mona napisa ^C jako SControl, C i Ctrl-Alt-Backspace jako
SControl, SAlt, BackSpace</LI>
</UL>
<P>Zauwa e istniej przynajmniej trzy takie mechanizmy zoe:
<OL>
<LI>Mechanizm sterownika klawiatury Linuxa, uywany w poczeniu z
loadkeys.</LI>
<LI>Mechanizm X - patrz X386keybd(1), pniej XFree86kbd(1).
Pod X11R6: zmodyfikuj <CODE>/usr/X11R6/lib/X11/locale/iso8859-1/Compose</CODE>.</LI>
<LI>Mechanizm emacsowy uzyskiwany po zaadowaniu "iso-insert.el" lub
wywoaniu iso-accents-mode.</LI>
</OL>
<P>W X porzdek obu symboli jest dowolny; i Compose-,-c i Compose-c-, dadz
 dla Linuxa i emacsa domylnie dziaa tylko ta pierwsza sekwencja.
Dla X lista kombinacji zoe jest ustalona. Linux i emacs s elastyczne.
Te trzy domylne listy s nieco podobne, ale rni si szczegami.
<P>
<H2><A NAME="s9">9. Rne waciwoci konsoli</A></H2>

<P>
<P>
<H2><A NAME="s10">10. Jak wyj z trybu surowego</A></H2>

<P>
<P>Jeli jaki program uywajcy trybu klawiatury K_RAW zakoczy dziaanie
bez przywrcenia trybu klawiatury do K_XLATE, trudno jest co zrobi -
nie dziaa nawet Ctrl-Alt-Del. Niemniej mona czasami unikn naciskania
przycisku Reset (co jest te podane; twoi uytkownicy mog si
zdenerwowa jeli przerwiesz im sesj Hacka przeadowaniem; moesz te
uszkodzi swj system plikw).
Proste rozwizania opieraj si na zalogowaniu si z innego terminalu
lub innego komputera i wykonania <CODE>kbd_mode -a</CODE>.
Procedura poniej zakada e nie jest uruchomiony X, i e ekran znajduje
si w trybie tekstowym, e znajdujesz si w znaku zachty bash, e
uywasz amerykaskiego ukadu klawiatury i e znakiem ktry przerywa
dziaanie komendy jest u ciebie Ctrl-C.
<P>Krok 1. Uruchom X.
Jak poniej: nacinij 2 (nie zwalniaj), nacinij F12 (nie zwalniaj)
i natychmiast potem nacinij =. Uruchomi to X.
(Wyjanienie: jeli nacinicie klawisza wysya kod klawisza K, to
zwolnienie klawisza wysya kod K+128. By moe twoja powoka nie
lubi tych znakw powyej 128, wic unikamy wysania ich nie zwalniajc
adnego z klawiszy. Musimy jednak by szybcy, w przeciwnym razie
nastpi powtarzanie klawiszy. Cyfra 2 daje Ctrl-C, ktre usuwa poprzednie
mieci, F12 daje X, a = Return).
Twj ekran moe by teraz szary, poniewa nie wskazano <CODE>.xinitrc</CODE>.
Ctrl-Alt-Fn jednak dziaa, moesz wic przej do innej WK (Ctrl-Alt-BS
take dziaa, ale zwraca ci do poprzedniego stanu, a tego nie chcesz).
<P>Step 2. Ustaw zmian trybu klawiatury.
(Na przykad poprzez <CODE>sleep 5; kbd_mode -a</CODE>).
<P>Step 3. Opu X.
Alt-Fx (czsto Alt-F7) przywraca X, a wtedy Ctrl-Alt-Backspace powoduje
wyjcie z niego. W cigu piciu sekund twoja klawiatura znw bdzie
nadawaa si do uytku.
<P>Jeli chcesz przygotowa si na t okoliczno, uczy
<CODE>\215A\301</CODE> (3 symbols) aliasem na <CODE>kbd_mode -a</CODE>.
Teraz nacinicie tylko = F7 = (trzy symbole) przywrci ci do normalnoci.
<P>
<H2><A NAME="s11">11. Diody na klawiaturze</A></H2>

<P>
<P>1. S to znaczniki klawiatury zalene od <CODE>tty</CODE>; kada WK ma swj
NumLock, CapsLock i ScrollLock. Domylnie te znaczniki pokazywane s
przez diody. Zwykym sposobem ich zmiany jest nacinicie odpowiedniego
klawisza (uwaga uboczna: nacinicie klawisza NumLock w trybie klawiszy
aplikacji nie zmieni stanu NumLock, ale wypisze Esc-sekwencj. Jeli
chcesz eby klawisz NumLock zawsze zmienia stan NumLock, przypisz go
do Bare_Num_Lock).
<P>2. Nastpnie, na kade <CODE>tty</CODE> istniej domylne znaczniki klawiatury,
aby zinicjalizowa je gdy nastpi przekasowanie. Tak wic jeli chcesz
eby NumLock by cay czas wczony, jest to moliwe. Zwykle zmieni
to mona przez <CODE>setleds -D</CODE>.
<P>3. Istnieje moliwo e diody nie oddaj stanu znacznikw klawiatury,
ale co innego.
<P>3A. To co innego moe by jakimi trzema bitami gdzie w jdrze -
co mona wykorzysta jeeli chcesz pilnowa bitw stanu jakiego
sprztu czy programu. Jeli chcesz tego, zmodyfikuj rdo jdra
aby wywoywao gdzie <CODE>register_leds()</CODE>/
<P>3B. To co innego moe by te czymkolwiek co jaki program chce
pokaza za pomoc diod. Tak wic osoby ktre lubi takie rzeczy mog
uoy ze wiateek adne wzorki. Jeli chcesz tego, uyj ioctl KBSETLED.
<P>To drugi sposb nie jest "na tty", ale wybr pomidzy pierwszym a drugim
sposobem jest.
<P>Podsumowujc: kade <CODE>tty</CODE> ma znacznik kbd -&gt; ledmode. Jeli ma
on warto LED_SHOW_FLAGS, wtdy pokazane s znaczniki klawiatury (NumLock
itd.) konkretnego <CODE>tty</CODE>. Jeli ma on warto LED_SHOW_IOCTL, wtedy
diody pokazuj kad warto ktr ostatnio im przypisano za pomoc
ioctl KBSETLED.
<P>Doda mona e <CODE>X</CODE> uywa ioctl-w aby ustawi diody, ale nie
kasuje swojej WK przy wyjciu, tak wic po uywaniu <CODE>X</CODE> istnie
moe jedna WK ktra nie jest w domylnym stanie LED_SHOW_FLAGS. Mona
to naprawi wykonujc <CODE>setleds -L</CODE> na tej WK. Patrz setleds(1).
<P>
<H2><A NAME="s12">12. Zmienna TERM</A></H2>

<P>
<P>Wiele programw uywa zmiennej <CODE>TERM</CODE> i bazy danych <CODE>/etc/termcap</CODE>
lub <CODE>/usr/lib/terminfo/*</CODE> eby zadecydowa ktre cigi znakw
wysa by wyczyci ekran, przesun kursor itd., i czsto take by
zdecydowa ktry cig znakw wysyany jest przez klawisz wstecznej
spacji [uytkownika], klawisze funkcyjne itp.
T warto ustawia zrazu jdro (dla konsoli).
Zwykle warto t ponownie ustawia <CODE>getty</CODE>, uywajc <CODE>/etc/ttytype</CODE>
lub argumentu podanego w <CODE>/etc/inittab</CODE>.
Czasami jest ona rwnie ustawiana w <CODE>/etc/profile</CODE>.
<P>Starsze systemy uywaj <CODE>TERM=console</CODE> lub <CODE>TERM=co80x25</CODE>. Nowsze
systemy (z ncurses 1.8.6) uywaj bardziej dookrelonego <CODE>TERM=linux</CODE>
lub <CODE>TERM=linux-80x25</CODE>. Niemniej starsze wersje <CODE>setterm</CODE> sprawdzaj
obecno <CODE>TERM</CODE> rwnej con* i dlatego odmawiaj pracy z <CODE>TERM=linux</CODE>.
<P>Od wersji jdra 1.3.2, domyln wartoci jdra dla konsoli jest
<CODE>TERM=linux</CODE>.
<P>Jeli masz plik termcap bez kawaka opisujcego linux, dodaj sowo
linux do kawaka dla konsoli:
<P>
<BLOCKQUOTE><CODE>
<PRE>
        console|con80x25|linux:\
</PRE>
</CODE></BLOCKQUOTE>
<P>i ustaw <CODE>/usr/lib/terminfo/l/linux</CODE> jako kopi lub odnonik
symboliczny do <CODE>/usr/lib/terminfo/c/console</CODE>.
<P>
<H2>12.1 Terminfo</H2>

<P>
<P>W kawaku terminfo dla konsoli linuxowej od ncurses 1.8.6 brakuje
<CODE>kich1=\E[2~</CODE>, czego potrzebuj niektre programy.
Wyedytuj plik i skompiluj go <CODE>tic</CODE>.
<P>
<H2><A NAME="s13">13. Jak zmusi inne programy do dziaania ze znakami spoza ASCII</A></H2>

<P>
<P>W dawnych zych czasach byo to wcale nuce. Kady program z osobna
musia by indywidualnie przekonywany do zostawienia twoich bitw
w spokoju. Nie eby dzisiaj wszystko byo atwe, ale ostatnio wiele
narzdzi GNU nauczyo si reagowa na <CODE>LC_CTYPE=iso_8859_1</CODE> lub
<CODE>LC_CTYPE=iso-8859-1</CODE>. Sprbuj najpierw tego; jeli nie pomoe,
spjrz na podpowiedzi poniej. Zauwa e w nowszych wersjach <CODE>libc</CODE>
procedura <CODE>setlocale()</CODE> dziaa tylko jeeli zainstalowae pliki
locale (tj. w <CODE>/usr/lib/locale</CODE>).
<P>Przede wszystkim smy bit powinien przetrwa przetwarzanie danych
wejciowych w jdrze, wic upewnij si e ustawie <CODE>stty cs8
-istrip -parenb</CODE>
<P>A. Dla <CODE>emacsa</CODE> szczegy w duym stopniu zale od wersji. Informacja
poniej dotyczy wersji 19.34. Wstaw linie:
<P>
<BLOCKQUOTE><CODE>
<PRE>
        (set-input-mode nil nil 1)
        (standard-display-european t)
        (require 'iso-syntax)
</PRE>
</CODE></BLOCKQUOTE>
<P>do swojego <CODE>$HOME/.emacs</CODE>. Pierwsza linia (mwic cilej -
kocowe 1) mwi <CODE>emacsowi</CODE> eby nie obcina smego bitu ze wprowadzanych
znakw. Druga linia mwi <CODE>emacsowi</CODE> eby nie wywietla znakw spoza
ASCII jako wartoci semkowych. Trzecia linia wyszczeglnia waciwoci
skadni i tablic konwersji maych/duych liter dla zestawu znakw Latin-1.
Dwie ostatnie linie s zbdne jeeli masz co podobnego do
LC_TYPE=ISO-8859-1 w swoim rodowisku (zmienna ta moe te nazywa si
LC_ALL albo po prostu LANG. Jej warto moe by czymkolwiek co zawiera
cig znakw 88591, 8859-1 lub 8859_1).
<P>To ju dobry pocztek. Na terminalach ktre nie potrafi wywietla
symboli ISO-8859-1 spoza ASCII, komenda
<P>
<BLOCKQUOTE><CODE>
<PRE>
        (load-library "iso-ascii")
</PRE>
</CODE></BLOCKQUOTE>
<P>spowoduje e znaki akcentowane wywietlane bd jako {,c}a. Jeli twoja
klawiatura nie daje atwego sposobu wprowadzania znakw spoza ASCII, to
<P>
<BLOCKQUOTE><CODE>
<PRE>
        (load-library "iso-transl")
</PRE>
</CODE></BLOCKQUOTE>
<P>uczyni dwuznakow sekwencj ^X8 znakiem skadania [Compose], tak e
czteroznakowa sekwencja ^X8,c daje c-cedilla. Bardzo niewygodne.
<P>Komenda
<P>
<BLOCKQUOTE><CODE>
<PRE>
        (iso-accents-mode)
</PRE>
</CODE></BLOCKQUOTE>
<P>wczy lub wyczy tryb akcentw ISO-8859-1, w ktrym szec klawiszy:
`, ', ", ^, &nbsp;, / s klawiszami diakrytyk ktre modyfikuj nastpujcy
po nich symbol. Kombinacje specjalne: &nbsp;c daje c z cedill, &nbsp;d daje
islandzkie eth, &nbsp;t daje islandzkie thorn, "s daje niemieckie scharfes-s,
/a daje a z keczkiem, /e daje ligatur ae, &nbsp;&lt; i &nbsp;> daj guillemoty,
&nbsp;! daje odwrcony wykrzyknik, &nbsp;? odwrcony pytajnik. '' daje akcent acute.
Jest to ukad domylny. Zmienna iso-languages jest list par (nazwa jzyka,
ukad akcentw), a ukad niedomylny wybra mona poprzez
<P>
<BLOCKQUOTE><CODE>
<PRE>
    (iso-accents-customize LANGUAGE)
</PRE>
</CODE></BLOCKQUOTE>
<P>Tutaj LANGUAGE moe by jednym z "portuguese", "irish", "french",
"latin-2", "latin-1".
<P>Poniewa domylnym klawiszem Compose w Linuxie jest Ctrl-., moe
by wygodniej uywa tego wszdzie. Sprbuj
<P>
<BLOCKQUOTE><CODE>
<PRE>
   (load-library "iso-insert.el")
   (define-key global-map [?\C-.] 8859-1-map)
</PRE>
</CODE></BLOCKQUOTE>
<P>(Ta ostatnia linia nie bdzie dziaa pod <CODE>xterm</CODE>, jeli uywasz
<CODE>emacs -nw</CODE>, ale w tym wypadku moesz wstawi)
<P>
<BLOCKQUOTE><CODE>
<PRE>
        XTerm*VT100.Translations:       #override\n\
        Ctrl &lt;KeyPress> . : string("\0308")
</PRE>
</CODE></BLOCKQUOTE>
<P>do swojego <CODE>.Xresources</CODE>.)
<P>B. Dla <CODE>less</CODE>, ustaw zmienn rodowiskow <CODE>LESSCHARSET=latin1</CODE>
Zrb to rwnie jeli widzisz &lt;255&gt; lub &lt;AD&gt; w tym co
wypisuje <CODE>man</CODE>; niektre wersje <CODE>less</CODE> bd oddawa "mikki"
mylnik (semkowo 0255, szesnastkowo 0xAD) w ten sposb, jeli
nie pozwoli im si wypisywa Latin-1.
<P>[jeli to nie pomoe, wywouj <CODE>less</CODE> z opcj -r, bd ustaw alias.
Jeli nawet to nie pomoe, albo masz powok ktra nie obsuguje
aliasw, ustaw zmienn LESSCHARDEF na warto 32.224c - przyp. tum.]
<P>C. Dla <CODE>ls</CODE>, podaj opcj <CODE>-N</CODE> (by moe zechcesz ustawi alias)
<P>D. Dla <CODE>bash</CODE> (wersja 1.13.*), wstaw
<P>
<BLOCKQUOTE><CODE>
<PRE>
        set meta-flag on
        set convert-meta off
</PRE>
</CODE></BLOCKQUOTE>
<P>i, wedug Danish HOWTO,
<P>
<BLOCKQUOTE><CODE>
<PRE>
        set output-meta on
</PRE>
</CODE></BLOCKQUOTE>
<P>do swojego <CODE>$HOME/.inputrc</CODE>.
<P>E. dla <CODE>tcsh</CODE>, uyj
<P>
<BLOCKQUOTE><CODE>
<PRE>
        setenv LANG     US_en
        setenv LC_CTYPE iso_8859_1
</PRE>
</CODE></BLOCKQUOTE>
<P>Jeli masz w swoim systemie <CODE>nls</CODE>, uywane s odpowiednie algorytmy.
W przeciwnym razie <CODE>tcsh</CODE> zaoy iso_8859_1, niezalenie od wartoci
podanych w zmiennych LANG i LC_TYPE. Patrz sekcja NATIVE LANGUAGE SYSTEM
w tcsh(1). Danish HOWTO twierdzi: <CODE>setenv LC_CTYPE ISO-8859-1;
stty pass8</CODE>)
<P>F. Dla <CODE>flex</CODE>, podaj opcj <CODE>-8</CODE>, jeli program przetwarzajcy
ktry ono tworzy ma operowa na omiobitowych danych wejciowych
(oczywicie e ma).
<P>G. Dla <CODE>elm</CODE>, ustaw <CODE>displaycharset</CODE> na <CODE>ISO-8859-1</CODE>.
(Danish HOWTO: <CODE>LANG=C</CODE> i <CODE>LC_CTYPE=ISO-8859-1</CODE>)
<P>H. Dla programw uywajcych curses (takich jak <CODE>lynx</CODE> David
Sibley donosi: "Zwyky pakiet curses uywa smego bitu dla odwrcenia
kolorw ta i ekranu (patrz flaga _STANDOUT zdefiniowana w
<CODE>/usr/include/curses.h</CODE>).  Niemniej <CODE>ncurses</CODE> zdaje si by
czyste omiobitowo i wywietla iso-latin-8859-1 poprawnie.
<P>I. Dla programw uywajcych <CODE>groff</CODE> (takich jak <CODE>man</CODE>), upewnij
si e uywasz <CODE>-Tlatin</CODE> zamiast <CODE>-Tascii</CODE>. Stare wersje programu
<CODE>man</CODE> uywaj rwnie <CODE>col</CODE>, wic nastpny punkt stosuje si
odpowiednio.
<P>J. Dla <CODE>col</CODE>, upewnij si e 1) ustawiony jest tak eby wykonywa
<CODE>setlocale(LC_CTYPE,"");</CODE> i 2) ustawie zmienn rodowiskow
<CODE>LC_CTYPE=ISO-8859-1</CODE>.
<P>K. Dla <CODE>rlogin</CODE>, uyj opcji <CODE>-8</CODE>.
<P>L. Dla <CODE>joe</CODE>,
<CODE>sunsite.unc.edu:/pub/Linux/apps/editors/joe-1.0.8-linux.tar.gz</CODE>
dziaa podobno po wyedytowaniu pliku konfiguracyjnego. Kto inny powiedzia:
"<CODE>joe</CODE>: wstaw opcj <CODE>-asis</CODE> do <CODE>/isr/lib/joerc</CODE>, w pierwszej
kolumnie.
<P>M. Dla LaTeX: <CODE>\documentstyle[isolatin]{article}</CODE>.
Dla LaTeX2e: <CODE>\documentclass{article}\usepackage{isolatin}</CODE>
gdzie <CODE>isolatin.sty</CODE> jest dostpny z
<CODE>ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit</CODE>.
<P>adna dyskusja na temat ISO-8859-1 i tego jak zarzdza omiobitowymi
znakami zawarta jest w pliku <CODE>grasp.insa-lyon.fr:/pub/faq/fr/accents</CODE>
(po francusku). Inn adn dyskusj (po angielsku) mona znale w
<CODE>rtfm.mit.edu:pub/usenet-by-group/comp.answers/character-sets/iso-8859-1-faq</CODE>.
A jeszcze jedn (?), w <CODE>ftp.vlsivie.tuwien.ac.at:/pub/8bit/FAQ-ISO-8859-1</CODE>.
<P>Jeli chcesz poprawi program ktry le zachowuje si ze znakami
omiobitowymi, musisz pamita o tym e jeli uywasz w nim typu
"signed char", znaki mog mie wartoci ujemne, a uywanie ich jako
indeksu tablicy nie uda si. Niektre programy mona poprawi dodajc
rozsdnie rzutowania na typ unsigned char.
<P>
<H2><A NAME="s14">14. Co dokadnie robi XFree86-2.1 podczas inicjalizacji ukadu klawiatury?</A></H2>

<P>
<P>Od wersji 2.1 XFree86 zainicjuje swj ukad klawiatury z ukadu linuxowego,
na tyle na ile mona. Linux jednak mia 16 pozycji na klawisz (jedna na
kad kombinacj modyfikatorw Shift, AltGr, Ctrl, Alt) a obecnie 256
pozycji na klawisz, podczas gdy X ma cztery pozycje na klawisz (jedna
na kad kombinacj Shift i Mod), tak wic cz informacji musi si
zgubi.
<P><CODE>X</CODE> najpierw czyta plik <CODE>Xconfig</CODE>, gdzie mona znale definicje
klawiszy LeftAlt, RightAlt, RightCtl, ScrollLock keys takie jak Meta,
ModeShift, Compose, ModeLock czy ScrollLock - patrz X386keybd(1),
pniej XFree86kbd(1).
<P>Za Mod przyjmuje si lewy Alt, chyba e prawy Ctrl zdefiniowano jako
ModeShift lub ModeLock, w ktrym to przypadku przyjmuje si prawy Ctrl,
lub chyba e tak zdefiniowano prawy Alt, w ktrym to przypadku przyjmuje
si prawy Alt.
Ustala to w jaki sposb cztery znaczenia klawisza pod XFree86 s
wybierane z szesnastu znacze linuxowych.
Zauwa e dzisiaj Linux domylnie nie rozrnia pomidzy dwoma klawiszami
Ctrl i Shift. X jednak rozrnia.
<P>Nastpnie czytany jest ukad klawiatury z jdra i poczynione zostaj
oczywiste odpowiednie przypisania pod X. Przypisania "klawiszy
czynnociowych" - 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 blokujce
klawiatur w okrelonym trybie [locks] (z wyjtkiem ShiftLock), oraz
klawisze "ASCII-x"
<P>Pniej uywane s definicje z pliku <CODE>Xconfig</CODE>. Tak wic definicja
klawisza Compose z <CODE>Xconfig</CODE> wemie gr nad wartoci znajdujc
si w ukadzie klawiatury Linuxa.
<P>Co dzieje si z cigami znakw skojarzonymi z klawiszami funkcyjnymi?
Nic. X nie posiada takiej koncepcji (ale moliwe jest zdefiniowanie
acuchw znakw dla klawiszy funkcyjnych w <CODE>xterm</CODE> - zauwa jednak
e najpierw otrzymuje te klawisze program zarzdzajcy oknami).
<P>Nie wiem jak przekona <CODE>xterm</CODE> e powinien uywa ukadu klawiatury
X w czasie naciskania Alt; wydaje si e po prostu patrzy na swj zasb
<CODE>eightBitInput</CODE>, i zalenie od tego jak ma warto logiczn albo
ustawia smy bit znaku, albo wypisuje dodatkowy znak Escape (tak jak
setmetamode(1) robi na konsoli).
<P>
<H2><A NAME="s15">15. Niecodzienne klawisze i klawiatury</A></H2>

<P>
<P>Dwa klawisze: PrintScrn/SysRq i Pause/Break s szczeglne w tym e
maj one dwa kody klawiszy: pierwszy ma kody 84 z nacinitym rwnoczenie
Alt, i kod 99 w przeciwnym razie; drugi ma kod klawisza 101 z nacinitym
rwnoczenie Ctrl i kod 119 w przeciwnym razie. Tak wic nie ma sensu
przypisywa funkcji Alt-kod 99 lub Ctrl-kod 119.
<P>Jeli masz dziwne klawisze ktre nie wypisuj pod Linuxem adnego kodu
lub wysyaj komunikaty takie jak "unrecognized scancode"), a twoje
jdro to 1.1.63 lub pniejsze, moesz uy setkeycodes(1) by powiedzie
o nich [kodach] jdru. Nie bd one jednak dziaa pod X.
Gdy przypisano im kod klawisza za pomoc <CODE>setkeycodes</CODE>, mona im
przypisa funkcj za pomoc <CODE>loadkeys</CODE>.
<P>
<H2><A NAME="s16">16. Przykady uycia loadkeys i xmodmap</A></H2>

<P>
<P>Zamiana Caps Lock i Control na klawiaturze (zakadajc e uywasz
ukadw klawiatur 0-15; sprawd przez <CODE>dumpkeys | head -1</CODE>)
<P>
<BLOCKQUOTE><CODE>
<PRE>
  % loadkeys
  keymaps 0-15
  keycode 58 = Control
  keycode 29 = Caps_Lock
  %
</PRE>
</CODE></BLOCKQUOTE>
<P>Powysza zamiana tylko pod X:
<P>
<BLOCKQUOTE><CODE>
<PRE>
  % xmodmap .xmodmaprc
</PRE>
</CODE></BLOCKQUOTE>
<P>gdzie <CODE>.xmodmaprc</CODE> zawiera linie
<P>
<BLOCKQUOTE><CODE>
<PRE>
  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
</PRE>
</CODE></BLOCKQUOTE>
<P>O co chodzi z tymi numerami klawiszy? Backspace ma 14 pod Linuxem,
a 22 pod X? No c, numery najlepiej uwaa za przydzielone dowolnie;
linuxowy numer klawisza znale mona uywajc showkey(1), a numer
Xowy przez xev(1). Czsto numer Xowy bdzie o 8 wikszy ni
linuxowy.
<P>Co co ludzie chc zmienia to przypisania klawiszy funkcyjnych.
Zamy e chcesz aby F12 wypisywa cig znakw "emacs". Wtedy
<P>
<BLOCKQUOTE><CODE>
<PRE>
% loadkeys
keycode 88 = F12
string F12 = "emacs "
%
</PRE>
</CODE></BLOCKQUOTE>
<P>zrobi to. cilej, procedura wyglda mniej wicej tak: (i) znajd
kody klawiszy ktre maj mie zmienione przypisania, za pomoc showkey(1),
(ii) zachowaj biecy ukad klawiatury, zrb kopi i j edytuj.
<P>
<BLOCKQUOTE><CODE>
<PRE>
% dumpkeys > my_keymap
% cp my_keymap trial_keymap
% emacs trial_keymap
% loadkeys trial_keymap
%
</PRE>
</CODE></BLOCKQUOTE>
<P>Format tablicy zgadn mona patrzc na wynik <CODE>dumpkeys</CODE>, a opisuje
go keytables(5). Gdy nowy ukad klawiatury dziaa tak jak tego chcemy,
moesz wstawi wywoanie
<P>
<BLOCKQUOTE><CODE>
<PRE>
               loadkeys my_new_keymap
</PRE>
</CODE></BLOCKQUOTE>
<P>do <CODE>/etc/rc.local</CODE> czy co takiego, eby wykonywa je automatycznie
w czasie adowania. Zauwa e zmiana klawiszy modyfikujcych jest
zawia, a nowicjusz moe atwo wplta si w sytuacj z ktrej
wydosta si moe tylko ekspert.
<P>Domylnym katalogiem ukadw klawiatur jest <CODE>/usr/lib/kbd/keytables</CODE>.
Domylnym rozszerzeniem plikw ukadw jest .map. Tak wic <CODE>loadkeys uk</CODE>
zaaduje prawdopodobnie <CODE>/usr/lib/kbd/keytables/uk.map</CODE>.
<P>(Na moim komputerze) <CODE>/dev/console</CODE> jest odnonikiem symbolicznym
do <CODE>/dev/tty0</CODE>, a jdro uwaa <CODE>/dev/tty0</CODE> za synonim
biecej WK. XFree86 zmienia waciciela <CODE>/dev/tty0</CODE>, ale nie
przywraca stanu poprzedniego po zakoczeniu. Tak wic polecenie dumpkeys
moe si nie powie, poniewa kto inny jest wacicielem
<CODE>/dev/tty0</CODE>; w takim przypadku moesz wpierw uruchomi X.
<P>
<H2>16.1 "Mog uywa tylko jednego palca do pisania"</H2>

<P>
<P>Czy klawisze Shift, Ctrl i Alt mog si zachowywa jak przeczniki?
<P>Tak, po napisaniu:
<P>
<BLOCKQUOTE><CODE>
<PRE>
% loadkeys
keycode 29 = Control_Lock
keycode 42 = Shift_Lock
keycode 56 = Alt_Lock
%
</PRE>
</CODE></BLOCKQUOTE>
<P>klawisze lewy Control, Shift i Alt bd dziaa jako przeczniki.
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.
<P>Co z klawiszami "sticky" [zachowywanymi w buforze do nacinicia
nastpnego klawisza(y) - przyp. tum.] ?
<P>Od wersji 1.3.33, jdro wie o modyfikatorach "sticky". Dziaaj one
na nastpny nacinity klawisz. Tak wic, tam gdzie wczeniej trzeba
byo trzysymbolowej sekwencji Shift_Lock-a-Shift_Lock mona teraz uywa
dwusymbolowej sekwencji SShift_Lock-a.
<P>Bieca wersja pakietu <CODE>kbd</CODE> nie zawiera jeszcze kodu dla "stickies",
tak wic trzeba je wywoywa uywajc ich kodw szesnastkowych. Na
przykad:
<P>
<BLOCKQUOTE><CODE>
<PRE>
% loadkeys
keymaps 0-15
keycode 54 = 0x0c00
keycode 97 = 0x0c02
keycode 100 = 0x0c03
%
</PRE>
</CODE></BLOCKQUOTE>
<P>uczyni prawe Shift, Ctrl i Alt wersjami "sticky" klawiszy lewych.
<P>Od wersji 0.93 mona napisa
<P>
<BLOCKQUOTE><CODE>
<PRE>
   % loadkeys
   keymaps 0-15
   keycode 54 = SShift
   keycode 97 = SCtrl
   keycode 100 = SAlt
   %
</PRE>
</CODE></BLOCKQUOTE>
<P>by otrzyma ten sam rezultat. Pozwoli to napisa ci Ctrl-Alt-Del
trzema naciniciami klawiszy, uywajc jednej rki
to obtain the same result.
<P>
<H2><A NAME="s17">17. Zmiana trybu ekranowego</A></H2>

<P>
<P>Jak dotd wiem o szeciu sposobach zmiany rozdzielczoci:
<P>1. W czasie kompilacji zmie lini
<P>
<BLOCKQUOTE><CODE>
<PRE>
        SVGA_MODE=      -DSVGA_MODE=NORMAL_VGA
</PRE>
</CODE></BLOCKQUOTE>
<P>w <CODE>/usr/src/linux/Makefile</CODE>.
<P>1A. Po kompilacji uyj <CODE>rdev -v</CODE> - okropna ata, ale istnieje.
<P>2. W czasie adowania systemu: wstaw <CODE>vga=ask</CODE> do pliku
konfiguracyjnego lilo [zwykle /etc/lilo.conf - przyp. tum.], a lilo
spyta si jakiego trybu ekranowego uy. Kiedy ju wiesz, wstaw tam
<CODE>vga=mypreference</CODE>.
<P>3.W czasie uruchamiania:
A. Uyj komendy <CODE>resizecons</CODE> (jest to bardzo prymitywne opakowanie
ioctl VT_RESIZE).
B. Uyj komendy <CODE>SVGATextMode</CODE> (jest to mniej prymitywne opakowanie
ioctl VT_RESIZE).
<P>4. Nie "na konsoli":
<P>Pod <CODE>dosemu</CODE>, bd uywajc svgalib itd. moesz zmieni sprztowy
tryb ekranowy bez powiadamiania o tym konsoli. Czasami jest to uyteczne
w ustawianiu <CODE>resizecons</CODE> lub <CODE>SVGATextMode</CODE> set up: uyj <CODE>dosemu</CODE>
i jakiego programu DOSowego by przeczy si na podany tryb ekranowy,
zrzu (powiedzmy z innej WK) zawarto wszystkich rejestrw sprztowych
karty graficznej, i uyj ich w inicjalizacji ktrej wymagaj <CODE>resizecons</CODE>
i <CODE>SVGATextMode</CODE>.
W niektrych przypadkach gdy tryb ekranowy przeczy si na jaki
stan nie do uytku, odpalenie <CODE>dosemu</CODE>, poleganie na BIOSie co do
ustawienia trybu ekranowego i "zabicie" <CODE>dosemu</CODE> uywajc kill -9
jest najprostsz metod przywrcenia porzdku.
<P>
<H2>17.1 Instrukcje co do uywania resizecons</H2>

<P>
<P>Zdobd svgalib i skompiluj program <CODE>restoretextmode</CODE>. Wystartuj
komputer we wszystkich moliwych trybach ekranowych (uywajc <CODE>vga=ask</CODE>)
w pliku konfiguracyjnym lilo i zapisz zawarto rejestrw sprztowych
karty graficznej do plikw KxW (K=kolumny, W=wiersze), np. 80x25, 132x44
itd. Wstaw te pliki do <CODE>/usr/lib/kbd/videomodes</CODE>. Teraz
<CODE>resizecons 132x44</CODE> zmieni tryb ekranowy za ciebie (i wyle
SIGWINCH do wszystkich procesw ktre o tym wiedz, oraz zaaduje
inn czcionk jeli to konieczne).
<P>Obecnie wykonanie <CODE>resizecons</CODE> koczy si sukcesem wtedy tylko gdy
jest do pamici na star i now konsol rwnoczenie.
<P>
<H2><A NAME="s18">18. Zmiana czstoci powtarzania klawiszy</A></H2>

<P>
<P>Przy starcie jdro Linuxa ustawia czsto powtarzania na warto
maksymaln. Dla wikszoci klawiatur jest to rozsdne, ale dla niektrych
oznacza e nie moesz dotkn klawisza eby nie otrzyma trzech kopii
odpowiadajcego mu symbolu. Uyj programu kbdrate(8) by zmieni
czsto powtarzania lub, jeli to nie pomoe, zmodyfikuj lub usu
sekcj
<P>
<HR>
<PRE>
     ! ustaw czsto powtarzania klawiatury na maximum

         mov     ax,#0x0305
         xor     bx,bx           ! clear bx
         int     0x16
</PRE>
<HR>

w <CODE>/usr/src/linux/[arch/i386/]boot/setup.S</CODE>.
<P>
<H2><A NAME="s19">19. Przewijanie</A></H2>

<P>
<P>Istniej dwa sposoby zmuszenia ekranu do przewinicia si. Pierwsza,
zwana "twardym przewijaniem" to pozostawienie tekstu w pamici ekranu
w biecej postaci, ale zmienienie punktu ogldania. Jest to bardzo
szybkie. Druga, zwana "mikkim przewijaniem" polega na przesuwaniu
caego ekranu tekstowego w gr lub d. Jest to o wiele wolniejsze.
Sterownik konsoli jdra wypisze tekst zaczynajcy si u grnej granicy
pamici ekranu, kontynuujc a do dou, potem znw skopiuje cz
doln na grn, i tak dalej, cay czas uywajc twardego przewijania
by pokaza waciw cz ekranu. Moesz przewija w ty a do grnej
granicy pamici ekranu uywajc Shift-PageUp (szary PageUp) i z powrotem
w d uywajc Shift-PageDown (szary PageDown), zakadajc domylny ukad
klawiatury. Ile mona przewin w ty wyznacza wic ilo pamici ekranu
ktr masz, i nie moesz jej zwikszy. Jeli potrzebujesz przewin
wicej, uyj jakiego programu ktry buforuje tekst, jak less czy
screen - uywajc bufora na dysku moesz wrci do tego co robie
tydzie temu. (dla <CODE>xterm</CODE> mona ustawi moliwe przewijanie w ty
dodajc lini w rodzaju XTerm*saveLines: 2500 do .Xresources.)
<P>Przy zmianie wirtualnych konsol zawarto ekranu starej WK jest kopiowana
do pamici jdra, a zawarto ekranu nowej WK jest kopiowana z pamici
jdra do pamici ekranu. Tylko ekran widzialny jest kopiowany, nie
cao pamici ekranu, tak wic zmiana konsoli powoduje utrat
caej informacji o przewijaniu.
<P>Czasami twarde przewijanie nie jest podane, na przykad gdy sprzt
nie posiada moliwoci zmiany punktu ogldania ekranu. Pierwszym
przykadem by maszyna braillowska, ktra oddaje zawarto grnej
czci pamici ekranu w braille'u. Istnieje opcja uywana w czasie
adowania jdra (no-scroll, ktra mwi sterownikowi konsoli by nie
uywa twardego przewijania. Patrz bootparam(7)).
<P>
<H2><A NAME="s20">20. Wygaszanie ekranu</A></H2>

<P>
<P><CODE>setterm -blank</CODE> <I>nn</I> nakae sterownikowi konsoli wygasi
ekran po <I>nn</I> minutach bezczynnoci. Uywajc <I>nn</I> rwnego 0,
wygaszanie mona wyczy. W niektrych starszych jdrach nabierao
to efektu dopiero po pierwszym przerwaniu klawiatury.
<P>Opcja <CODE>s</CODE> xset(1) ustawi parametry wygaszacza pod X.
<P>Sprztowe tryby ekranowe oszczdzajce energi mona wczy/wyczy
uywajc programu <CODE>setvesablank</CODE> podanego w komentarzu na pocztku
<CODE>/usr/src/linux/drivers/char/vesa_blank.c</CODE>.
<P>
<H2><A NAME="s21">21. Zrzuty ekranu</A></H2>

<P>
<P><CODE>setterm -dump N</CODE> zrzuci zawarto eranu /dev/ttyN do pliku
<CODE>screen.dump</CODE> w biecym katalogu. Patrz setterm(1).
<P>Prawidow zawarto ekranu <CODE>/dev/ttyN</CODE> odczyta mona uywajc
urzdzenia <CODE>/dev/vcsN</CODE> (gdzie "vcs" oznacza "virtual console
screen"). Na przykad, mgby uruchomiony zegar ktry wywietla
biecy czas w grnym prawym rogu konsoli (patrz program vcstime
w <CODE>kbd-0.92.tar.gz</CODE>). Samo zrzucenie zawartoci nastpuje po
<CODE>cat /dev/vcsN</CODE>. Owe urzdzenia /dev/vcsN nie zawieraj znakw
LF (nowej linii), ani atrybutw (jak kolory). We wntrzu programu lepiej
jest zapewne zamiast tego uy /dev/vcsaN ("virtual console screen w/
attributes") - zaczyna si ono nagwkiem podajcym liczb wierszy i
kolumn oraz pooenie kursora. Patrz vcs(4).
<P>
<H2><A NAME="s22">22. Niektre waciwoci vt100 - tryb klawiszy aplikacji</A></H2>

<P>
<P>: Czasami moje klawisze kursora daj dziwne kody.
<P>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. Niektre programy ustawiaj terminal w tryb klawiszy aplikacji;
jeli przerwiesz je przez <CODE>kill -9</CODE>, albo jeli padn, tryb nie
zostanie przestawiony.
<P>
<PRE>
        % echo -e '\033c'  
</PRE>
<P>Kasuje wszystkie waciwoci biecej WK do domylnych. Zmiany tylko
trybu klawiszy aplikacji dokonuje si przez:
<P>
<PRE>
        % echo -e '\033[?1h' 
</PRE>
<P>(ustawia) i
<P>
<PRE>
        % echo -e '\033[?1l' 
</PRE>
<P>(kasuje).
<P>
<H2><A NAME="s23">23. Niekompatybilo sprztowa</A></H2>

<P>
<P>Niektre osoby zauwayy e trac wpisywane znaki gdy aktywny jest
napd stacji dyskw. Wyglda na to e moe to by problem z pytami
gwnymi Uni-486WB.
<P>(prosz napisa do mnie eby potwierdzi: "tak, mam ten sam problem";
zaprzeczy "nie, wszystko w porzdku z moim Uni-486WB; zmieni: "mj
komputer Xyz ma ten sam problem").
<P>Tjalling Tjalkens (tjalling@ei.ele.tue.nl) donosi o bardzo podobnych
problemach z "niemarkow pyt gwn GMB-486 UNP VESA z procesorem
AMD 486DX2-66" - w czasie pracy stacji dyskietek niektre nacinicia
klawiszy gubi si, w czasie pracy streamera (Conner C 250 MQ) traci
si wiele nacini.
<P>Niektre osoby dowiadczj sporadycznych zawiesze - czasami zwizanych
z prac twardego dysku lub innego urzdzenia I/O.
<P>ulf@rio70.bln.sni.de (Ulf Tietz) pisze:
"Miaem te same problemy gdy dostroiem swoj pyt gwn na zbyt
du szybko. Ustawiem wic wszystkie czasy oczekiwania (CLK, wait
statements) na bardziej konwencjonalne wartoci, i problemy znikny".
<P>bhogan@crl.com (Bill Hogan) pisze:
"Jeli masz AMI BIOS, moesz sprbowa ustawi emulacj Gate A20 na
"chipset" (jeli masz tak opcj). Za kadym razem gdy miaem
ten parametr ustawiony na jak inn opcj ("fast", "both", "disabled"),
miaem czste zawieszenia si klawiatury".
<P>--------------------------------------------------------------------
<P>Uprasza si o dodatki i poprawki
Andries Brouwer - aeb@cwi.nl
<P>
</CODE>
</BODY>
</HTML>