Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1843 lines
73 KiB

  1. ;/*
  2. ; * Microsoft Confidential
  3. ; * Copyright (C) Microsoft Corporation 1988-1993.
  4. ; * All Rights Reserved.
  5. ; */
  6. PAGE 118,132
  7. TITLE MS-DOS - Keyboard Definition File
  8. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  9. ;; MS-DOS - NLS Support - Keyboard Definition File
  10. ;;
  11. ;; This file contains the keyboard tables for Dual mode Canadian, French
  12. ;;
  13. ;; Linkage Instructions:
  14. ;; Refer to KDFNOW.ASM.
  15. ;; Created by John Hicks 9-19-93
  16. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  17. ;;
  18. INCLUDE KEYBSHAR.INC ;;
  19. INCLUDE POSTEQU.INC ;;
  20. INCLUDE KEYBMAC.INC ;;
  21. ;;
  22. PUBLIC GK_LOGIC ;;
  23. PUBLIC GK_869_XLAT ;;
  24. PUBLIC GK_737_XLAT ;;
  25. ;;
  26. CODE SEGMENT PUBLIC 'CODE' ;;
  27. ASSUME CS:CODE,DS:CODE ;;
  28. ;;
  29. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  30. ;; Standard translate table options are a linear search table
  31. ;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
  32. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  33. ;;
  34. STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
  35. ;;
  36. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  37. ;;***************************************
  38. ;;
  39. ;; GK State Logic
  40. ;;
  41. ;;***************************************
  42. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  43. ;;
  44. GK_LOGIC: ;;
  45. ;;
  46. DW LOGIC_END-$ ;; length
  47. ;;
  48. DW SHIFTS_TO_LOGIC+SWITCHABLE ;; special features
  49. ;;
  50. ;; COMMANDS START HERE
  51. ;;
  52. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  53. ;; OPTIONS: If we find a scan match in
  54. ;; an XLATT or SET_FLAG operation then
  55. ;; exit from INT 9.
  56. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  57. ;;
  58. ;;
  59. OPTION EXIT_IF_FOUND ;;
  60. ;;
  61. ;;
  62. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  63. ;;
  64. ;; Mode change CHECK
  65. ;;
  66. ;; MODE CHANGE BY <CTRL + Left SHIFT> and
  67. ;; <CTRL+Right SHIFT> PRESS
  68. ;;
  69. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  70. ;;
  71. ;;
  72. IFF SHIFTS_PRESSED ;;
  73. IFF EITHER_CTL,NOT ;;
  74. ANDF EITHER_ALT ;;
  75. IFF LEFT_SHIFT ;; Primary mode
  76. BEEP ;;
  77. RESET_NLS ;;
  78. ENDIFF ;;
  79. IFF RIGHT_SHIFT ;;
  80. BEEP ;;
  81. SET_FLAG RUS_MODE_SET ;; secondary mode
  82. ENDIFF ;;
  83. ENDIFF ;;
  84. EXIT_STATE_LOGIC ;;
  85. ENDIFF ;;
  86. ;;
  87. ;;
  88. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LATIN
  89. IFF RUS_MODE,NOT ;; Primary Mode dead keys
  90. IFF EITHER_ALT,NOT ;;
  91. ANDF EITHER_CTL,NOT ;;
  92. IFF LC_E0,NOT ;;
  93. IFF EITHER_SHIFT ;;
  94. SET_FLAG DEAD_UPPER ;;
  95. ELSEF ;;
  96. SET_FLAG DEAD_LOWER ;;
  97. ENDIFF ;;
  98. ENDIFF ;;
  99. ENDIFF ;; GREEK
  100. ELSEF ;; Secondary Mode Dead Keys
  101. IFF EITHER_ALT,NOT ;;
  102. ANDF EITHER_CTL,NOT ;;
  103. IFF LC_E0,NOT ;;
  104. IFF EITHER_SHIFT ;;
  105. SET_FLAG DEAD_UPPER_SEC ;;
  106. ELSEF ;;
  107. SET_FLAG DEAD_LOWER_SEC ;;
  108. ENDIFF ;;
  109. ENDIFF ;;
  110. ELSEF ;;
  111. IFF EITHER_SHIFT,NOT ;;
  112. IFKBD XT_KB+AT_KB ;;
  113. IFF EITHER_CTL ;;
  114. ANDF ALT_SHIFT ;;
  115. SET_FLAG DEAD_THIRD_SEC ;;
  116. ENDIFF ;;
  117. ELSEF ;;
  118. IFF R_ALT_SHIFT ;;
  119. ANDF EITHER_CTL,NOT ;;
  120. ANDF LC_E0,NOT ;;
  121. SET_FLAG DEAD_THIRD_SEC ;;
  122. ENDIFF ;;
  123. ENDIFF ;;
  124. ENDIFF ;;
  125. ENDIFF ;;
  126. ENDIFF ;;
  127. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  128. ;; CIRCUMFLEX ACCENT TRANSLATIONS
  129. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  130. ;;
  131. IFF CIRCUMFLEX,NOT ;;
  132. GOTO DIARESIS_PROC ;;
  133. ENDIFF ;;
  134. ;;
  135. RESET_NLS ;;
  136. IFF R_ALT_SHIFT,NOT ;;
  137. XLATT CIRCUMFLEX_SPACE ;;
  138. ENDIFF ;;
  139. IFF EITHER_CTL,NOT ;;
  140. ANDF EITHER_ALT,NOT ;;
  141. IFF EITHER_SHIFT ;;
  142. IFF CAPS_STATE ;;
  143. XLATT CIRCUMFLEX_LOWER ;;
  144. ELSEF ;;
  145. XLATT CIRCUMFLEX_UPPER ;;
  146. ENDIFF ;;
  147. ELSEF ;;
  148. IFF CAPS_STATE ;;
  149. XLATT CIRCUMFLEX_UPPER ;;
  150. ELSEF ;;
  151. XLATT CIRCUMFLEX_LOWER ;;
  152. ENDIFF ;;
  153. ENDIFF ;;
  154. ENDIFF ;;
  155. ;;
  156. INVALID_CIRCUMFLEX: ;;
  157. PUT_ERROR_CHAR CIRCUMFLEX_SPACE ;; If we get here then either the XLATT
  158. BEEP ;; failed or we are ina bad shift state.
  159. GOTO NON_DEAD ;; Either is invalid so BEEP and fall
  160. ;; through to generate the second char.
  161. ;; Note that the dead key flag will be
  162. ;; reset before we get here.
  163. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  164. ;; DIARESIS ACCENT TRANSLATIONS
  165. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  166. ;;
  167. DIARESIS_PROC: ;;
  168. ;;
  169. IFF DIARESIS,NOT ;;
  170. GOTO DIARESIS_SEC_PROC ;;
  171. ENDIFF ;;
  172. RESET_NLS ;;
  173. IFF R_ALT_SHIFT,NOT ;;
  174. XLATT DIARESIS_SPACE ;;
  175. ENDIFF ;;
  176. IFF EITHER_CTL,NOT ;;
  177. ANDF EITHER_ALT,NOT ;;
  178. IFF EITHER_SHIFT ;;
  179. IFF CAPS_STATE ;;
  180. XLATT DIARESIS_LOWER ;;
  181. ELSEF ;;
  182. XLATT DIARESIS_UPPER ;;
  183. ENDIFF ;;
  184. ELSEF ;;
  185. IFF CAPS_STATE ;;
  186. XLATT DIARESIS_UPPER ;;
  187. ELSEF ;;
  188. XLATT DIARESIS_LOWER ;;
  189. ENDIFF ;;
  190. ENDIFF ;;
  191. ENDIFF ;;
  192. INVALID_DIARESIS: ;;
  193. PUT_ERROR_CHAR DIARESIS_LOWER ;; standalone accent
  194. BEEP ;; Invalid dead key combo.
  195. GOTO NON_DEAD ;;
  196. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  197. ;; DIARESIS ACCENT TRANSLATIONS SEC
  198. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  199. ;;
  200. DIARESIS_SEC_PROC: ;;
  201. ;;
  202. IFF DIARESIS_SEC,NOT ;;
  203. GOTO GRAVE_PROC ;;
  204. ENDIFF ;;
  205. RESET_NLS1 ;;
  206. IFF R_ALT_SHIFT,NOT ;;
  207. XLATT DIARESIS_SPACE_SEC ;;
  208. ENDIFF ;;
  209. IFF EITHER_CTL,NOT ;;
  210. ANDF EITHER_ALT,NOT ;;
  211. IFF EITHER_SHIFT ;;
  212. IFF CAPS_STATE ;;
  213. XLATT DIARESIS_LOWER_SEC ;
  214. ELSEF ;;
  215. XLATT DIARESIS_UPPER_SEC ;
  216. ENDIFF ;;
  217. ELSEF ;;
  218. IFF CAPS_STATE ;;
  219. XLATT DIARESIS_UPPER_SEC ;
  220. ELSEF ;;
  221. XLATT DIARESIS_LOWER_SEC ;
  222. ENDIFF ;;
  223. ENDIFF ;;
  224. ENDIFF ;;
  225. INVALID_DIARESIS_SEC: ;;
  226. PUT_ERROR_CHAR DIARESIS_LOWER_SEC ; standalone accent
  227. BEEP ;; Invalid dead key combo.
  228. GOTO NON_DEAD ;;
  229. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  230. ;; GRAVE ACCENT TRANSLATIONS
  231. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  232. ;;
  233. GRAVE_PROC: ;;
  234. ;;
  235. IFF GRAVE,NOT ;;
  236. GOTO ACUTE_PROC ;;
  237. ENDIFF ;;
  238. ;;
  239. RESET_NLS ;;
  240. IFF R_ALT_SHIFT,NOT ;;
  241. XLATT GRAVE_SPACE ;;
  242. ENDIFF ;;
  243. IFF EITHER_CTL,NOT ;;
  244. ANDF EITHER_ALT,NOT ;;
  245. IFF EITHER_SHIFT ;;
  246. IFF CAPS_STATE ;;
  247. XLATT GRAVE_LOWER ;;
  248. ELSEF ;;
  249. XLATT GRAVE_UPPER ;;
  250. ENDIFF ;;
  251. ELSEF ;;
  252. IFF CAPS_STATE,NOT ;;
  253. XLATT GRAVE_LOWER ;;
  254. ELSEF ;;
  255. XLATT GRAVE_UPPER ;;
  256. ENDIFF ;;
  257. ENDIFF ;;
  258. ENDIFF ;;
  259. ;;
  260. INVALID_GRAVE: ;;
  261. PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent
  262. BEEP ;; Invalid dead key combo.
  263. GOTO NON_DEAD ;;
  264. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  265. ;; ACUTE ACCENT TRANSLATIONS
  266. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  267. ;;
  268. ACUTE_PROC: ;;
  269. ;;
  270. IFF ACUTE,NOT ;;
  271. GOTO ACUTE_SEC_PROC ;; changed for bug 1502
  272. ENDIFF ;;
  273. ;;
  274. RESET_NLS ;;
  275. IFF R_ALT_SHIFT,NOT ;;
  276. XLATT ACUTE_SPACE ;;
  277. ENDIFF ;;
  278. IFF EITHER_CTL,NOT ;;
  279. ANDF EITHER_ALT,NOT ;;
  280. IFF EITHER_SHIFT ;;
  281. IFF CAPS_STATE ;;
  282. XLATT ACUTE_LOWER ;;
  283. ELSEF ;;
  284. XLATT ACUTE_UPPER ;;
  285. ENDIFF ;;
  286. ELSEF ;;
  287. IFF CAPS_STATE ;;
  288. XLATT ACUTE_UPPER ;;
  289. ELSEF ;;
  290. XLATT ACUTE_LOWER ;;
  291. ENDIFF ;;
  292. ENDIFF ;;
  293. ENDIFF ;;
  294. INVALID_ACUTE: ;;
  295. PUT_ERROR_CHAR ACUTE_LOWER ;; standalone accent
  296. BEEP ;; Invalid dead key combo.
  297. GOTO NON_DEAD ;;
  298. ;;
  299. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  300. ;; ACUTE-DIARESIS ACCENT TRANSLATIONS
  301. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  302. ;;
  303. ACUTE_SEC_PROC: ;;
  304. ;;
  305. IFF ACUTE_SEC,NOT ;;
  306. GOTO ACUTE_DIAR_PROC ;;
  307. ENDIFF ;;
  308. ;;
  309. RESET_NLS1 ;;
  310. IFF R_ALT_SHIFT,NOT ;;
  311. XLATT ACUTE_SPACE_SEC ;;
  312. ENDIFF ;;
  313. IFF EITHER_CTL,NOT ;;
  314. ANDF EITHER_ALT,NOT ;;
  315. IFF EITHER_SHIFT ;;
  316. IFF CAPS_STATE ;;
  317. XLATT ACUTE_LOWER_SEC ;;
  318. ELSEF ;;
  319. XLATT ACUTE_UPPER_SEC ;;
  320. ENDIFF ;;
  321. ELSEF ;;
  322. IFF CAPS_STATE ;;
  323. XLATT ACUTE_UPPER_SEC ;;
  324. ELSEF ;;
  325. XLATT ACUTE_LOWER_SEC ;;
  326. ENDIFF ;;
  327. ENDIFF ;;
  328. ENDIFF ;;
  329. INVALID_ACUTE_SEC: ;;
  330. PUT_ERROR_CHAR ACUTE_LOWER_SEC ;; standalone accent
  331. BEEP ;; Invalid dead key combo.
  332. GOTO NON_DEAD ;;
  333. ;;
  334. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  335. ;; ACUTE-DIARESIS ACCENT TRANSLATIONS
  336. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  337. ;;
  338. ACUTE_DIAR_PROC: ;;
  339. ;;
  340. IFF ACUTE_DIAR,NOT ;;
  341. GOTO TILDE_PROC ;;
  342. ENDIFF ;;
  343. ;;
  344. RESET_NLS1 ;;
  345. IFF R_ALT_SHIFT,NOT ;;
  346. XLATT ACDI_SPACE_SEC ;;
  347. ENDIFF ;;
  348. IFF EITHER_CTL,NOT ;;
  349. ANDF EITHER_ALT,NOT ;;
  350. IFF EITHER_SHIFT ;;
  351. IFF CAPS_STATE ;;
  352. XLATT ACDI_LOWER_SEC ;;
  353. ELSEF ;;
  354. XLATT ACDI_UPPER_SEC ;;
  355. ENDIFF ;;
  356. ELSEF ;;
  357. IFF CAPS_STATE ;;
  358. XLATT ACDI_UPPER_SEC ;;
  359. ELSEF ;;
  360. XLATT ACDI_LOWER_SEC ;;
  361. ENDIFF ;;
  362. ENDIFF ;;
  363. ENDIFF ;;
  364. ;;
  365. INVALID_ACDI_DIAR: ;;
  366. PUT_ERROR_CHAR ACDI_LOWER_SEC ;; standalone accent
  367. BEEP ;; Invalid dead key combo.
  368. GOTO NON_DEAD ;;
  369. ;;
  370. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  371. ;; TILDE ACCENT TRANSLATIONS
  372. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  373. ;;
  374. TILDE_PROC: ;;
  375. ;;
  376. IFF TILDE,NOT ;;
  377. GOTO NON_DEAD ;;
  378. ENDIFF ;;
  379. ;;
  380. RESET_NLS ;;
  381. TILDE_ON: ;;
  382. IFF R_ALT_SHIFT,NOT ;;
  383. XLATT TILDE_SPACE ;;
  384. ENDIFF ;;
  385. IFF EITHER_CTL,NOT ;;
  386. ANDF EITHER_ALT,NOT ;;
  387. IFF EITHER_SHIFT ;;
  388. IFF CAPS_STATE ;;
  389. XLATT TILDE_LOWER ;;
  390. ELSEF ;;
  391. XLATT TILDE_UPPER ;;
  392. ENDIFF ;;
  393. ELSEF ;;
  394. IFF CAPS_STATE ;;
  395. XLATT TILDE_UPPER ;;
  396. ELSEF ;;
  397. XLATT TILDE_LOWER ;;
  398. ENDIFF ;;
  399. ENDIFF ;;
  400. ENDIFF ;;
  401. ;;
  402. INVALID_TILDE: ;;
  403. PUT_ERROR_CHAR TILDE_LOWER ;; standalone accent
  404. BEEP ;; Invalid dead key combo.
  405. GOTO NON_DEAD ;;
  406. ;;
  407. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  408. ;;
  409. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  410. NON_DEAD: ;;
  411. ;;
  412. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  413. ;; Upper, lower and third shifts
  414. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  415. ;;
  416. ;;
  417. ;;
  418. IFF EITHER_CTL,NOT ;; Lower and upper case. Alphabetic
  419. IFF EITHER_ALT,NOT ;; keys are affected by CAPS LOCK.
  420. IFF RUS_MODE,NOT ;;
  421. ANDF LC_E0,NOT ;; Enhanced keys are not
  422. IFF EITHER_SHIFT ;; Numeric keys are not.
  423. XLATT NON_ALPHA_UPPER ;;
  424. IFF CAPS_STATE ;;
  425. XLATT ALPHA_LOWER ;;
  426. ELSEF ;;
  427. XLATT ALPHA_UPPER ;;
  428. ENDIFF ;;
  429. ELSEF ;;
  430. XLATT NON_ALPHA_LOWER ;;
  431. IFF CAPS_STATE ;;
  432. XLATT ALPHA_UPPER ;;
  433. ELSEF ;;
  434. XLATT ALPHA_LOWER ;;
  435. ENDIFF ;;
  436. ENDIFF ;; Third and Fourth shifts
  437. ELSEF ;;
  438. IFF LC_E0, NOT ;;
  439. IFF EITHER_SHIFT ;;
  440. XLATT NON_ALPHA_UPPER_SEC ;;
  441. IFF CAPS_STATE ;;
  442. XLATT ALPHA_LOWER_SEC ;;
  443. ELSEF ;;
  444. XLATT ALPHA_UPPER_SEC ;;
  445. ENDIFF ;;
  446. ELSEF ;;
  447. XLATT NON_ALPHA_LOWER_SEC ;;
  448. IFF CAPS_STATE ;;
  449. XLATT ALPHA_UPPER_SEC ;;
  450. ELSEF ;;
  451. XLATT ALPHA_LOWER_SEC ;;
  452. ENDIFF ;;
  453. ENDIFF ;;
  454. ENDIFF ;;
  455. ENDIFF ;;
  456. ELSEF ;; ctl off, alt on at this point
  457. IFF R_ALT_SHIFT ;; ALTGr
  458. ANDF EITHER_SHIFT,NOT ;;
  459. XLATT THIRD_SHIFT ;;
  460. ENDIFF ;;
  461. ENDIFF ;;
  462. ELSEF
  463. IFF EITHER_ALT,NOT ;;
  464. XLATT CTRL_CASE
  465. ELSEF ;;
  466. IFKBD XT_KB+AT_KB ;; XT, AT, keyboards.
  467. IFF EITHER_SHIFT,NOT ;; only.
  468. XLATT THIRD_SHIFT ;; ALT + Ctrl
  469. ENDIFF ;;
  470. ENDIFF ;;
  471. ENDIFF
  472. ENDIFF ;;
  473. ;;
  474. ;**************************************;;
  475. ;;
  476. EXIT_STATE_LOGIC ;;
  477. ;;
  478. LOGIC_END: ;;
  479. ;;
  480. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  481. ;;**********************************************************************
  482. ;; GK Common Translate Section
  483. ;; This section contains translations for the lower 128 characters
  484. ;; only since these will never change from code page to code page.
  485. ;; Some common Characters are included from 128 - 165 where appropriate.
  486. ;; In addition the dead key "Set Flag" tables are here since the
  487. ;; dead keys are on the same keytops for all code pages.
  488. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  489. ;;
  490. PUBLIC GK_COMMON_XLAT ;;
  491. GK_COMMON_XLAT: ;;
  492. ;;
  493. DW COMMON_XLAT_END-$ ;; length of section
  494. DW -1 ;; code page
  495. ;;
  496. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ********
  497. ;; CODE PAGE: COMMON
  498. ;; STATE: low shift Dead_lower
  499. ;; KEYBOARD TYPES: G
  500. ;; TABLE TYPE: Flag Table
  501. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  502. ;;
  503. DW COM_PL_LO_END-$ ;; length of state section
  504. DB DEAD_LOWER ;; State ID
  505. DW ANY_KB ;; Keyboard Type
  506. DB -1,-1 ;; Buffer entry for error character
  507. ;; Set Flag Table
  508. DW 3 ;; number of entries
  509. DB 27h ;;
  510. FLAG ACUTE ;;
  511. DB 2bh ;;
  512. FLAG GRAVE ;;
  513. ; DB 28h ;; No corresponding characters with Circ.
  514. ; FLAG CIRCUMFLEX ;; in either codepage, so replaced by corresponding
  515. ;; standalone character.
  516. COM_PL_LO_END: ;;
  517. ;;
  518. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ********
  519. ;; CODE PAGE: COMMON
  520. ;; STATE: low shift Dead_UPPER
  521. ;; KEYBOARD TYPES: G
  522. ;; TABLE TYPE: Flag Table
  523. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  524. ;;
  525. DW COM_PL_UP_END-$ ;; length of state section
  526. DB DEAD_UPPER ;; State ID
  527. DW ANY_KB ;; Keyboard Type
  528. DB -1,-1 ;; Buffer entry for error character
  529. ;; Set Flag Table
  530. DW 1 ;; number of entries
  531. DB 27h ;;
  532. FLAG DIARESIS ;;
  533. ;; DB 28h ;; No corresponding characters in either codepage
  534. ;; FLAG TILDE ;; so commented out and replaced by
  535. ;; standalone tilde.
  536. COM_PL_UP_END: ;;
  537. ;;
  538. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  539. ;; CODE PAGE: COMMON
  540. ;; STATE: low shift DEAD_UPPER_SEC
  541. ;; KEYBOARD TYPES: G SECONDARY MODE
  542. ;; TABLE TYPE: Flag Table
  543. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  544. ;;
  545. DW CP869_SC_UP_END-$ ;; length of state section
  546. DB DEAD_UPPER_SEC ;; State ID
  547. DW ANY_KB ;; Keyboard Type
  548. DB -1,-1 ;; Buffer entry for error character
  549. ;; Set Flag Table
  550. DW 1 ;; number of entries
  551. DB 27h ;;
  552. FLAG DIARESIS_SEC ;; BUG-BUG
  553. ;; Not available in 737 cp
  554. CP869_SC_UP_END: ;;
  555. ;;
  556. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  557. ;; CODE PAGE: COMMON
  558. ;; STATE: low shift DEAD_lower_SEC
  559. ;; KEYBOARD TYPES: G SECONDARY MODE
  560. ;; TABLE TYPE: Flag Table
  561. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  562. ;;
  563. DW CP869_SC_LO_END-$ ;; length of state section
  564. DB DEAD_LOWER_SEC ;; State ID
  565. DW ANY_KB ;; Keyboard Type
  566. DB -1,-1 ;; Buffer entry for error character
  567. ;; Set Flag Table
  568. DW 1 ;; number of entries
  569. DB 27h ;;
  570. FLAG ACUTE_SEC ;; BUG-BUG
  571. ;; Not available in 737 cp
  572. CP869_SC_LO_END: ;;
  573. ;;
  574. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ******
  575. ;; CODE PAGE: Common
  576. ;; STATE: Third Shift Dead Key SECONDARY (Greek)
  577. ;; KEYBOARD TYPES: G
  578. ;; TABLE TYPE: Flag Table
  579. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; BUG-BUG not in 737
  580. ;;
  581. DW CP869_SE_TH_END-$ ;; length of state section
  582. DB DEAD_THIRD_SEC ;; State ID
  583. DW ANY_KB ;; Keyboard Type
  584. DB -1,-1 ;; Buffer entry for error character
  585. ;; Set Flag Table
  586. DW 1 ;; number of entries
  587. DB 27h ;;
  588. FLAG ACUTE_DIAR ;; Unique key to Greek codepages
  589. ;; combination of diaresis and acute
  590. CP869_SE_TH_END: ;;
  591. ;;
  592. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  593. ;; CODE PAGE: Common ********
  594. ;; STATE: Non-alpha Upper Case
  595. ;; KEYBOARD: G_KB, P_KB, P12_KB Latin Mode
  596. ;; TABLE TYPE: Translate
  597. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  598. ;;
  599. DW COM_NA_UP_1_END-$ ;; Length of state section
  600. DB NON_ALPHA_UPPER ;;
  601. DW G_KB+P_KB+P12_KB ;;
  602. DB -1,-1 ;; Buffer entry for error character
  603. ;; Set Flag Table
  604. DW GK_005300-$ ;; Size of xlat table
  605. DB STANDARD_TABLE ;; xlat options:
  606. DB 15 ;; number of scans
  607. DB 03,22h ;; "
  608. DB 07,26h ;; &
  609. DB 08,2fh ;; /
  610. DB 09,28h ;; (
  611. DB 0Ah,29h ;; )
  612. DB 0Bh,3dh ;; =
  613. DB 0Ch,3fh ;; ?
  614. DB 0Dh,2ah ;; *
  615. DB 28h,7eh ;; Circumflex standalone char, to replace useless dead key
  616. DB 29h,7ch ;; |
  617. DB 2bh,40h ;; @
  618. DB 33h,3bh ;; ;
  619. DB 34h,3ah ;; :
  620. DB 35h,5fh ;; _
  621. DB 56h,3eh ;; >
  622. ;;
  623. GK_005300: ;;
  624. ;;
  625. DW 0 ;; Size of xlat table - null table
  626. ;;
  627. COM_NA_UP_1_END: ;;
  628. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  629. ;; CODE PAGE: Common
  630. ;; STATE: Non-alpha Upper Case SECONDARY KEYBOARD MODE
  631. ;; KEYBOARD: all
  632. ;; TABLE TYPE: Translate Greek Mode, merge changes from winse
  633. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  634. ;;
  635. DW COM_NA_UP_2_END-$ ;; Length of state section
  636. DB NON_ALPHA_UPPER_SEC ;;
  637. DW ANY_KB ;;
  638. DB -1,-1 ;; Buffer entry for error character
  639. ;; Set Flag Table
  640. DW GK_005301-$ ;; Size of xlat table
  641. DB STANDARD_TABLE ;; xlat options:
  642. DB 11 ;; number of scans
  643. DB 03,40h ;; @
  644. DB 08,26h ;; &
  645. DB 09,2ah ;; *
  646. DB 0Ah,28h ;; (
  647. DB 0Bh,29h ;; )
  648. DB 0ch,5fh ;; _
  649. DB 0Dh,2bh ;; +
  650. DB 29h,7eh ;; ~
  651. DB 33h,3ch ;; <
  652. DB 34h,3eh ;; >
  653. DB 35h,3fh ;; ?
  654. GK_005301: ;;
  655. ;;
  656. DW 0 ;; Size of xlat table - null table
  657. ;;
  658. COM_NA_UP_2_END: ;;
  659. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  660. ;; CODE PAGE: Common
  661. ;; STATE: Non_alpha_lower Case
  662. ;; KEYBOARD: all
  663. ;; TABLE TYPE: Translate
  664. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  665. ;;
  666. DW COM_NA_LC_1_END-$ ;; Length of state section
  667. DB NON_ALPHA_LOWER ;;
  668. DW ANY_KB ;;
  669. DB -1,-1 ;; Buffer entry for error character
  670. ;; Set Flag Table
  671. DW GK_005303-$ ;; Size of xlat table
  672. DB STANDARD_TABLE ;; xlat options:
  673. DB 6 ;; number of scans
  674. DB 28h,5eh ;; Circumflex standalone char, to replace useless dead key
  675. DB 29h,5ch ;; \
  676. DB 0ch,27h ;; '
  677. DB 0dh,2bh ;; +
  678. DB 35h,2dh ;; -
  679. DB 56h,3ch ;; <
  680. ;;
  681. GK_005303: ;;
  682. ;;
  683. DW 0 ;; Size of xlat table - null table
  684. ;;
  685. COM_NA_LC_1_END: ;;
  686. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  687. ;; CODE PAGE: Common *******
  688. ;; STATE: Non_alpha_lower Case Secondary keyboard
  689. ;; KEYBOARD: all Greek
  690. ;; TABLE TYPE: Translate
  691. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  692. ;;
  693. DW COM_NA_L_1_END-$ ;; Length of state section
  694. DB NON_ALPHA_LOWER_SEC ;;
  695. DW ANY_KB ;;
  696. DB -1,-1 ;; Buffer entry for error character
  697. ;; Set Flag Table
  698. DW GK_00530-$ ;; Size of xlat table
  699. DB STANDARD_TABLE ;; xlat options:
  700. DB 5 ;; number of scans
  701. DB 29h,60h ;; 1/2
  702. DB 0ch,2dh ;; '
  703. DB 0dh,3dh ;; +
  704. DB 35h,2fh ;;
  705. DB 56h,15h ;; character 15h
  706. ;;
  707. GK_00530: ;;
  708. ;;
  709. DW 0 ;; Size of xlat table - null table
  710. ;;
  711. COM_NA_L_1_END: ;;
  712. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  713. ;; CODE PAGE: Common
  714. ;; STATE: CIRCUMFLEX Lower Case
  715. ;; KEYBOARD TYPES: ALL
  716. ;; TABLE TYPE: Translate
  717. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  718. ;;
  719. DW COM_CI_LO_END-$ ;; length of state section
  720. DB CIRCUMFLEX_LOWER ;; State ID
  721. DW ANY_KB ;; Keyboard Type
  722. DB 94,0 ;; error character = standalone accent
  723. ;;
  724. DW COM_CI_LO_T1_END-$ ;; Size of xlat table
  725. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  726. DB 0 ;; number of scans
  727. ;;
  728. COM_CI_LO_T1_END: ;;
  729. ;;
  730. DW 0 ;; Size of xlat table - null table
  731. ;;
  732. COM_CI_LO_END: ;;
  733. ;;
  734. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  735. ;; CODE PAGE: COMMON
  736. ;; STATE: Circumflex Space Bar
  737. ;; KEYBOARD TYPES: P12_KB+G_KB
  738. ;; TABLE TYPE: Translate
  739. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  740. ;;
  741. DW COM_CI_SP_END-$ ;; length of state section
  742. DB CIRCUMFLEX_SPACE ;; State ID
  743. DW ANY_KB ;; Keyboard Type
  744. DB 5eh,0 ;; error character = standalone accent
  745. ;;
  746. DW COM_CI_SP_T1_END-$ ;; Size of xlat table
  747. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  748. DB 1 ;; number of scans
  749. DB 57,5eh ;; error character = standalone accent
  750. COM_CI_SP_T1_END: ;;
  751. ;;
  752. DW 0 ;; Size of xlat table - null table
  753. ;;
  754. COM_CI_SP_END: ;; length of state section
  755. ;;
  756. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  757. ;; CODE PAGE: Common
  758. ;; STATE: Grave Lower Case
  759. ;; KEYBOARD: All
  760. ;; TABLE TYPE: Translate
  761. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  762. ;;
  763. DW COM_GR_LO_END-$ ;; Length of state section
  764. DB GRAVE_LOWER ;;
  765. DW ANY_KB ;;
  766. DB 60h,0 ;; Buffer entry for error character
  767. ;; Set Flag Table
  768. DW GK_001200-$ ;; Size of xlat table
  769. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  770. DB 0 ;; number of scans
  771. ;;
  772. GK_001200: ;;
  773. ;;
  774. DW 0 ;; Size of xlat table - null table
  775. ;;
  776. COM_GR_LO_END: ;;
  777. ;;
  778. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  779. ;; CODE PAGE: Common
  780. ;; STATE: Tilde Space Bar
  781. ;; KEYBOARD TYPES: Any,
  782. ;; TABLE TYPE: Translate
  783. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  784. ;;
  785. DW COM_SP_END-$ ;; length of state section
  786. DB GRAVE_SPACE ;; State ID
  787. DW ANY_KB ;; Keyboard Type
  788. DB 060H,0 ;; error character = standalone accent
  789. ;;
  790. DW COM_SP_T1_END-$ ;; Size of xlat table
  791. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  792. DB 1 ;; number of scans
  793. DB 57,060H ;; STANDALONE TILDE
  794. ;;
  795. COM_SP_T1_END: ;;
  796. ;;
  797. DW 0 ;; Size of xlat table - null table
  798. ;;
  799. COM_SP_END: ;; length of state section
  800. ;;
  801. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  802. ;; CODE PAGE: Common
  803. ;; STATE: Tilde Lower
  804. ;; KEYBOARD TYPES: Any
  805. ;; TABLE TYPE: Translate
  806. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  807. ;;
  808. DW COM_TI_LO_K1_END-$ ;; length of state section
  809. DB TILDE_LOWER ;; State ID
  810. DW ANY_KB ;; Keyboard Type
  811. DB 07EH,0 ;; error character = standalone accent
  812. ;;
  813. DW COM_TI_LO_K1_T1_END-$ ;; Size of xlat table
  814. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  815. DB 0 ;; number of scans
  816. ;; 869,737 have no tilde characters
  817. COM_TI_LO_K1_T1_END: ;;
  818. ;;
  819. DW 0 ;;
  820. ;;
  821. COM_TI_LO_K1_END: ;;
  822. ;;
  823. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  824. ;; CODE PAGE: Common
  825. ;; STATE: Tilde Upper Case
  826. ;; KEYBOARD TYPES: Any
  827. ;; TABLE TYPE: Translate
  828. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  829. ;;
  830. DW COM_TI_UP_K1_END-$ ;; length of state section
  831. DB TILDE_UPPER ;; State ID
  832. DW ANY_KB ;; Keyboard Type
  833. DB 07EH,0 ;; error character = standalone accent
  834. ;;
  835. DW COM_TI_UP_K1_T1_END-$ ;; Size of xlat table
  836. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  837. DB 0 ;; number of scans
  838. ;; 863 has no tilde chars.
  839. COM_TI_UP_K1_T1_END: ;;
  840. ;;
  841. DW 0 ;; Size of xlat table - null table
  842. ;;
  843. COM_TI_UP_K1_END: ;; length of state section
  844. ;;
  845. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  846. ;; CODE PAGE: Common
  847. ;; STATE: Tilde Space Bar
  848. ;; KEYBOARD TYPES: Any,
  849. ;; TABLE TYPE: Translate
  850. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  851. ;;
  852. DW COM_TI_SP_END-$ ;; length of state section
  853. DB TILDE_SPACE ;; State ID
  854. DW ANY_KB ;; Keyboard Type
  855. DB 07EH,0 ;; error character = standalone accent
  856. ;;
  857. DW COM_TI_SP_T1_END-$ ;; Size of xlat table
  858. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  859. DB 1 ;; number of scans
  860. DB 57,07EH ;; STANDALONE TILDE
  861. ;;
  862. COM_TI_SP_T1_END: ;;
  863. ;;
  864. DW 0 ;; Size of xlat table - null table
  865. ;;
  866. COM_TI_SP_END: ;; length of state section
  867. ;;
  868. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  869. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
  870. ;;
  871. ;; CODE PAGE: Any
  872. ;; STATE: RUS_MODE
  873. ;; KEYBOARD TYPES: All
  874. ;; TABLE TYPE: Flag Table
  875. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  876. ;;
  877. DW COM_F1_END-$ ;; length of state section
  878. DB RUS_MODE_SET ;; State ID
  879. DW ANY_KB ;; Keyboard Type
  880. DB -1,-1 ;; Buffer entry for error character
  881. ;;
  882. ;; Set Flag Table
  883. DW 1 ;; number of entries
  884. DB 54 ;; scan code (Right Shift)
  885. FLAG RUS_MODE ;; flag bit to set
  886. ;;
  887. DW 0 ;; Size of xlat table - null table
  888. ;;
  889. COM_F1_END: ;;
  890. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  891. ;;
  892. ;; CODE PAGE: Any
  893. ;; STATE: LAT_MODE
  894. ;; KEYBOARD TYPES: All
  895. ;; TABLE TYPE: Flag Table
  896. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  897. ;;
  898. DW COM_F2_END-$ ;; length of state section
  899. DB LAT_MODE_SET ;; State ID
  900. DW ANY_KB ;; Keyboard Type
  901. DB -1,-1 ;; Buffer entry for error character
  902. ;;
  903. ;; Set Flag Table
  904. DW 1 ;; number of entries
  905. DB 42 ;; scan code (Left Shift)
  906. FLAG LAT_MODE ;; flag bit to set
  907. ;;
  908. DW 0 ;; Size of xlat table - null table
  909. ;;
  910. COM_F2_END: ;;
  911. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  912. ;;
  913. DW 0 ;; Last State
  914. COMMON_XLAT_END: ;;
  915. ;;
  916. ;;
  917. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  918. ;;***************************************
  919. ;; GK Specific Translate Section for 869
  920. ;;***************************************
  921. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  922. ;;
  923. PUBLIC GK_869_XLAT ;;
  924. GK_869_XLAT: ;;
  925. ;;
  926. DW CP869_XLAT_END-$ ;; length of section
  927. DW 869 ;;
  928. ;;
  929. ;;
  930. ;;
  931. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ******* (Greek)
  932. ;; CODE PAGE: 869
  933. ;; STATE: Third Shift Sec SECONDARY
  934. ;; KEYBOARD TYPES: All
  935. ;; TABLE TYPE: Translate
  936. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  937. ;;
  938. DW C869_TS_END-$ ;; length of state section
  939. DB THIRD_SHIFT ;; State ID
  940. DW ANY_KB ;; Keyboard Type
  941. DB -1,-1 ;; Buffer entry for error character
  942. ;;
  943. DW C869_TS_T1_END-$ ;; Size of xlat table
  944. DB STANDARD_TABLE ;; xlat options:
  945. DB 1 ;; number of entries
  946. DB 35h,0f0h ;; sd10
  947. ;;
  948. C869_TS_T1_END: ;;
  949. ;;
  950. DW 0 ;; Size of xlat table - null table
  951. ;;
  952. C869_TS_END: ;;
  953. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  954. ;; CODE PAGE: 869 ******
  955. ;; STATE: Non-Alpha Upper Case SECONDARY KEYBOARD
  956. ;; KEYBOARD TYPES: All
  957. ;; TABLE TYPE: Translate
  958. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  959. ;;
  960. DW CP869_NY_UP_END-$ ;; length of state section
  961. DB NON_ALPHA_UPPER_SEC ;; State ID
  962. DW ANY_KB ;; Keyboard Type
  963. DB -1,-1 ;; Buffer entry for error character
  964. ;;
  965. DW CP869_NY_UP_T1_END-$ ;; Size of xlat table
  966. DB STANDARD_TABLE ;; xlat options:
  967. DB 9 ;; number of entrie
  968. DB 04h,9ch ;; �
  969. DB 07h,89h ;; -|
  970. DB 2bh,9ah ;; superscript 3 not in 737
  971. DB 56h,97h ;; copyright symbol not in 737
  972. DB 1ah,0aeh ;; << does not exist in 737
  973. DB 1bh,0afh ;; >> does not exist in 737
  974. DB 10h,8eh ;; -- does not exist in 737
  975. DB 11h,8ah ;; | does not exist in 737
  976. DB 28h,8bh ;; ` does not exist in 737
  977. ;;
  978. CP869_NY_UP_T1_END: ;;
  979. ;;
  980. DW 0 ;; Size of xlat table - null table
  981. ;;
  982. CP869_NY_UP_END: ;;
  983. ;;
  984. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  985. ;; CODE PAGE: 869
  986. ;; STATE: Non Alpha Lower SECONDARY KEYBOARD
  987. ;; KEYBOARD TYPES: All
  988. ;; TABLE TYPE: Translate
  989. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  990. DW CP869_NA_LO_END-$ ;; length of state section
  991. DB NON_ALPHA_LOWER_SEC ;; State ID
  992. DW ANY_KB ;; Keyboard Type
  993. DB -1,-1 ;; Buffer entry for error character
  994. ;;
  995. DW CP869_NA_LO_T1_END-$ ;; Size of xlat table
  996. DB STANDARD_TABLE ;; xlat options:
  997. DB 3 ;; number of entries
  998. ;;
  999. ; DB 27h,0efh ;; Acute-now a dead key
  1000. DB 10h,88h ;;
  1001. DB 28h,8ch ;;
  1002. DB 2bh,99h ;;
  1003. CP869_NA_LO_T1_END: ;;
  1004. ;;
  1005. DW 0 ;; Size of xlat table - null table
  1006. ;;
  1007. CP869_NA_LO_END: ;;
  1008. ;;
  1009. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1010. ;; CODE PAGE: 869
  1011. ;; STATE: Alpha Lower Case
  1012. ;; KEYBOARD TYPES: All
  1013. ;; TABLE TYPE: Translate
  1014. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1015. ;;
  1016. DW CP869_AL_LW_END-$ ;; length of state section
  1017. DB ALPHA_LOWER_SEC ;; State ID
  1018. DW ANY_KB ;; Keyboard Type
  1019. DB -1,-1 ;; error character = standalone accent
  1020. ;;
  1021. DW CP869_AL_LW_T2_END-$ ;; Size of xlat table
  1022. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1023. DB 25 ;; number of scans
  1024. DB 11h,0edh ;;
  1025. DB 12h,0deh ;; Greek alpha characters
  1026. DB 13h,0ebh ;;
  1027. DB 14h,0eeh ;;
  1028. DB 15h,0e7h ;;
  1029. DB 16h,0e2h ;;
  1030. DB 17h,0e3h ;;
  1031. DB 18h,0e9h ;;
  1032. DB 19h,0eah ;;
  1033. DB 1eh,0d6h ;;
  1034. DB 1fh,0ech ;;
  1035. DB 20h,0ddh ;;
  1036. DB 21h,0f3h ;;
  1037. DB 22h,0d8h ;;
  1038. DB 23h,0e1h ;;
  1039. DB 24h,0e8h ;;
  1040. DB 25h,0e4h ;;
  1041. DB 26h,0e5h ;;
  1042. DB 2ch,0e0h ;;
  1043. DB 2dh,0f4h ;;
  1044. DB 2eh,0f6h ;;
  1045. DB 2fh,0fah ;;
  1046. DB 30h,0d7h ;;
  1047. DB 31h,0e7h ;;
  1048. DB 32h,0e6h ;;
  1049. ;;
  1050. CP869_AL_LW_T2_END: ;;
  1051. ;;
  1052. DW 0 ;; Size of xlat table - null table
  1053. ;;
  1054. CP869_AL_LW_END: ;; length of state section
  1055. ;;
  1056. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1057. ;; CODE PAGE: 869
  1058. ;; STATE: Alpha Upper Case
  1059. ;; KEYBOARD TYPES: All
  1060. ;; TABLE TYPE: Translate
  1061. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1062. ;;
  1063. DW CP869_AL_2P_END-$ ;; length of state section
  1064. DB ALPHA_UPPER_SEC ;; State ID
  1065. DW ANY_KB ;; Keyboard Type
  1066. DB -1,-1 ;; error character = standalone accent
  1067. ;;
  1068. DW CP869_AL_UP_T2_END-$ ;; Size of xlat table
  1069. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1070. DB 25 ;; number of scans
  1071. ;;
  1072. DB 12h,0a8h ;; Greek alpha characters
  1073. DB 13h,0c7h ;;
  1074. DB 14h,0d0h ;;
  1075. DB 15h,0d1h ;;
  1076. DB 16h,0ach ;;
  1077. DB 17h,0adh ;;
  1078. DB 18h,0beh ;;
  1079. DB 19h,0c6h ;;
  1080. DB 1eh,0a4h ;;
  1081. DB 1fh,0cfh ;;
  1082. DB 20h,0a7h ;;
  1083. DB 21h,0d2h ;;
  1084. DB 22h,0a6h ;;
  1085. DB 23h,0aah ;;
  1086. DB 24h,0bdh ;;
  1087. DB 25h,0b5h ;;
  1088. DB 26h,0b6h ;;
  1089. DB 2ch,0a9h ;;
  1090. DB 2dh,0d3h ;;
  1091. DB 2eh,0d4h ;;
  1092. DB 2fh,0d5h ;;
  1093. DB 30h,0d7h ;;
  1094. DB 31h,0b8h ;;
  1095. DB 32h,0b7h ;;
  1096. ;;
  1097. CP869_AL_UP_T2_END: ;;
  1098. ;;
  1099. DW 0 ;; Size of xlat table - null table
  1100. ;;
  1101. CP869_AL_2P_END: ;; length of state section
  1102. ;;
  1103. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1104. ;; CODE PAGE: 869
  1105. ;; STATE: Diaresis Upper Sec
  1106. ;; KEYBOARD TYPES: All
  1107. ;; TABLE TYPE: Translate
  1108. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1109. ;;
  1110. DW CP869_D2_UP_END-$ ;; length of state section
  1111. DB DIARESIS_UPPER_SEC ;; State ID
  1112. DW ANY_KB ;; Keyboard Type
  1113. DB 0f9h,0 ;; error character = standalone accent
  1114. ;;
  1115. DW CP869_D2_UP_T1_END-$ ;; Size of xlat table
  1116. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1117. DB 2 ;; number of scans
  1118. DB 17h,91h ;; I diaeresis
  1119. DB 15h,96h ;; U diaeresis
  1120. ;;
  1121. CP869_D2_UP_T1_END: ;;
  1122. ;;
  1123. DW 0 ;; Size of xlat table - null table
  1124. ;;
  1125. CP869_D2_UP_END: ;; length of state section
  1126. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
  1127. ;; CODE PAGE: 869 LATIN
  1128. ;; STATE: Diaresis Lower Case Sec
  1129. ;; KEYBOARD: All
  1130. ;; TABLE TYPE: Translate
  1131. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1132. ;;
  1133. DW C869_D2_LO_END-$ ;; Length of state section
  1134. DB DIARESIS_LOWER_SEC ;;
  1135. DW ANY_KB ;;
  1136. DB 0f9h,0 ;; Buffer entry for error character
  1137. ;; Set Flag Table
  1138. DW GK2_869-$ ;; Size of xlat table
  1139. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1140. DB 2 ;; number of scans
  1141. DB 17h,0a0h ;; I diaresis GREEK char
  1142. DB 15h,0fbh ;; Y diaresis GREEK char
  1143. GK2_869: ;;
  1144. ;;
  1145. DW 0 ;; Size of xlat table - null table
  1146. ;;
  1147. C869_D2_LO_END: ;;
  1148. ;;
  1149. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1150. ;; CODE PAGE: 869
  1151. ;; STATE: Diaresis Space Bar SEC
  1152. ;; KEYBOARD TYPES: All
  1153. ;; TABLE TYPE: Translate
  1154. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1155. ;;
  1156. DW CP869_D2_SP_END-$ ;; length of state section
  1157. DB DIARESIS_SPACE_SEC ;; State ID
  1158. DW ANY_KB ;; Keyboard Type
  1159. DB 0f9h,0 ;; error character = standalone accent
  1160. ;;
  1161. DW CP869_D2_SP_T1_END-$ ;; Size of xlat table
  1162. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1163. DB 1 ;; number of scans
  1164. DB 57,0f9h ;; error character = standalone accent
  1165. CP869_D2_SP_T1_END: ;;
  1166. ;;
  1167. DW 0 ;; Size of xlat table - null table
  1168. CP869_D2_SP_END: ;; length of state section
  1169. ;;
  1170. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1171. ;; CODE PAGE: 869
  1172. ;; STATE: Diaresis Upper
  1173. ;; KEYBOARD TYPES: All
  1174. ;; TABLE TYPE: Translate
  1175. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1176. ;;
  1177. DW CP869_DI_UP_END-$ ;; length of state section
  1178. DB DIARESIS_UPPER ;; State ID
  1179. DW ANY_KB ;; Keyboard Type
  1180. DB 0f9h,0 ;; error character = standalone accent
  1181. ;;
  1182. DW CP869_DI_UP_T1_END-$ ;; Size of xlat table
  1183. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1184. DB 2 ;; number of scans
  1185. DB 17h,91h ;; I diaeresis
  1186. DB 15h,96h ;; U diaeresis
  1187. ;;
  1188. CP869_DI_UP_T1_END: ;;
  1189. ;;
  1190. DW 0 ;; Size of xlat table - null table
  1191. ;;
  1192. CP869_DI_UP_END: ;; length of state section
  1193. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
  1194. ;; CODE PAGE: 869 LATIN
  1195. ;; STATE: Diaresis Lower Case
  1196. ;; KEYBOARD: All
  1197. ;; TABLE TYPE: Translate
  1198. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1199. ;;
  1200. DW C869_DI_LO_END-$ ;; Length of state section
  1201. DB DIARESIS_LOWER ;;
  1202. DW ANY_KB ;;
  1203. DB 0f9h,0 ;; Buffer entry for error character
  1204. ;; Set Flag Table
  1205. DW GK_869-$ ;; Size of xlat table
  1206. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1207. DB 0 ;; number of scans
  1208. ;;
  1209. GK_869: ;; No Characters for this in Either codepage
  1210. ;;
  1211. DW 0 ;; Size of xlat table - null table
  1212. ;;
  1213. C869_DI_LO_END: ;;
  1214. ;;
  1215. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1216. ;; CODE PAGE: 869
  1217. ;; STATE: Diaresis Space Bar
  1218. ;; KEYBOARD TYPES: All
  1219. ;; TABLE TYPE: Translate
  1220. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1221. ;;
  1222. DW CP869_DI_SP_END-$ ;; length of state section
  1223. DB DIARESIS_SPACE ;; State ID
  1224. DW ANY_KB ;; Keyboard Type
  1225. DB 0f9h,0 ;; error character = standalone accent
  1226. ;;
  1227. DW CP869_DI_SP_T1_END-$ ;; Size of xlat table
  1228. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1229. DB 1 ;; number of scans
  1230. DB 57,0f9h ;; error character = standalone accent
  1231. CP869_DI_SP_T1_END: ;;
  1232. ;;
  1233. DW 0 ;; Size of xlat table - null table
  1234. CP869_DI_SP_END: ;; length of state section
  1235. ;;
  1236. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1237. ;; CODE PAGE: 869
  1238. ;; STATE: ACUTE Upper Sec
  1239. ;; KEYBOARD TYPES: All
  1240. ;; TABLE TYPE: Translate
  1241. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1242. ;;
  1243. DW CP869_A_UP_END-$ ;; length of state section
  1244. DB ACUTE_UPPER_SEC ;; State ID
  1245. DW ANY_KB ;; Keyboard Type
  1246. DB 0efh,0 ;; error character = standalone accent
  1247. ;;
  1248. DW CP869_A_UP_T1_END-$ ;; Size of xlat table
  1249. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1250. DB 7 ;; number of scans
  1251. DB 12h,08dh ;; acute E
  1252. DB 15h,095h ;; acute Y
  1253. DB 18h,092h ;; acute O
  1254. DB 1eh,086h ;; acute A
  1255. DB 23h,08fh ;; acute H
  1256. DB 2fh,098h ;; acute OMEGA
  1257. DB 17h,090h ;; acute IOTA
  1258. ;;
  1259. CP869_A_UP_T1_END: ;;
  1260. ;;
  1261. DW 0 ;; Size of xlat table - null table
  1262. ;;
  1263. CP869_A_UP_END: ;; length of state section
  1264. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
  1265. ;; CODE PAGE: 869 LATIN
  1266. ;; STATE: ACUTE Lower Case
  1267. ;; KEYBOARD: All
  1268. ;; TABLE TYPE: Translate
  1269. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1270. ;;
  1271. DW C869_A_LO_END-$ ;; Length of state section
  1272. DB ACUTE_LOWER_SEC ;;
  1273. DW ANY_KB ;;
  1274. DB 0efh,0 ;; Buffer entry for error character
  1275. ;; Set Flag Table
  1276. DW GK_A_869-$ ;; Size of xlat table
  1277. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1278. DB 7 ;; number of scans
  1279. DB 12h,09dh ;; acute e
  1280. DB 15h,0a3h ;; acute y
  1281. DB 18h,0a2h ;; acute o
  1282. DB 1eh,09bh ;; acute a
  1283. DB 23h,09eh ;; acute h
  1284. DB 2fh,0fdh ;; acute omega
  1285. DB 17h,09fh ;; acute iota
  1286. ;;
  1287. GK_A_869: ;;
  1288. ;;
  1289. DW 0 ;; Size of xlat table - null table
  1290. ;;
  1291. C869_A_LO_END: ;;
  1292. ;;
  1293. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1294. ;; CODE PAGE: 869
  1295. ;; STATE: ACUTE Space Bar Sec
  1296. ;; KEYBOARD TYPES: All
  1297. ;; TABLE TYPE: Translate
  1298. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1299. ;;
  1300. DW CP869_A_SP_END-$ ;; length of state section
  1301. DB ACUTE_SPACE_SEC ;; State ID
  1302. DW ANY_KB ;; Keyboard Type
  1303. DB 0efh,0 ;; error character = standalone accent
  1304. ;;
  1305. DW CP869_A_SP_T1_END-$ ;; Size of xlat table
  1306. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1307. DB 1 ;; number of scans
  1308. DB 57,0efh ;; error character = standalone accent
  1309. CP869_A_SP_T1_END: ;;
  1310. ;;
  1311. DW 0 ;; Size of xlat table - null table
  1312. CP869_A_SP_END: ;; length of state section
  1313. ;;
  1314. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1315. ;; CODE PAGE: 869
  1316. ;; STATE: ACUTE Upper
  1317. ;; KEYBOARD TYPES: All
  1318. ;; TABLE TYPE: Translate
  1319. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1320. ;;
  1321. DW CP869_AC_UP_END-$ ;; length of state section
  1322. DB ACUTE_UPPER ;; State ID
  1323. DW ANY_KB ;; Keyboard Type
  1324. DB 0efh,0 ;; error character = standalone accent
  1325. ;;
  1326. DW CP869_AC_UP_T1_END-$ ;; Size of xlat table
  1327. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1328. DB 7 ;; number of scans
  1329. DB 12h,08dh ;; acute E
  1330. DB 15h,095h ;; acute Y
  1331. DB 18h,092h ;; acute O
  1332. DB 1eh,086h ;; acute A
  1333. DB 23h,08fh ;; acute H
  1334. DB 2fh,098h ;; acute OMEGA
  1335. DB 17h,090h ;; acute IOTA
  1336. ;;
  1337. CP869_AC_UP_T1_END: ;;
  1338. ;;
  1339. DW 0 ;; Size of xlat table - null table
  1340. ;;
  1341. CP869_AC_UP_END: ;; length of state section
  1342. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
  1343. ;; CODE PAGE: 869 LATIN
  1344. ;; STATE: ACUTE Lower Case
  1345. ;; KEYBOARD: All
  1346. ;; TABLE TYPE: Translate
  1347. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1348. ;;
  1349. DW C869_AC_LO_END-$ ;; Length of state section
  1350. DB ACUTE_LOWER ;;
  1351. DW ANY_KB ;;
  1352. DB 0efh,0 ;; Buffer entry for error character
  1353. ;; Set Flag Table
  1354. DW GK_AC_869-$ ;; Size of xlat table
  1355. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1356. DB 7 ;; number of scans
  1357. DB 12h,09dh ;; acute e
  1358. DB 15h,0a3h ;; acute y
  1359. DB 18h,0a2h ;; acute o
  1360. DB 1eh,09bh ;; acute a
  1361. DB 23h,09eh ;; acute h
  1362. DB 2fh,0fdh ;; acute omega
  1363. DB 17h,09fh ;; acute iota
  1364. ;;
  1365. GK_AC_869: ;;
  1366. ;;
  1367. DW 0 ;; Size of xlat table - null table
  1368. ;;
  1369. C869_AC_LO_END: ;;
  1370. ;;
  1371. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1372. ;; CODE PAGE: 869
  1373. ;; STATE: ACUTE Space Bar
  1374. ;; KEYBOARD TYPES: All
  1375. ;; TABLE TYPE: Translate
  1376. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1377. ;;
  1378. DW CP869_AC_SP_END-$ ;; length of state section
  1379. DB ACUTE_SPACE ;; State ID
  1380. DW ANY_KB ;; Keyboard Type
  1381. DB 0efh,0 ;; error character = standalone accent
  1382. ;;
  1383. DW CP869_AC_SP_T1_END-$ ;; Size of xlat table
  1384. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1385. DB 1 ;; number of scans
  1386. DB 57,0efh ;; error character = standalone accent
  1387. CP869_AC_SP_T1_END: ;;
  1388. ;;
  1389. DW 0 ;; Size of xlat table - null table
  1390. CP869_AC_SP_END: ;; length of state section
  1391. ;;
  1392. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1393. ;; CODE PAGE: 869 Acute-Diaresis combo GREEK Secondary
  1394. ;; STATE: Acute-diaresis Lower Case
  1395. ;; KEYBOARD: All
  1396. ;; TABLE TYPE: Translate
  1397. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1398. ;;
  1399. DW COM_AC_LO_END-$ ;; Length of state section
  1400. DB ACDI_LOWER_SEC ;;
  1401. DW ANY_KB ;;
  1402. DB 0f7h,0 ;; Buffer entry for error character
  1403. ;; Set Flag Table
  1404. DW GK_001100-$ ;; Size of xlat table
  1405. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1406. DB 2 ;; number of scans
  1407. DB 17h,0a1h ;; i acute-diaresis
  1408. DB 15h,0fch ;;
  1409. GK_001100: ;;
  1410. ;;
  1411. DW 0 ;; Size of xlat table - null table
  1412. ;;
  1413. COM_AC_LO_END: ;;
  1414. ;;
  1415. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1416. ;; CODE PAGE: 869 SECONDARY Greek mode
  1417. ;; STATE: ACDI INPUT: Space Bar
  1418. ;; KEYBOARD: All Not really acute, but
  1419. ;; TABLE TYPE: Translate Acute_diaresis combination
  1420. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1421. ;;
  1422. DW CP869_AC2_SP_END-$ ;; Length of state section
  1423. DB ACDI_SPACE_SEC ;;
  1424. DW ANY_KB ;;
  1425. DB 0f7H,0 ;; Buffer entry for error character
  1426. ;; Set Flag Table
  1427. DW GK_10450-$ ;; Size of xlat table
  1428. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1429. DB 1 ;; number of scans
  1430. DB 57,0F7H ;; ACDI
  1431. GK_10450: ;;
  1432. ;;
  1433. DW 0 ;; Size of xlat table - null table
  1434. ;;
  1435. CP869_AC2_SP_END: ;;
  1436. ;;
  1437. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1438. ;; CODE PAGE: Common
  1439. ;; STATE: ACDI Upper Case
  1440. ;; KEYBOARD: All
  1441. ;; TABLE TYPE: Translate
  1442. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1443. ;;
  1444. DW COM_AC_UP_END-$ ;; Length of state section
  1445. DB ACDI_UPPER_SEC ;;
  1446. DW ANY_KB ;;
  1447. DB -1,-1 ;; Buffer entry for error character
  1448. ;; Set Flag Table
  1449. DW GK_003100-$ ;; Size of xlat table
  1450. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1451. DB 2 ;; number of scans
  1452. DB 17h,0a1h ;; i ACDI-diaresis
  1453. DB 15h,0fch ;;
  1454. GK_003100: ;;
  1455. ;;
  1456. DW 0 ;; Size of xlat table - null table
  1457. ;;
  1458. COM_AC_UP_END: ;;
  1459. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1460. ;;
  1461. ;;
  1462. DW 0 ;; LAST STATE
  1463. ;;
  1464. CP869_XLAT_END: ;;
  1465. ;;
  1466. ;;
  1467. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1468. ;;***************************************
  1469. ;; GK Specific Translate Section for 737
  1470. ;;***************************************
  1471. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1472. ;;
  1473. PUBLIC GK_737_XLAT ;;
  1474. GK_737_XLAT: ;;
  1475. ;;
  1476. DW CP737_XLAT_END-$ ;; length of section
  1477. DW 737 ;;
  1478. ;;
  1479. ;;
  1480. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; *******
  1481. ;; CODE PAGE: 737 GREEK
  1482. ;; STATE: Non Alpha Lower SECONDARY KEYBOARD
  1483. ;; KEYBOARD TYPES: All
  1484. ;; TABLE TYPE: Translate
  1485. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1486. ;;
  1487. DW CP737_NA_LO_END-$ ;; length of state section
  1488. DB NON_ALPHA_LOWER_SEC ;; State ID
  1489. DW ANY_KB ;; Keyboard Type
  1490. DB -1,-1 ;; Buffer entry for error character
  1491. ;;
  1492. DW CP737_NA_LO_T1_END-$ ;; Size of xlat table
  1493. DB STANDARD_TABLE ;; xlat options:
  1494. DB 3 ;; number of entries
  1495. DB 10h,3bh ;; Middle dot
  1496. DB 11h,0aah ;;
  1497. DB 2bh,5ch ;; subscript 2
  1498. CP737_NA_LO_T1_END: ;;
  1499. ;;
  1500. DW 0 ;; Size of xlat table - null table
  1501. ;;
  1502. CP737_NA_LO_END: ;;
  1503. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; *******
  1504. ;; CODE PAGE: 737 GREEK
  1505. ;; STATE: Non Alpha Upper SECONDARY KEYBOARD
  1506. ;; KEYBOARD TYPES: All
  1507. ;; TABLE TYPE: Translate
  1508. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1509. ;;
  1510. DW CP737_NA_UP_END-$ ;; length of state section
  1511. DB NON_ALPHA_UPPER_SEC ;; State ID
  1512. DW ANY_KB ;; Keyboard Type
  1513. DB -1,-1 ;; Buffer entry for error character
  1514. ;;
  1515. DW CP737_NA_UP_T1_END-$ ;; Size of xlat table
  1516. DB STANDARD_TABLE ;; xlat options:
  1517. DB 2 ;; number of entries
  1518. DB 10h,3ah ;; Middle dot
  1519. DB 11h,91h ;; subscript 2
  1520. CP737_NA_UP_T1_END: ;;
  1521. ;;
  1522. DW 0 ;; Size of xlat table - null table
  1523. ;;
  1524. CP737_NA_UP_END: ;;
  1525. ;;
  1526. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Last state for 737 ;;
  1527. ;; CODE PAGE: 737
  1528. ;; STATE: Alpha lower Case SECONDARY
  1529. ;; KEYBOARD TYPES: All
  1530. ;; TABLE TYPE: Translate
  1531. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1532. ;;
  1533. DW CP737_AL_LW_END-$ ;; length of state section
  1534. DB ALPHA_LOWER_SEC ;; State ID
  1535. DW ANY_KB ;; Keyboard Type
  1536. DB -1,-1 ;; error character = standalone accent
  1537. ;;
  1538. DW CP737_AL_LW_T1_END-$ ;; Size of xlat table
  1539. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1540. DB 24 ;; number of scans
  1541. DB 12h,09ch ;; Greek alpha characters
  1542. DB 13h,0a8h ;;
  1543. DB 14h,0abh ;;
  1544. DB 15h,0ach ;;
  1545. DB 16h,09fh ;;
  1546. DB 17h,0a0h ;;
  1547. DB 18h,0a6h ;;
  1548. DB 19h,0a7h ;;
  1549. DB 1eh,098h ;;
  1550. DB 1fh,0a9h ;;
  1551. DB 20h,09bh ;;
  1552. DB 21h,0adh ;;
  1553. DB 22h,09ah ;;
  1554. DB 23h,09eh ;;
  1555. DB 24h,0a5h ;;
  1556. DB 25h,0a1h ;;
  1557. DB 26h,0a2h ;;
  1558. DB 2ch,09dh ;;
  1559. DB 2dh,0aeh ;;
  1560. DB 2eh,0afh ;;
  1561. DB 2fh,0e0h ;;
  1562. DB 30h,099h ;;
  1563. DB 31h,0a4h ;;
  1564. DB 32h,0a3h ;;
  1565. ;;
  1566. CP737_AL_LW_T1_END: ;;
  1567. ;;
  1568. DW 0 ;; Size of xlat table - null table
  1569. ;;
  1570. CP737_AL_LW_END: ;; length of state section
  1571. ;;
  1572. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Last state for 737 ;;
  1573. ;; CODE PAGE: 737
  1574. ;; STATE: Alpha UPPER Case SECONDARY
  1575. ;; KEYBOARD TYPES: All
  1576. ;; TABLE TYPE: Translate
  1577. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1578. ;;
  1579. DW CP737_AL_UP_END-$ ;; length of state section
  1580. DB ALPHA_UPPER_SEC ;; State ID
  1581. DW ANY_KB ;; Keyboard Type
  1582. DB -1,-1 ;; error character = standalone accent
  1583. ;;
  1584. DW CP737_AL_UP_T1_END-$ ;; Size of xlat table
  1585. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1586. DB 24 ;; number of scans
  1587. DB 12h,084h ;; Greek alpha characters
  1588. DB 13h,090h ;;
  1589. DB 14h,092h ;;
  1590. DB 15h,093h ;;
  1591. DB 16h,087h ;;
  1592. DB 17h,088h ;;
  1593. DB 18h,08eh ;;
  1594. DB 19h,08fh ;;
  1595. DB 1eh,080h ;;
  1596. DB 1fh,091h ;;
  1597. DB 20h,083h ;;
  1598. DB 21h,094h ;;
  1599. DB 22h,082h ;;
  1600. DB 23h,086h ;;
  1601. DB 24h,08dh ;;
  1602. DB 25h,089h ;;
  1603. DB 26h,08ah ;;
  1604. DB 2ch,085h ;;
  1605. DB 2dh,095h ;;
  1606. DB 2eh,096h ;;
  1607. DB 2fh,097h ;;
  1608. DB 30h,081h ;;
  1609. DB 31h,08ch ;;
  1610. DB 32h,08bh ;;
  1611. ;;
  1612. CP737_AL_UP_T1_END: ;;
  1613. ;;
  1614. DW 0 ;; Size of xlat table - null table
  1615. ;;
  1616. CP737_AL_UP_END: ;; length of state section
  1617. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1618. ;; CODE PAGE: 737 LATIN
  1619. ;; STATE: Diaresis Lower Case Sec
  1620. ;; KEYBOARD: All
  1621. ;; TABLE TYPE: Translate
  1622. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1623. ;;
  1624. ;;
  1625. DW CP737_D2_UP_END-$ ;; length of state section
  1626. DB DIARESIS_UPPER_SEC ;; State ID
  1627. DW ANY_KB ;; Keyboard Type
  1628. DB -1, -1 ;; error character = standalone accent
  1629. ;;
  1630. DW CP737_D2_UP_T1_END-$ ;; Size of xlat table
  1631. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1632. DB 2 ;; number of scans
  1633. DB 17h,0f4h ;; I diaeresis
  1634. DB 15h,0f5h ;; U diaeresis
  1635. ;;
  1636. CP737_D2_UP_T1_END: ;;
  1637. ;;
  1638. DW 0 ;; Size of xlat table - null table
  1639. ;;
  1640. CP737_D2_UP_END: ;; length of state section
  1641. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
  1642. ;; CODE PAGE: 737 LATIN
  1643. ;; STATE: Diaresis Lower Case Sec
  1644. ;; KEYBOARD: All
  1645. ;; TABLE TYPE: Translate
  1646. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1647. ;;
  1648. DW C737_D2_LO_END-$ ;; Length of state section
  1649. DB DIARESIS_LOWER_SEC ;;
  1650. DW ANY_KB ;;
  1651. DB -1, -1 ;; Buffer entry for error character
  1652. ;; Set Flag Table
  1653. DW GK2_737-$ ;; Size of xlat table
  1654. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1655. DB 2 ;; number of scans
  1656. DB 17h,0e4h ;; I diaresis GREEK char
  1657. DB 15h,0e8h ;; Y diaresis GREEK char
  1658. GK2_737: ;;
  1659. ;;
  1660. DW 0 ;; Size of xlat table - null table
  1661. ;;
  1662. C737_D2_LO_END: ;;
  1663. ;;
  1664. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1665. ;; CODE PAGE: 737
  1666. ;; STATE: Diaresis Upper
  1667. ;; KEYBOARD TYPES: All
  1668. ;; TABLE TYPE: Translate
  1669. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1670. ;;
  1671. DW CP737_DI_UP_END-$ ;; length of state section
  1672. DB DIARESIS_UPPER ;; State ID
  1673. DW ANY_KB ;; Keyboard Type
  1674. DB -1, -1 ;; error character = standalone accent
  1675. ;;
  1676. DW CP737_DI_UP_T1_END-$ ;; Size of xlat table
  1677. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1678. DB 2 ;; number of scans
  1679. DB 17h,0f4h ;; I diaeresis
  1680. DB 15h,0f5h ;; U diaeresis
  1681. ;;
  1682. CP737_DI_UP_T1_END: ;;
  1683. ;;
  1684. DW 0 ;; Size of xlat table - null table
  1685. ;;
  1686. CP737_DI_UP_END: ;; length of state section
  1687. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
  1688. ;; CODE PAGE: 737 LATIN
  1689. ;; STATE: Diaresis Lower Case
  1690. ;; KEYBOARD: All
  1691. ;; TABLE TYPE: Translate
  1692. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1693. ;;
  1694. DW C737_DI_LO_END-$ ;; Length of state section
  1695. DB DIARESIS_LOWER ;;
  1696. DW ANY_KB ;;
  1697. DB -1, -1 ;; Buffer entry for error character
  1698. ;; Set Flag Table
  1699. DW GK_737-$ ;; Size of xlat table
  1700. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1701. DB 0 ;; number of scans
  1702. ;;
  1703. GK_737: ;; No Characters for this in Either codepage
  1704. ;;
  1705. DW 0 ;; Size of xlat table - null table
  1706. ;;
  1707. C737_DI_LO_END: ;;
  1708. ;;
  1709. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1710. ;; CODE PAGE: 737
  1711. ;; STATE: ACUTE Upper Sec
  1712. ;; KEYBOARD TYPES: All
  1713. ;; TABLE TYPE: Translate
  1714. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1715. ;;
  1716. DW CP737_A_UP_END-$ ;; length of state section
  1717. DB ACUTE_UPPER_SEC ;; State ID
  1718. DW ANY_KB ;; Keyboard Type
  1719. DB -1, -1 ;; error character = standalone accent
  1720. ;;
  1721. DW CP737_A_UP_T1_END-$ ;; Size of xlat table
  1722. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1723. DB 7 ;; number of scans
  1724. DB 12h,0ebh ;; acute E
  1725. DB 15h,0efh ;; acute Y
  1726. DB 18h,0eeh ;; acute O
  1727. DB 1eh,0eah ;; acute A
  1728. DB 23h,0ech ;; acute H
  1729. DB 2fh,0f0h ;; acute OMEGA
  1730. DB 17h,0edh ;; acute IOTA
  1731. ;;
  1732. CP737_A_UP_T1_END: ;;
  1733. ;;
  1734. DW 0 ;; Size of xlat table - null table
  1735. ;;
  1736. CP737_A_UP_END: ;; length of state section
  1737. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
  1738. ;; CODE PAGE: 737 LATIN
  1739. ;; STATE: ACUTE Lower Case
  1740. ;; KEYBOARD: All
  1741. ;; TABLE TYPE: Translate
  1742. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1743. ;;
  1744. DW C737_A_LO_END-$ ;; Length of state section
  1745. DB ACUTE_LOWER_SEC ;;
  1746. DW ANY_KB ;;
  1747. DB -1, -1 ;; Buffer entry for error character
  1748. ;; Set Flag Table
  1749. DW GK_A_737-$ ;; Size of xlat table
  1750. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1751. DB 7 ;; number of scans
  1752. DB 12h,0e2h ;; acute e
  1753. DB 15h,0e7h ;; acute y
  1754. DB 18h,0e6h ;; acute o
  1755. DB 1eh,0e1h ;; acute a
  1756. DB 23h,0e3h ;; acute h
  1757. DB 2fh,0e9h ;; acute omega
  1758. DB 17h,0e5h ;; acute iota
  1759. ;;
  1760. GK_A_737: ;;
  1761. ;;
  1762. DW 0 ;; Size of xlat table - null table
  1763. ;;
  1764. C737_A_LO_END: ;;
  1765. ;;
  1766. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1767. ;; CODE PAGE: 737
  1768. ;; STATE: ACUTE Upper
  1769. ;; KEYBOARD TYPES: All
  1770. ;; TABLE TYPE: Translate
  1771. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1772. ;;
  1773. DW CP737_AC_UP_END-$ ;; length of state section
  1774. DB ACUTE_UPPER ;; State ID
  1775. DW ANY_KB ;; Keyboard Type
  1776. DB -1, -1 ;; error character = standalone accent
  1777. ;;
  1778. DW CP737_AC_UP_T1_END-$ ;; Size of xlat table
  1779. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1780. DB 7 ;; number of scans
  1781. DB 12h,0ebh ;; acute E
  1782. DB 15h,0efh ;; acute Y
  1783. DB 18h,0eeh ;; acute O
  1784. DB 1eh,0eah ;; acute A
  1785. DB 23h,0ech ;; acute H
  1786. DB 2fh,0f0h ;; acute OMEGA
  1787. DB 17h,0edh ;; acute IOTA
  1788. ;;
  1789. CP737_AC_UP_T1_END: ;;
  1790. ;;
  1791. DW 0 ;; Size of xlat table - null table
  1792. ;;
  1793. CP737_AC_UP_END: ;; length of state section
  1794. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
  1795. ;; CODE PAGE: 737 LATIN
  1796. ;; STATE: ACUTE Lower Case
  1797. ;; KEYBOARD: All
  1798. ;; TABLE TYPE: Translate
  1799. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1800. ;;
  1801. DW C737_AC_LO_END-$ ;; Length of state section
  1802. DB ACUTE_LOWER ;;
  1803. DW ANY_KB ;;
  1804. DB -1, -1 ;; Buffer entry for error character
  1805. ;; Set Flag Table
  1806. DW GK_AC_737-$ ;; Size of xlat table
  1807. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1808. DB 7 ;; number of scans
  1809. DB 12h,0e2h ;; acute e
  1810. DB 15h,0e7h ;; acute y
  1811. DB 18h,0e6h ;; acute o
  1812. DB 1eh,0e1h ;; acute a
  1813. DB 23h,0e3h ;; acute h
  1814. DB 2fh,0e9h ;; acute omega
  1815. DB 17h,0e5h ;; acute iota
  1816. ;;
  1817. GK_AC_737: ;;
  1818. ;;
  1819. DW 0 ;; Size of xlat table - null table
  1820. ;;
  1821. C737_AC_LO_END: ;;
  1822. ;;
  1823. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Last state for 737 ;;
  1824. ;;
  1825. ;;
  1826. DW 0 ;; LAST STATE
  1827. ;;
  1828. CP737_XLAT_END: ;;
  1829. ;;
  1830. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1831. ;;
  1832. ;;
  1833. ;;
  1834. CODE ENDS ;;
  1835. END ;;