view leim/quail/czech.el @ 21240:bff697e03fe0

Include puresize.h for CHECK_IMPURE. (parse_menu_item): New function. (menu_item_eval_property_1, menu_item_eval_property) New suroutines. (menu_bar_one_keymap): Moved some code to menu_bar_item. (menu_bar_item): Rewritten to use parse_menu_item. (menu_bar_item_1): Function deleted. (QCenable, QCvisible, QChelp, QCfilter, QCbutton, QCtoggle, QCradio): (Qmenu_alias): New variables. (syms_of_keyboard): Initialize them, and item_properties.
author Richard M. Stallman <rms@gnu.org>
date Sat, 21 Mar 1998 05:49:49 +0000
parents 0ad514a44245
children b49e191032c7
line wrap: on
line source

;;; quail/czech.el -- Quail package for inputting Czech

;; Copyright (C) 1998 Free Software Foundation.

;; Author:     Milan Zamazal <pdm@fi.muni.cz>
;; Maintainer: Milan Zamazal <pdm@fi.muni.cz>
;; Keywords: multilingual, input method, Czech

;; Copying and warranty: GNU General Public License, version 2

;;; Commentary:

;; This file defines the following Czech keyboards:
;; - "standard" Czech keyboard in the Windoze NT 105 keys version (both
;;   "QWERTZ" and "QWERTY" versions)
;; - three non-standard Czech keyboards for programmers

