[FREELOADER]
[reactos.git] / reactos / base / applications / network / telnet / doc / 00readme.avs
1 Hi!
2
3 Now I come back to telnet source, and make some changes, wich you suggest
4 to me:
5
6 1. telnet.rc renamed to telnet.cfg
7 2. I change syntax of 'keys' command (but I did'nt found a tool for edit
8 msg*.bin files - so it's remain unchanged). Syntax are
9
10 keys load keymapname [file]
11 keys display
12 keys switch number
13
14
15 I fix some 'political' ;) problem with charmap, now we (citizens of xUSSR)
16 have koi8, koi8r and koi8u(RFC on draft) on UNIX, wich are diff's on 6 or
17 8 letters; cp866 and many (3 or 4) very near to cp866 on DOS.
18
19 So, I rewrite code to able a charmap addition like a keymap done.
20
21 And I make more smart command line processing, look at telCommandLine().
22
23 And last: my english is not so good :( to rewrite documentation, but there are
24 things, wich would be described - look on next page. I think that you will
25 translate my english to more understable, ok?
26
27 and now is a list of files, wich I touch
28
29
30 old new
31
32 ANSIPRSR.CPP 32763 05.10.97 11:09 33237 24.12.97 17:42
33 ANSIPRSR.H 3311 04.09.97 0:25 3410 23.12.97 13:18
34 KEYTRANS.CPP 9504 28.05.97 22:43 26547 03.02.98 21:33
35 KEYTRANS.H 8020 25.01.97 16:06 8090 03.02.98 19:53
36 TNCLASS.CPP 13663 17.08.97 23:55 13891 03.02.98 20:09
37 TNCLASS.H 1112 01.06.97 14:19 1233 03.02.98 20:09
38 TNMAIN.CPP 12668 02.10.97 20:38 16610 03.02.98 21:22
39 TNNET.CPP 3445 01.06.97 14:21 3474 23.12.97 13:16
40 TNPARSER.CPP 17653 05.10.97 11:09 17715 23.12.97 18:03
41 TNPARSER.H 2129 01.06.97 14:22 2188 23.12.97 13:25
42
43 KEYS.CFG erased
44 TELNET.CFG new
45
46 TELNET.IDE 65810 26.10.97 16:53 66118 03.02.98 21:34
47
48
49 I was start my work with file telc2b4s.zip with size 132619 bytes, and now send
50 to you just files, wich I touch.
51
52 with best regards
53 Andrei V. Smilianets
54
55 smile@head.aval.kiev.ua
56 22:25 03 Feb 1998
57
58
59 \f
60 There are all of my changes (from 2.04b), wich have to be described:
61
62 1. command line (telnet>) processing
63
64 a 'keys' command
65
66 was
67 keys keymapname [file]
68 new
69 keys load keymapname [file] // mean unchanged
70 keys display // display a list of loaded keymaps
71 keys switch number // switch to keymap
72
73 more smart command processing
74
75 command might be writed shortly
76
77 cl[ose]
78 op[en]
79 ke[ys]
80 qu[it]
81
82 subcommands of 'keys'
83
84 l[oad]
85 d[isplay]
86 s[witch]
87
88 synonym of '?' -> h[elp]
89
90 2. file 'keys.cfg' renamed to 'telnet.cfg'
91
92 3. Added codepage conversion, look [charmap]
93
94 4. completely changed conception of telnet.cfg
95
96 Now you can define multiple keymaps, character maps, combine it in your
97 ways.
98
99 file is splitted into following sections:
100
101 [COMMENT]
102 ...
103 [END COMMENT]
104
105 it is for comment a big part of text. can be nested.
106 in text also work:
107
108 ; - first printable character in line, which is completelly
109 ignored.
110 // - like C++ comment
111
112 [GLOBAL]
113 ...
114 [END GLOBAL]
115
116 mean of [global] unchanged
117
118 [KEYMAP name]
119 ...
120 [END KEYMAP]
121 'name' - is a keymap name for reference. in 'name' you can use
122 any char exept spaces, '+', ':' and ']'. '+' and ':' reserved for
123 CONFIG section.
124 body is a sequence of key definition:
125
126 <vk_name> [keymodifier[+keymodifier[+...]]] <keytranslation>
127
128 example:
129 VK_F1 RIGHT_ALT+RIGHT_CTRL this_would_print
130
131 vk_name is an ASCII string equivalent to an entry in [GLOBAL].
132
133 valid keymodifiers are:
134 RIGHT_ALT
135 LEFT_ALT
136 RIGHT_CTRL
137 LEFT_CTRL
138 SHIFT
139 ENHANCED
140
141 Undefined enhanced keys will use the non-enhanced definition.
142
143 keytranslation is the string you want printed for the key.
144 The notation ^[ can be used to denote an escape character.
145 Any ASCII value can be represented by
146
147 \nnn where nnn is a 3 digit decimal ASCII value or
148 \xhh where hh is a 2 digit hexadecimal ASCII value.
149
150 Leading zeros may not be omitted.
151 A value of \000(\x00) will not be transmitted.
152
153 note: In order to have both left and right alt have the same
154 action, you must create a separate def for left and right.
155
156
157 [CHARMAP name]
158 ...
159 [END CHARMAP]
160 'name' - is a charmap name for reference. requirements is the same
161 as for keymap name.
162 body is a sequence of char conversion definition:
163
164 <host_char> <console_char>
165
166 where host_char is a char received from host, and console_char
167 is a char, which would be displayed on console.
168
169 The main purpose of it is a conversion between differents code
170 pages, for example, on former USSR part of world most unix's hosts
171 uses 'koi8' code page, and on W95 machines - 866 code page and
172 (as say I.Ioannou) Greece has the same problem with 737 and 928
173 code-pages.
174
175
176 Any ASCII value can be represented by
177
178 \nnn where nnn is a 3 digit decimal ASCII value or
179 \xhh where hh is a 2 digit hexadecimal ASCII value.
180
181 Leading zeros may be omitted.
182 A value of \000(\x00) will not be accepted.
183
184 look for example at [charmap koi8-cp866].
185
186 [CONFIG name]
187 ...
188 [END CONFIG]
189 'name' - is a configuration name for reference. requirements is
190 the same as for keymap name.
191
192 you must define one with name 'default', which will be used as
193 default.
194
195 in body of this part you can combine keymaps and set charmap,
196 format is:
197
198 KEYMAP name_list [: <vk_name> [keymodifier[+keymodifier[+...]]] ]
199
200 where
201 name_list:
202 keymap_name
203 keymap_name '+' name_list
204
205 keymap_name is a name of [KEYMAP]
206
207 You can specify multiple keymaps, for first (mean default)
208 you can not define ': <vk_name> ...' part, but for rests
209 (secondary) you must!
210 The ': <vk_name> ...' part define a key for switch to this
211 keymap.
212
213 Assigning a switching key to first (default) keymap will be
214 ignored, but you can switch to by pressing second time switch
215 key of current keymap.
216
217 If a key not found in switched keymap, a program will be look
218 for it in default keymap. So, you can redefine only needed keys
219 in secondary keymaps.
220
221 CHARMAP name_list
222
223 where
224 name_list:
225 charmap_name
226 charmap_name '+' name_list
227
228 charmap_name is a name of [CHARMAP]
229
230
231 define wich charmap(s) is to use.
232
233 examples:
234 [config default]
235 keymap default
236 [end config]
237
238 [config linux]
239 keymap default + linux
240 [end config]
241
242 [config default_koi8]
243 keymap default
244 keymap koi8u + koi8r : VK_/ RIGHT_ALT // russian keyboard
245 keymap koi8u : VK_. RIGHT_ALT // ukranian
246
247 charmap koi8-cp866
248 [end config]
249
250 [config linux_koi8]
251 keymap default + linux
252 keymap koi8u + koi8r : VK_/ RIGHT_ALT // russian keyboard
253 keymap koi8u : VK_. RIGHT_ALT // ukranian
254
255 charmap koi8-cp866 + koi8u-cp866
256 [end config]
257
258 so, for switch to russian keyboard just press RIGHT_ALT and '/'.
259 and, for switch back to default press it again.
260
261