czech.el 9.8 KB

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