;; Current Quail version has some limitations, which create annoying problems
;; when using Czech keyboards.  You may want to install the file
;; `hack-quail.el' from the package
;; ftp://ftp.fi.muni.cz/pub/localization/emacs/emacs-20/emacs-cs-utils*
;; which tries to remove some of these limitations.

;;; Code:

(require 'quail)


(quail-define-package
 "czech" "Czech" "CZ" nil
 "\"Standard\" Czech keyboard in the Windoze NT 105 keys version."
 nil t nil nil nil nil nil nil nil nil t)

(quail-define-rules
 ("1" ?+)
 ("2" ?,Bl(B)
 ("3" ?,B9(B)
 ("4" ?,Bh(B)
 ("5" ?,Bx(B)
 ("6" ?,B>(B)
 ("7" ?,B}(B)
 ("8" ?,Ba(B)
 ("9" ?,Bm(B)
 ("0" ?,Bi(B)
 ("!" ?1)
 ("@" ?2)
 ("#" ?3)
 ("$" ?4)
 ("%" ?5)
 ("^" ?6)
 ("&" ?7)
 ("*" ?8)
 ("(" ?9)
 (")" ?0)
 ("-" ?=)
 ("_" ?%)
 ("[" ?,Bz(B)
 ("{" ?/)
 ("]" ?\))
 ("}" ?\()
 ("|" ?`)
 (";" ?,By(B)
 (":" ?\")
 ("'" ?,B'(B)
 ("\"" ?!)
 ("<" ??)
 (">" ?:)
 ("/" ?-)
 ("?" ?_)
 ("`" ?\;)
 ("y" ?z)
 ("z" ?y)
 ("Y" ?Z)
 ("Z" ?Y)
 ("\\a" ?,Bd(B)
 ("\\o" ?,Bv(B)
 ("\\s" ?,B_(B)
 ("\\u" ?,B|(B)
 ("\\A" ?,BD(B)
 ("\\O" ?,BV(B)
 ("\\S" ?,B_(B)
 ("\\U" ?,B\(B)
 ("~u" ?,By(B)
 ("~U" ?,BY(B)
 ("=a" ?,Ba(B)
 ("+c" ?,Bh(B)
 ("+d" ?,Bo(B)
 ("=e" ?,Bi(B)
 ("+e" ?,Bl(B)
 ("=i" ?,Bm(B)
 ("+n" ?,Br(B)
 ("=o" ?,Bs(B)
 ("+r" ?,Bx(B)
 ("+s" ?,B9(B)
 ("+t" ?,B;(B)
 ("=u" ?,Bz(B)
 ("=z" ?,B}(B)
 ("+y" ?,B>(B)
 ("=A" ?,BA(B)
 ("+C" ?,BH(B)
 ("+D" ?,BO(B)
 ("=E" ?,BI(B)
 ("+E" ?,BL(B)
 ("=I" ?,BM(B)
 ("+N" ?,BR(B)
 ("=O" ?,BS(B)
 ("+R" ?,BX(B)
 ("+S" ?,B)(B)
 ("+T" ?,B+(B)
 ("=U" ?,BZ(B)
 ("=Z" ?,B](B)
 ("+Y" ?,B.(B)
 ("=1" ?!)
 ("=2" ?@)
 ("=3" ?#)
 ("=4" ?$)
 ("=5" ?%)
 ("=6" ?^)
 ("=7" ?&)
 ("=8" ?*)
 ("=9" ?\()
 ("=0" ?\))
 ("+1" ?!)
 ("+2" ?@)
 ("+3" ?#)
 ("+4" ?$)
 ("+5" ?%)
 ("+6" ?^)
 ("+7" ?&)
 ("+8" ?*)
 ("+9" ?\()
 ("+0" ?\))
 ([kp-1] ?1)
 ([kp-2] ?2)
 ([kp-3] ?3)
 ([kp-4] ?4)
 ([kp-5] ?5)
 ([kp-6] ?6)
 ([kp-7] ?7)
 ([kp-8] ?8)
 ([kp-9] ?9)
 ([kp-0] ?0)
 ([kp-add] ?+))

(quail-define-package
 "czech-qwerty" "Czech" "CZ" nil
 "\"Standard\" Czech keyboard in the Windoze NT 105 keys version, QWERTY layout."
 nil t nil nil nil nil nil nil nil nil t)

(quail-define-rules
 ("1" ?+)
 ("2" ?,Bl(B)
 ("3" ?,B9(B)
 ("4" ?,Bh(B)
 ("5" ?,Bx(B)
 ("6" ?,B>(B)
 ("7" ?,B}(B)
 ("8" ?,Ba(B)
 ("9" ?,Bm(B)
 ("0" ?,Bi(B)
 ("!" ?1)
 ("@" ?2)
 ("#" ?3)
 ("$" ?4)
 ("%" ?5)
 ("^" ?6)
 ("&" ?7)
 ("*" ?8)
 ("(" ?9)
 (")" ?0)
 ("-" ?=)
 ("_" ?%)
 ("[" ?,Bz(B)
 ("{" ?/)
 ("]" ?\))
 ("}" ?\()
 ("|" ?`)
 (";" ?,By(B)
 (":" ?\")
 ("'" ?,B'(B)
 ("\"" ?!)
 ("<" ??)
 (">" ?:)
 ("/" ?-)
 ("?" ?_)
 ("`" ?\;)
 ("\\a" ?,Bd(B)
 ("\\o" ?,Bv(B)
 ("\\s" ?,B_(B)
 ("\\u" ?,B|(B)
 ("\\A" ?,BD(B)
 ("\\O" ?,BV(B)
 ("\\S" ?,B_(B)
 ("\\U" ?,B\(B)
 ("~u" ?,By(B)
 ("~U" ?,BY(B)
 ("=a" ?,Ba(B)
 ("+c" ?,Bh(B)
 ("+d" ?,Bo(B)
 ("=e" ?,Bi(B)
 ("+e" ?,Bl(B)
 ("=i" ?,Bm(B)
 ("+n" ?,Br(B)
 ("=o" ?,Bs(B)
 ("+r" ?,Bx(B)
 ("+s" ?,B9(B)
 ("+t" ?,B;(B)
 ("=u" ?,Bz(B)
 ("=y" ?,B}(B)
 ("+z" ?,B>(B)
 ("=A" ?,BA(B)
 ("+C" ?,BH(B)
 ("+D" ?,BO(B)
 ("=E" ?,BI(B)
 ("+E" ?,BL(B)
 ("=I" ?,BM(B)
 ("+N" ?,BR(B)
 ("=O" ?,BS(B)
 ("+R" ?,BX(B)
 ("+S" ?,B)(B)
 ("+T" ?,B+(B)
 ("=Y" ?,B](B)
 ("+Z" ?,B.(B)
 ("=U" ?,BZ(B)
 ("=1" ?!)
 ("=2" ?@)
 ("=3" ?#)
 ("=4" ?$)
 ("=5" ?%)
 ("=6" ?^)
 ("=7" ?&)
 ("=8" ?*)
 ("=9" ?\()
 ("=0" ?\))
 ("+1" ?!)
 ("+2" ?@)
 ("+3" ?#)
 ("+4" ?$)
 ("+5" ?%)
 ("+6" ?^)
 ("+7" ?&)
 ("+8" ?*)
 ("+9" ?\()
 ("+0" ?\))
 ([kp-1] ?1)
 ([kp-2] ?2)
 ([kp-3] ?3)
 ([kp-4] ?4)
 ([kp-5] ?5)
 ([kp-6] ?6)
 ([kp-7] ?7)
 ([kp-8] ?8)
 ([kp-9] ?9)
 ([kp-0] ?0)
 ([kp-add] ?+))

(quail-define-package
 "czech-prog-1" "Czech" "CZ" nil
 "Czech (non-standard) keyboard for programmers #1.

All digits except of `1' are replaced by Czech characters as on the standard
Czech keyboard.
`1' is replaced by `+'.
`+' is a dead key.  Multiple presses of the dead key generate various accents.
All other keys are the same as on standard US keyboard."
 nil t nil nil nil nil nil nil nil nil t)

(quail-define-rules
 ("1" ?+)
 ("2" ?,Bl(B)
 ("3" ?,B9(B)
 ("4" ?,Bh(B)
 ("5" ?,Bx(B)
 ("6" ?,B>(B)
 ("7" ?,B}(B)
 ("8" ?,Ba(B)
 ("9" ?,Bm(B)
 ("0" ?,Bi(B)
 ("+1" ?1)
 ("+2" ?2)
 ("+3" ?3)
 ("+4" ?4)
 ("+5" ?5)
 ("+6" ?6)
 ("+7" ?7)
 ("+8" ?8)
 ("+9" ?9)
 ("+0" ?0)
 ("+a" ?,Ba(B)
 ("++a" ?,Bd(B)
 ("+c" ?,Bh(B)
 ("+d" ?,Bo(B)
 ("+e" ?,Bi(B)
 ("++e" ?,Bl(B)
 ("+i" ?,Bm(B)
 ("+l" ?,Be(B)
 ("++l" ?,B5(B)
 ("+n" ?,Br(B)
 ("+o" ?,Bs(B)
 ("++o" ?,Bv(B)
 ("+++o" ?,Bt(B)
 ("+r" ?,Bx(B)
 ("++r" ?,B`(B)
 ("+s" ?,B9(B)
 ("++s" ?,B_(B)
 ("+t" ?,B;(B)
 ("+u" ?,Bz(B)
 ("++u" ?,By(B)
 ("+++u" ?,B|(B)
 ("+y" ?,B}(B)
 ("+z" ?,B>(B)
 ("+A" ?,BA(B)
 ("++A" ?,BD(B)
 ("+C" ?,BH(B)
 ("+D" ?,BO(B)
 ("+E" ?,BI(B)
 ("++E" ?,BL(B)
 ("+I" ?,BM(B)
 ("+L" ?,BE(B)
 ("++L" ?,B%(B)
 ("+N" ?,BR(B)
 ("+O" ?,BS(B)
 ("++O" ?,BV(B)
 ("+++O" ?,BT(B)
 ("+R" ?,BX(B)
 ("++R" ?,B@(B)
 ("+S" ?,B)(B)
 ("++S" ?,B_(B)
 ("+T" ?,B+(B)
 ("+U" ?,BZ(B)
 ("++U" ?,BY(B)
 ("+++U" ?,B\(B)
 ("+Y" ?,B](B)
 ("+Z" ?,B.(B)
 ([kp-1] ?1)
 ([kp-2] ?2)
 ([kp-3] ?3)
 ([kp-4] ?4)
 ([kp-5] ?5)
 ([kp-6] ?6)
 ([kp-7] ?7)
 ([kp-8] ?8)
 ([kp-9] ?9)
 ([kp-0] ?0)
 ([kp-add] ?+))

(quail-define-package
 "czech-prog-2" "Czech" "CZ" nil
 "Czech (non-standard) keyboard for programmers #2.

All digits except of `1' are replaced by Czech characters as on the standard
Czech keyboard.
`1' is replaced by `,By(B'.
`+' is a dead key.  Multiple presses of the dead key generate various accents.
All other keys are the same as on standard US keyboard."
 nil t nil nil nil nil nil nil nil nil t)

(quail-define-rules
 ("1" ?,By(B)
 ("2" ?,Bl(B)
 ("3" ?,B9(B)
 ("4" ?,Bh(B)
 ("5" ?,Bx(B)
 ("6" ?,B>(B)
 ("7" ?,B}(B)
 ("8" ?,Ba(B)
 ("9" ?,Bm(B)
 ("0" ?,Bi(B)
 ("+1" ?1)
 ("+2" ?2)
 ("+3" ?3)
 ("+4" ?4)
 ("+5" ?5)
 ("+6" ?6)
 ("+7" ?7)
 ("+8" ?8)
 ("+9" ?9)
 ("+0" ?0)
 ("+a" ?,Ba(B)
 ("++a" ?,Bd(B)
 ("+c" ?,Bh(B)
 ("+d" ?,Bo(B)
 ("+e" ?,Bi(B)
 ("++e" ?,Bl(B)
 ("+i" ?,Bm(B)
 ("+l" ?,Be(B)
 ("++l" ?,B5(B)
 ("+n" ?,Br(B)
 ("+o" ?,Bs(B)
 ("++o" ?,Bv(B)
 ("+++o" ?,Bt(B)
 ("+r" ?,Bx(B)
 ("++r" ?,B`(B)
 ("+s" ?,B9(B)
 ("++s" ?,B_(B)
 ("+t" ?,B;(B)
 ("+u" ?,Bz(B)
 ("++u" ?,By(B)
 ("+++u" ?,B|(B)
 ("+y" ?,B}(B)
 ("+z" ?,B>(B)
 ("+A" ?,BA(B)
 ("++A" ?,BD(B)
 ("+C" ?,BH(B)
 ("+D" ?,BO(B)
 ("+E" ?,BI(B)
 ("++E" ?,BL(B)
 ("+I" ?,BM(B)
 ("+L" ?,BE(B)
 ("++L" ?,B%(B)
 ("+N" ?,BR(B)
 ("+O" ?,BS(B)
 ("++O" ?,BV(B)
 ("+++O" ?,BT(B)
 ("+R" ?,BX(B)
 ("++R" ?,B@(B)
 ("+S" ?,B)(B)
 ("++S" ?,B_(B)
 ("+T" ?,B+(B)
 ("+U" ?,BZ(B)
 ("++U" ?,BY(B)
 ("+++U" ?,B\(B)
 ("+Y" ?,B](B)
 ("+Z" ?,B.(B)
 ([kp-1] ?1)
 ([kp-2] ?2)
 ([kp-3] ?3)
 ([kp-4] ?4)
 ([kp-5] ?5)
 ([kp-6] ?6)
 ([kp-7] ?7)
 ([kp-8] ?8)
 ([kp-9] ?9)
 ([kp-0] ?0)
 ([kp-add] ?+))

(quail-define-package
 "czech-prog-3" "Czech" "CZ" nil
 "Czech (non-standard) keyboard for programmers compatible with the default
keyboard from the obsolete `emacs-czech' package.

All digits except of `1' are replaced by Czech characters as on the standard
Czech keyboard.
`[' and `]' are replaced with `,Bz(B' and `,By(B', respectively.
There are two dead keys on `=' and `+'.  Characters with diaresis are
accessible through `+='.
All other keys are the same as on standard US keyboard."
 nil t nil nil nil nil nil nil nil nil t)

(quail-define-rules
 ("2" ?,Bl(B)
 ("3" ?,B9(B)
 ("4" ?,Bh(B)
 ("5" ?,Bx(B)
 ("6" ?,B>(B)
 ("7" ?,B}(B)
 ("8" ?,Ba(B)
 ("9" ?,Bm(B)
 ("0" ?,Bi(B)
 ("[" ?,Bz(B)
 ("]" ?,By(B)
 ("==" ?=)
 ("++" ?+)
 ("=+" ?+)
 ("=[" ?\[)
 ("=]" ?\])
 ("+[" ?\[)
 ("+]" ?\])
 ("=1" ?1)
 ("=2" ?2)
 ("=3" ?3)
 ("=4" ?4)
 ("=5" ?5)
 ("=6" ?6)
 ("=7" ?7)
 ("=8" ?8)
 ("=9" ?9)
 ("=0" ?0)
 ("+1" ?1)
 ("+2" ?2)
 ("+3" ?3)
 ("+4" ?4)
 ("+5" ?5)
 ("+6" ?6)
 ("+7" ?7)
 ("+8" ?8)
 ("+9" ?9)
 ("+0" ?0)
 ("=A" ?,BA(B)
 ("+A" ?,BD(B)
 ("+=A" ?,BD(B)
 ("+C" ?,BH(B)
 ("+D" ?,BO(B)
 ("=E" ?,BI(B)
 ("+E" ?,BL(B)
 ("=I" ?,BM(B)
 ("=L" ?,B%(B)
 ("+L" ?,BE(B)
 ("+N" ?,BR(B)
 ("=O" ?,BS(B)
 ("+O" ?,BT(B)
 ("+=O" ?,BV(B)
 ("=R" ?,B@(B)
 ("+R" ?,BX(B)
 ("+S" ?,B)(B)
 ("=S" ?,B_(B)
 ("+T" ?,B+(B)
 ("=U" ?,BZ(B)
 ("+U" ?,BY(B)
 ("+=U" ?,B\(B)
 ("=Y" ?,B](B)
 ("+Z" ?,B.(B)
 ("=a" ?,Ba(B)
 ("+a" ?,Bd(B)
 ("+=a" ?,Bd(B)
 ("+c" ?,Bh(B)
 ("+d" ?,Bo(B)
 ("=e" ?,Bi(B)
 ("+e" ?,Bl(B)
 ("=i" ?,Bm(B)
 ("=l" ?,B5(B)
 ("+l" ?,Be(B)
 ("+n" ?,Br(B)
 ("=o" ?,Bs(B)
 ("+o" ?,Bt(B)
 ("+=o" ?,Bv(B)
 ("=r" ?,B`(B)
 ("+r" ?,Bx(B)
 ("+s" ?,B9(B)
 ("=s" ?,B_(B)
 ("+t" ?,B;(B)
 ("=u" ?,Bz(B)
 ("+u" ?,By(B)
 ("+=u" ?,B|(B)
 ("=y" ?,B}(B)
 ("+z" ?,B>(B)
 ([kp-1] ?1)
 ([kp-2] ?2)
 ([kp-3] ?3)
 ([kp-4] ?4)
 ([kp-5] ?5)
 ([kp-6] ?6)
 ([kp-7] ?7)
 ([kp-8] ?8)
 ([kp-9] ?9)
 ([kp-0] ?0)
 ([kp-add] ?+))