]> code.delx.au - gnu-emacs/blob - leim/quail/czech.el
(latin-2-alt-postfix): Doc fix.
[gnu-emacs] / leim / quail / czech.el
1 ;;; quail/czech.el -- Quail package for inputting Czech
2
3 ;; Copyright (C) 1998 Free Software Foundation.
4
5 ;; Author: Milan Zamazal <pdm@fi.muni.cz>
6 ;; Maintainer: Milan Zamazal <pdm@fi.muni.cz>
7 ;; Keywords: multilingual, input method, Czech
8
9 ;; This file is part of GNU Emacs.
10
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
12 ;; it under the terms of the GNU General Public License as published by
13 ;; the Free Software Foundation; either version 2, or (at your option)
14 ;; any later version.
15
16 ;; GNU Emacs is distributed in the hope that it will be useful,
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 ;; GNU General Public License for more details.
20
21 ;; You should have received a copy of the GNU General Public License
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
24 ;; Boston, MA 02111-1307, USA.
25
26 ;;; Commentary:
27
28 ;; This file defines the following Czech keyboards:
29 ;; - "standard" Czech keyboard in the Windoze NT 105 keys version (both
30 ;; "QWERTZ" and "QWERTY" versions)
31 ;; - three non-standard Czech keyboards for programmers
32
33 ;; Current Quail version has some limitations, which create annoying problems
34 ;; when using Czech keyboards. You may want to install the file
35 ;; `hack-quail.el' from the package
36 ;; ftp://ftp.fi.muni.cz/pub/localization/emacs/emacs-20/emacs-cs-utils*
37 ;; which tries to remove some of these limitations.
38
39 ;;; Code:
40
41 (require 'quail)
42
43
44 (quail-define-package
45 "czech" "Czech" "CZ" nil
46 "\"Standard\" Czech keyboard in the Windoze NT 105 keys version."
47 nil t nil nil nil nil nil nil nil nil t)
48
49 (quail-define-rules
50 ("1" ?+)
51 ("2" ?\e,Bl\e(B)
52 ("3" ?\e,B9\e(B)
53 ("4" ?\e,Bh\e(B)
54 ("5" ?\e,Bx\e(B)
55 ("6" ?\e,B>\e(B)
56 ("7" ?\e,B}\e(B)
57 ("8" ?\e,Ba\e(B)
58 ("9" ?\e,Bm\e(B)
59 ("0" ?\e,Bi\e(B)
60 ("!" ?1)
61 ("@" ?2)
62 ("#" ?3)
63 ("$" ?4)
64 ("%" ?5)
65 ("^" ?6)
66 ("&" ?7)
67 ("*" ?8)
68 ("(" ?9)
69 (")" ?0)
70 ("-" ?=)
71 ("_" ?%)
72 ("[" ?\e,Bz\e(B)
73 ("{" ?/)
74 ("]" ?\))
75 ("}" ?\()
76 ("|" ?`)
77 (";" ?\e,By\e(B)
78 (":" ?\")
79 ("'" ?\e,B'\e(B)
80 ("\"" ?!)
81 ("<" ??)
82 (">" ?:)
83 ("/" ?-)
84 ("?" ?_)
85 ("`" ?\;)
86 ("y" ?z)
87 ("z" ?y)
88 ("Y" ?Z)
89 ("Z" ?Y)
90 ("\\a" ?\e,Bd\e(B)
91 ("\\o" ?\e,Bv\e(B)
92 ("\\s" ?\e,B_\e(B)
93 ("\\u" ?\e,B|\e(B)
94 ("\\A" ?\e,BD\e(B)
95 ("\\O" ?\e,BV\e(B)
96 ("\\S" ?\e,B_\e(B)
97 ("\\U" ?\e,B\\e(B)
98 ("~u" ?\e,By\e(B)
99 ("~U" ?\e,BY\e(B)
100 ("=a" ?\e,Ba\e(B)
101 ("+c" ?\e,Bh\e(B)
102 ("+d" ?\e,Bo\e(B)
103 ("=e" ?\e,Bi\e(B)
104 ("+e" ?\e,Bl\e(B)
105 ("=i" ?\e,Bm\e(B)
106 ("+n" ?\e,Br\e(B)
107 ("=o" ?\e,Bs\e(B)
108 ("+r" ?\e,Bx\e(B)
109 ("+s" ?\e,B9\e(B)
110 ("+t" ?\e,B;\e(B)
111 ("=u" ?\e,Bz\e(B)
112 ("=z" ?\e,B}\e(B)
113 ("+y" ?\e,B>\e(B)
114 ("=A" ?\e,BA\e(B)
115 ("+C" ?\e,BH\e(B)
116 ("+D" ?\e,BO\e(B)
117 ("=E" ?\e,BI\e(B)
118 ("+E" ?\e,BL\e(B)
119 ("=I" ?\e,BM\e(B)
120 ("+N" ?\e,BR\e(B)
121 ("=O" ?\e,BS\e(B)
122 ("+R" ?\e,BX\e(B)
123 ("+S" ?\e,B)\e(B)
124 ("+T" ?\e,B+\e(B)
125 ("=U" ?\e,BZ\e(B)
126 ("=Z" ?\e,B]\e(B)
127 ("+Y" ?\e,B.\e(B)
128 ("=1" ?!)
129 ("=2" ?@)
130 ("=3" ?#)
131 ("=4" ?$)
132 ("=5" ?%)
133 ("=6" ?^)
134 ("=7" ?&)
135 ("=8" ?*)
136 ("=9" ?\()
137 ("=0" ?\))
138 ("+1" ?!)
139 ("+2" ?@)
140 ("+3" ?#)
141 ("+4" ?$)
142 ("+5" ?%)
143 ("+6" ?^)
144 ("+7" ?&)
145 ("+8" ?*)
146 ("+9" ?\()
147 ("+0" ?\))
148 ([kp-1] ?1)
149 ([kp-2] ?2)
150 ([kp-3] ?3)
151 ([kp-4] ?4)
152 ([kp-5] ?5)
153 ([kp-6] ?6)
154 ([kp-7] ?7)
155 ([kp-8] ?8)
156 ([kp-9] ?9)
157 ([kp-0] ?0)
158 ([kp-add] ?+))
159
160 (quail-define-package
161 "czech-qwerty" "Czech" "CZ" nil
162 "\"Standard\" Czech keyboard in the Windoze NT 105 keys version, QWERTY layout."
163 nil t nil nil nil nil nil nil nil nil t)
164
165 (quail-define-rules
166 ("1" ?+)
167 ("2" ?\e,Bl\e(B)
168 ("3" ?\e,B9\e(B)
169 ("4" ?\e,Bh\e(B)
170 ("5" ?\e,Bx\e(B)
171 ("6" ?\e,B>\e(B)
172 ("7" ?\e,B}\e(B)
173 ("8" ?\e,Ba\e(B)
174 ("9" ?\e,Bm\e(B)
175 ("0" ?\e,Bi\e(B)
176 ("!" ?1)
177 ("@" ?2)
178 ("#" ?3)
179 ("$" ?4)
180 ("%" ?5)
181 ("^" ?6)
182 ("&" ?7)
183 ("*" ?8)
184 ("(" ?9)
185 (")" ?0)
186 ("-" ?=)
187 ("_" ?%)
188 ("[" ?\e,Bz\e(B)
189 ("{" ?/)
190 ("]" ?\))
191 ("}" ?\()
192 ("|" ?`)
193 (";" ?\e,By\e(B)
194 (":" ?\")
195 ("'" ?\e,B'\e(B)
196 ("\"" ?!)
197 ("<" ??)
198 (">" ?:)
199 ("/" ?-)
200 ("?" ?_)
201 ("`" ?\;)
202 ("\\a" ?\e,Bd\e(B)
203 ("\\o" ?\e,Bv\e(B)
204 ("\\s" ?\e,B_\e(B)
205 ("\\u" ?\e,B|\e(B)
206 ("\\A" ?\e,BD\e(B)
207 ("\\O" ?\e,BV\e(B)
208 ("\\S" ?\e,B_\e(B)
209 ("\\U" ?\e,B\\e(B)
210 ("~u" ?\e,By\e(B)
211 ("~U" ?\e,BY\e(B)
212 ("=a" ?\e,Ba\e(B)
213 ("+c" ?\e,Bh\e(B)
214 ("+d" ?\e,Bo\e(B)
215 ("=e" ?\e,Bi\e(B)
216 ("+e" ?\e,Bl\e(B)
217 ("=i" ?\e,Bm\e(B)
218 ("+n" ?\e,Br\e(B)
219 ("=o" ?\e,Bs\e(B)
220 ("+r" ?\e,Bx\e(B)
221 ("+s" ?\e,B9\e(B)
222 ("+t" ?\e,B;\e(B)
223 ("=u" ?\e,Bz\e(B)
224 ("=y" ?\e,B}\e(B)
225 ("+z" ?\e,B>\e(B)
226 ("=A" ?\e,BA\e(B)
227 ("+C" ?\e,BH\e(B)
228 ("+D" ?\e,BO\e(B)
229 ("=E" ?\e,BI\e(B)
230 ("+E" ?\e,BL\e(B)
231 ("=I" ?\e,BM\e(B)
232 ("+N" ?\e,BR\e(B)
233 ("=O" ?\e,BS\e(B)
234 ("+R" ?\e,BX\e(B)
235 ("+S" ?\e,B)\e(B)
236 ("+T" ?\e,B+\e(B)
237 ("=Y" ?\e,B]\e(B)
238 ("+Z" ?\e,B.\e(B)
239 ("=U" ?\e,BZ\e(B)
240 ("=1" ?!)
241 ("=2" ?@)
242 ("=3" ?#)
243 ("=4" ?$)
244 ("=5" ?%)
245 ("=6" ?^)
246 ("=7" ?&)
247 ("=8" ?*)
248 ("=9" ?\()
249 ("=0" ?\))
250 ("+1" ?!)
251 ("+2" ?@)
252 ("+3" ?#)
253 ("+4" ?$)
254 ("+5" ?%)
255 ("+6" ?^)
256 ("+7" ?&)
257 ("+8" ?*)
258 ("+9" ?\()
259 ("+0" ?\))
260 ([kp-1] ?1)
261 ([kp-2] ?2)
262 ([kp-3] ?3)
263 ([kp-4] ?4)
264 ([kp-5] ?5)
265 ([kp-6] ?6)
266 ([kp-7] ?7)
267 ([kp-8] ?8)
268 ([kp-9] ?9)
269 ([kp-0] ?0)
270 ([kp-add] ?+))
271
272 (quail-define-package
273 "czech-prog-1" "Czech" "CZ" nil
274 "Czech (non-standard) keyboard for programmers #1.
275
276 All digits except of `1' are replaced by Czech characters as on the standard
277 Czech keyboard.
278 `1' is replaced by `+'.
279 `+' is a dead key. Multiple presses of the dead key generate various accents.
280 All other keys are the same as on standard US keyboard."
281 nil t nil nil nil nil nil nil nil nil t)
282
283 (quail-define-rules
284 ("1" ?+)
285 ("2" ?\e,Bl\e(B)
286 ("3" ?\e,B9\e(B)
287 ("4" ?\e,Bh\e(B)
288 ("5" ?\e,Bx\e(B)
289 ("6" ?\e,B>\e(B)
290 ("7" ?\e,B}\e(B)
291 ("8" ?\e,Ba\e(B)
292 ("9" ?\e,Bm\e(B)
293 ("0" ?\e,Bi\e(B)
294 ("+1" ?1)
295 ("+2" ?2)
296 ("+3" ?3)
297 ("+4" ?4)
298 ("+5" ?5)
299 ("+6" ?6)
300 ("+7" ?7)
301 ("+8" ?8)
302 ("+9" ?9)
303 ("+0" ?0)
304 ("+a" ?\e,Ba\e(B)
305 ("++a" ?\e,Bd\e(B)
306 ("+c" ?\e,Bh\e(B)
307 ("+d" ?\e,Bo\e(B)
308 ("+e" ?\e,Bi\e(B)
309 ("++e" ?\e,Bl\e(B)
310 ("+i" ?\e,Bm\e(B)
311 ("+l" ?\e,Be\e(B)
312 ("++l" ?\e,B5\e(B)
313 ("+n" ?\e,Br\e(B)
314 ("+o" ?\e,Bs\e(B)
315 ("++o" ?\e,Bv\e(B)
316 ("+++o" ?\e,Bt\e(B)
317 ("+r" ?\e,Bx\e(B)
318 ("++r" ?\e,B`\e(B)
319 ("+s" ?\e,B9\e(B)
320 ("++s" ?\e,B_\e(B)
321 ("+t" ?\e,B;\e(B)
322 ("+u" ?\e,Bz\e(B)
323 ("++u" ?\e,By\e(B)
324 ("+++u" ?\e,B|\e(B)
325 ("+y" ?\e,B}\e(B)
326 ("+z" ?\e,B>\e(B)
327 ("+A" ?\e,BA\e(B)
328 ("++A" ?\e,BD\e(B)
329 ("+C" ?\e,BH\e(B)
330 ("+D" ?\e,BO\e(B)
331 ("+E" ?\e,BI\e(B)
332 ("++E" ?\e,BL\e(B)
333 ("+I" ?\e,BM\e(B)
334 ("+L" ?\e,BE\e(B)
335 ("++L" ?\e,B%\e(B)
336 ("+N" ?\e,BR\e(B)
337 ("+O" ?\e,BS\e(B)
338 ("++O" ?\e,BV\e(B)
339 ("+++O" ?\e,BT\e(B)
340 ("+R" ?\e,BX\e(B)
341 ("++R" ?\e,B@\e(B)
342 ("+S" ?\e,B)\e(B)
343 ("++S" ?\e,B_\e(B)
344 ("+T" ?\e,B+\e(B)
345 ("+U" ?\e,BZ\e(B)
346 ("++U" ?\e,BY\e(B)
347 ("+++U" ?\e,B\\e(B)
348 ("+Y" ?\e,B]\e(B)
349 ("+Z" ?\e,B.\e(B)
350 ([kp-1] ?1)
351 ([kp-2] ?2)
352 ([kp-3] ?3)
353 ([kp-4] ?4)
354 ([kp-5] ?5)
355 ([kp-6] ?6)
356 ([kp-7] ?7)
357 ([kp-8] ?8)
358 ([kp-9] ?9)
359 ([kp-0] ?0)
360 ([kp-add] ?+))
361
362 (quail-define-package
363 "czech-prog-2" "Czech" "CZ" nil
364 "Czech (non-standard) keyboard for programmers #2.
365
366 All digits except of `1' are replaced by Czech characters as on the standard
367 Czech keyboard.
368 `1' is replaced by `\e,By\e(B'.
369 `+' is a dead key. Multiple presses of the dead key generate various accents.
370 All other keys are the same as on standard US keyboard."
371 nil t nil nil nil nil nil nil nil nil t)
372
373 (quail-define-rules
374 ("1" ?\e,By\e(B)
375 ("2" ?\e,Bl\e(B)
376 ("3" ?\e,B9\e(B)
377 ("4" ?\e,Bh\e(B)
378 ("5" ?\e,Bx\e(B)
379 ("6" ?\e,B>\e(B)
380 ("7" ?\e,B}\e(B)
381 ("8" ?\e,Ba\e(B)
382 ("9" ?\e,Bm\e(B)
383 ("0" ?\e,Bi\e(B)
384 ("+1" ?1)
385 ("+2" ?2)
386 ("+3" ?3)
387 ("+4" ?4)
388 ("+5" ?5)
389 ("+6" ?6)
390 ("+7" ?7)
391 ("+8" ?8)
392 ("+9" ?9)
393 ("+0" ?0)
394 ("+a" ?\e,Ba\e(B)
395 ("++a" ?\e,Bd\e(B)
396 ("+c" ?\e,Bh\e(B)
397 ("+d" ?\e,Bo\e(B)
398 ("+e" ?\e,Bi\e(B)
399 ("++e" ?\e,Bl\e(B)
400 ("+i" ?\e,Bm\e(B)
401 ("+l" ?\e,Be\e(B)
402 ("++l" ?\e,B5\e(B)
403 ("+n" ?\e,Br\e(B)
404 ("+o" ?\e,Bs\e(B)
405 ("++o" ?\e,Bv\e(B)
406 ("+++o" ?\e,Bt\e(B)
407 ("+r" ?\e,Bx\e(B)
408 ("++r" ?\e,B`\e(B)
409 ("+s" ?\e,B9\e(B)
410 ("++s" ?\e,B_\e(B)
411 ("+t" ?\e,B;\e(B)
412 ("+u" ?\e,Bz\e(B)
413 ("++u" ?\e,By\e(B)
414 ("+++u" ?\e,B|\e(B)
415 ("+y" ?\e,B}\e(B)
416 ("+z" ?\e,B>\e(B)
417 ("+A" ?\e,BA\e(B)
418 ("++A" ?\e,BD\e(B)
419 ("+C" ?\e,BH\e(B)
420 ("+D" ?\e,BO\e(B)
421 ("+E" ?\e,BI\e(B)
422 ("++E" ?\e,BL\e(B)
423 ("+I" ?\e,BM\e(B)
424 ("+L" ?\e,BE\e(B)
425 ("++L" ?\e,B%\e(B)
426 ("+N" ?\e,BR\e(B)
427 ("+O" ?\e,BS\e(B)
428 ("++O" ?\e,BV\e(B)
429 ("+++O" ?\e,BT\e(B)
430 ("+R" ?\e,BX\e(B)
431 ("++R" ?\e,B@\e(B)
432 ("+S" ?\e,B)\e(B)
433 ("++S" ?\e,B_\e(B)
434 ("+T" ?\e,B+\e(B)
435 ("+U" ?\e,BZ\e(B)
436 ("++U" ?\e,BY\e(B)
437 ("+++U" ?\e,B\\e(B)
438 ("+Y" ?\e,B]\e(B)
439 ("+Z" ?\e,B.\e(B)
440 ([kp-1] ?1)
441 ([kp-2] ?2)
442 ([kp-3] ?3)
443 ([kp-4] ?4)
444 ([kp-5] ?5)
445 ([kp-6] ?6)
446 ([kp-7] ?7)
447 ([kp-8] ?8)
448 ([kp-9] ?9)
449 ([kp-0] ?0)
450 ([kp-add] ?+))
451
452 (quail-define-package
453 "czech-prog-3" "Czech" "CZ" nil
454 "Czech (non-standard) keyboard for programmers compatible with the default
455 keyboard from the obsolete `emacs-czech' package.
456
457 All digits except of `1' are replaced by Czech characters as on the standard
458 Czech keyboard.
459 `[' and `]' are replaced with `\e,Bz\e(B' and `\e,By\e(B', respectively.
460 There are two dead keys on `=' and `+'. Characters with diaresis are
461 accessible through `+='.
462 All other keys are the same as on standard US keyboard."
463 nil t nil nil nil nil nil nil nil nil t)
464
465 (quail-define-rules
466 ("2" ?\e,Bl\e(B)
467 ("3" ?\e,B9\e(B)
468 ("4" ?\e,Bh\e(B)
469 ("5" ?\e,Bx\e(B)
470 ("6" ?\e,B>\e(B)
471 ("7" ?\e,B}\e(B)
472 ("8" ?\e,Ba\e(B)
473 ("9" ?\e,Bm\e(B)
474 ("0" ?\e,Bi\e(B)
475 ("[" ?\e,Bz\e(B)
476 ("]" ?\e,By\e(B)
477 ("==" ?=)
478 ("++" ?+)
479 ("=+" ?+)
480 ("=[" ?\[)
481 ("=]" ?\])
482 ("+[" ?\[)
483 ("+]" ?\])
484 ("=1" ?1)
485 ("=2" ?2)
486 ("=3" ?3)
487 ("=4" ?4)
488 ("=5" ?5)
489 ("=6" ?6)
490 ("=7" ?7)
491 ("=8" ?8)
492 ("=9" ?9)
493 ("=0" ?0)
494 ("+1" ?1)
495 ("+2" ?2)
496 ("+3" ?3)
497 ("+4" ?4)
498 ("+5" ?5)
499 ("+6" ?6)
500 ("+7" ?7)
501 ("+8" ?8)
502 ("+9" ?9)
503 ("+0" ?0)
504 ("=A" ?\e,BA\e(B)
505 ("+A" ?\e,BD\e(B)
506 ("+=A" ?\e,BD\e(B)
507 ("+C" ?\e,BH\e(B)
508 ("+D" ?\e,BO\e(B)
509 ("=E" ?\e,BI\e(B)
510 ("+E" ?\e,BL\e(B)
511 ("=I" ?\e,BM\e(B)
512 ("=L" ?\e,B%\e(B)
513 ("+L" ?\e,BE\e(B)
514 ("+N" ?\e,BR\e(B)
515 ("=O" ?\e,BS\e(B)
516 ("+O" ?\e,BT\e(B)
517 ("+=O" ?\e,BV\e(B)
518 ("=R" ?\e,B@\e(B)
519 ("+R" ?\e,BX\e(B)
520 ("+S" ?\e,B)\e(B)
521 ("=S" ?\e,B_\e(B)
522 ("+T" ?\e,B+\e(B)
523 ("=U" ?\e,BZ\e(B)
524 ("+U" ?\e,BY\e(B)
525 ("+=U" ?\e,B\\e(B)
526 ("=Y" ?\e,B]\e(B)
527 ("+Z" ?\e,B.\e(B)
528 ("=a" ?\e,Ba\e(B)
529 ("+a" ?\e,Bd\e(B)
530 ("+=a" ?\e,Bd\e(B)
531 ("+c" ?\e,Bh\e(B)
532 ("+d" ?\e,Bo\e(B)
533 ("=e" ?\e,Bi\e(B)
534 ("+e" ?\e,Bl\e(B)
535 ("=i" ?\e,Bm\e(B)
536 ("=l" ?\e,B5\e(B)
537 ("+l" ?\e,Be\e(B)
538 ("+n" ?\e,Br\e(B)
539 ("=o" ?\e,Bs\e(B)
540 ("+o" ?\e,Bt\e(B)
541 ("+=o" ?\e,Bv\e(B)
542 ("=r" ?\e,B`\e(B)
543 ("+r" ?\e,Bx\e(B)
544 ("+s" ?\e,B9\e(B)
545 ("=s" ?\e,B_\e(B)
546 ("+t" ?\e,B;\e(B)
547 ("=u" ?\e,Bz\e(B)
548 ("+u" ?\e,By\e(B)
549 ("+=u" ?\e,B|\e(B)
550 ("=y" ?\e,B}\e(B)
551 ("+z" ?\e,B>\e(B)
552 ([kp-1] ?1)
553 ([kp-2] ?2)
554 ([kp-3] ?3)
555 ([kp-4] ?4)
556 ([kp-5] ?5)
557 ([kp-6] ?6)
558 ([kp-7] ?7)
559 ([kp-8] ?8)
560 ([kp-9] ?9)
561 ([kp-0] ?0)
562 ([kp-add] ?+))