5 static unsigned char win2koi[] =
7 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
8 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
9 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
10 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
11 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
12 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
13 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
14 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
15 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
16 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
17 160,161,162,163,164,189,166,167,179,169,180,171,172,173,174,183,
18 176,177,182,166,173,181,182,183,163,185,164,187,188,189,190,167,
19 225,226,247,231,228,229,246,250,233,234,235,236,237,238,239,240,
20 242,243,244,245,230,232,227,254,251,253,255,249,248,252,224,241,
21 193,194,215,199,196,197,214,218,201,202,203,204,205,206,207,208,
22 210,211,212,213,198,200,195,222,219,221,223,217,216,220,192,209
25 static unsigned char koi2win[] =
27 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
28 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
29 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
30 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
31 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
32 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
33 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
34 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
35 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
36 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
37 160,161,162,184,186,165,179,191,168,169,170,171,172,180,174,175,
38 176,177,178,168,170,181,178,175,184,185,186,187,188,165,190,191,
39 254,224,225,246,228,229,244,227,245,232,233,234,235,236,237,238,
40 239,255,240,241,242,243,230,226,252,251,231,248,253,249,247,250,
41 222,192,193,214,196,197,212,195,213,200,201,202,203,204,205,206,
42 207,223,208,209,210,211,198,194,220,219,199,216,221,217,215,218
45 static unsigned char xlatWIN1250toISO88592[] =
47 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
48 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
49 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
50 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
51 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
52 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
53 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
54 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
55 128,129, 39,131, 34, 46,124,124,136, 47,169, 60,166,171,174,172,
56 144, 96, 39, 34, 34, 42, 45, 45,152, 84,185, 62,182,187,190,188,
57 160,183,162,163,164,161,124,167,168, 99,170, 34, 39,173, 82,175,
58 176, 63,178,179,180,117,182,255,184,177,186, 34,165,189,181,191,
59 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
60 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
61 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
62 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
65 static unsigned char xlatISO88592toWIN1250[] =
67 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
68 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
69 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
70 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
71 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
72 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
73 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
74 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
75 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
76 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
77 160,165,162,163,164,188,140,167,168,138,170,141,143,173,142,175,
78 176,185,178,179,180,190,156,161,184,154,186,157,159,189,158,191,
79 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
80 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
81 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
82 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
85 static unsigned char xlatISO88592toCP852[] =
87 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
88 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
89 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
90 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
91 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
92 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
93 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
94 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
95 242, 32, 34, 32, 34, 46, 43, 35, 32, 47,138, 60,151,141,166,141,
96 032, 34, 34, 34, 34,254, 45, 45, 32,126,154, 62,152,157,167,171,
97 255,164,244,157,207,149,151,245,249,230,184,155,141,240,166,189,
98 248,165,247,136,239,150,152,243,242,231,173,156,171,241,167,190,
99 232,181,182,198,142,145,143,128,172,144,168,211,183,214,215,210,
100 209,227,213,224,226,138,153,158,252,222,233,235,154,237,221,225,
101 234,160,131,199,132,146,134,135,159,130,169,137,216,161,140,212,
102 208,228,229,162,147,139,148,246,253,133,163,251,129,236,238,250,
105 static unsigned char xlatCP852toISO88592[] =
107 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
108 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
109 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
110 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
111 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
112 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
113 96, 97, 98, 99,100,101,102,103,104,105,106,107,108,109,110,111,
114 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
115 199,252,233,226,228,249,230,231,179,235,138,245,238,141,196,198,
116 201,197,229,244,246,165,181,140,156,214,154,171,187,157,215,232,
117 225,237,243,250,161,177,142,158,202,234,170,159,200,186,174,175,
118 176,177,178,179,180,193,194,204,170,185,186,187,188,175,191,191,
119 192,193,194,195,196,197,195,227,200,201,202,203,204,205,206,164,
120 240,208,207,203,239,210,205,206,236,217,218,219,220,222,217,223,
121 211,223,212,209,241,242,169,185,192,218,224,219,253,221,254,180,
122 173,189,128,183,162,167,247,178,176,168,255,251,216,248,149,160,
125 unsigned char xlat_kbd2tty(unsigned char c)
127 if(cfg.xlat_enablekoiwin)
129 else if (cfg.xlat_88592w1250 || cfg.xlat_88592cp852)
130 return xlatWIN1250toISO88592[c];
134 unsigned char xlat_tty2scr(unsigned char c)
136 if(cfg.xlat_enablekoiwin)
138 else if (cfg.xlat_88592w1250)
139 return xlatISO88592toWIN1250[c];
140 else if (cfg.xlat_88592cp852)
141 return xlatISO88592toCP852[c];
146 static unsigned char latkbd2_win[]=
148 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
149 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
150 32, 33,221, 35, 36, 37, 38,253, 40, 41, 42,178,225,186,254, 46,
151 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,198,230,193,179,222, 44,
152 64,212,200,209,194,211,192,207,208,216,206,203,196,220,210,217,
153 199,201,202,219,197,195,204,214,215,205,223,245,191,250, 94,170,
154 96,244,232,241,226,243,224,239,240,248,238,235,228,252,242,249,
155 231,233,234,251,229,227,236,246,247,237,255,213,175,218,126,127,
156 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,
157 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,
158 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,
159 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,
160 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,
161 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,
162 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,
163 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255
166 unsigned char xlat_latkbd2win(unsigned char c)
168 if(cfg.xlat_capslockcyr)
169 return latkbd2_win[c];