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.

1330 lines
42 KiB

  1. PAGE ,132
  2. ; * IBM CONFIDENTIAL * Jan 9 1990 *
  3. TITLE PC DOS 3.30 LAD Keyboard Definition File
  4. ;; LATEST CHANGE ALT & CTL
  5. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  6. ;
  7. ; PC DOS 3.3 - LAD Keyboard Support - Keyboard Defintion File
  8. ; (C) Copyright IBM Corp 1987
  9. ;
  10. ; This file contains the keyboard tables for Latin American.
  11. ; The data for this file is taken from the project named
  12. ; CARNIVAL (developed in Toronto, Canada - May 86).
  13. ;
  14. ; The LAD keyboard support is based on the following:
  15. ; PC - 246 (Spanish)
  16. ; PC/AT - 246 (Spanish)
  17. ; PC, PC/XT - 246 (Spanish)
  18. ; Ferrari G - 171
  19. ; Ferrari P (?) - 171
  20. ;
  21. ; AUTHOR: Gordon Giddings, 28969
  22. ; IBM Canada Ltd.
  23. ;
  24. ; DATE: September 15, 1986
  25. ;
  26. ;
  27. ; To update KEYBOARD.SYS....enter the following info into KDF.ASM
  28. ;
  29. ; FILE HEADER
  30. ; ===========
  31. ; DB 'LA' ; language code
  32. ; DW OFFSET LA_LANG_ENT,0 ; language ptr
  33. ;
  34. ; LANGUAGE ENTRY
  35. ; ==============
  36. ; EXTRN LA_LOGIC:NEAR
  37. ; EXTRN LA_437_XLAT:NEAR
  38. ; EXTRN LA_850_XLAT:NEAR
  39. ;
  40. ; LA_LANG_ENT: DB 'LA' ;
  41. ; DW 0 ; reserved
  42. ; DW OFFSET LA_LOGIC,0 ; pointer to LANG kb table
  43. ; DW 2 ; number of code pages
  44. ; DW 437 ; code page
  45. ; DW OFFSET LA_437_XLAT,0 ; table pointer
  46. ; DW 850 ; code page
  47. ; DW OFFSET LA_850_XLAT,0 ; table pointer
  48. ;
  49. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  50. INCLUDE KEYBSHAR.INC ;
  51. INCLUDE POSTEQU.INC ;
  52. INCLUDE KEYBMAC.INC ;
  53. ;
  54. PUBLIC LA_LOGIC ;
  55. PUBLIC LA_437_XLAT ;
  56. PUBLIC LA_850_XLAT ;
  57. ;
  58. CODE SEGMENT PUBLIC 'CODE' ;
  59. ASSUME CS:CODE,DS:CODE ;
  60. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  61. ; Standard translate table options are a liner search table
  62. ; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
  63. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  64. ;
  65. STANDARD_TABLE EQU TYPE_2_TAB+ASCII_ONLY
  66. ;
  67. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  68. ;
  69. ; SP State Logic
  70. ;
  71. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  72. LA_LOGIC: ;
  73. DW LOGIC_END-$ ; length
  74. DW 0 ; special features
  75. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  76. ; OPTIONS: If we find a scan match in
  77. ; an XLATT or SET_FLAG operation then
  78. ; exit from INT 9.
  79. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  80. OPTION EXIT_IF_FOUND ;
  81. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  82. ; Dead key definitions must come before
  83. ; dead key translations to handle
  84. ; dead key + dead key.
  85. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  86. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  87. ;;
  88. ;;
  89. IFF EITHER_ALT,NOT ;;
  90. ANDF EITHER_CTL,NOT ;;
  91. IFF EITHER_SHIFT ;;
  92. SET_FLAG DEAD_UPPER ;;
  93. ELSEF ;;
  94. SET_FLAG DEAD_LOWER ;;
  95. ENDIFF ;;
  96. ENDIFF ;;
  97. IFF EITHER_SHIFT,NOT ;;
  98. IFKBD XT_KB+AT_KB ;;
  99. IFF EITHER_CTL ;;
  100. ANDF ALT_SHIFT ;;
  101. SET_FLAG DEAD_THIRD ;;
  102. ENDIFF ;;
  103. ELSEF ;;
  104. IFF EITHER_CTL,NOT ;;
  105. ANDF R_ALT_SHIFT ;;
  106. SET_FLAG DEAD_THIRD ;;
  107. ENDIFF ;;
  108. ENDIFF ;;
  109. ENDIFF ;;
  110. ;;
  111. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  112. ; ACUTE ACCENT TRANSLATIONS
  113. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  114. ;
  115. ACUTE_PROC: ;
  116. ;
  117. IFF ACUTE,NOT ;
  118. GOTO DIARESIS_PROC ;
  119. ENDIFF ;
  120. ;
  121. RESET_NLS ;
  122. IFF R_ALT_SHIFT,NOT ;
  123. XLATT ACUTE_SPACE ;
  124. ENDIFF ;
  125. IFF EITHER_CTL,NOT ;
  126. ANDF EITHER_ALT,NOT ;
  127. IFF EITHER_SHIFT ;
  128. IFF CAPS_STATE ;
  129. XLATT ACUTE_LOWER ;
  130. ELSEF ;
  131. XLATT ACUTE_UPPER ;
  132. ENDIFF ;
  133. ELSEF ;
  134. IFF CAPS_STATE ;
  135. XLATT ACUTE_UPPER ;
  136. ELSEF ;
  137. XLATT ACUTE_LOWER ;
  138. ENDIFF ;
  139. ENDIFF ;
  140. ENDIFF ;
  141. ;
  142. INVALID_ACUTE: ;
  143. PUT_ERROR_CHAR ACUTE_LOWER ; If we get here then either the XLATT
  144. BEEP ; failed or we are ina bad shift state.
  145. GOTO NON_DEAD ; Either is invalid so BEEP and fall
  146. ; through to generate the second char.
  147. ; Note that the dead key flag will be
  148. ; reset before we get here.
  149. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  150. ; DIARESIS ACCENT TRANSLATIONS
  151. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  152. DIARESIS_PROC: ;
  153. IFF DIARESIS,NOT ;
  154. GOTO GRAVE_PROC ;
  155. ENDIFF ;
  156. ;
  157. RESET_NLS ;
  158. IFF R_ALT_SHIFT,NOT ;
  159. XLATT DIARESIS_SPACE ; exist for 437 so beep for
  160. ENDIFF ;
  161. IFF EITHER_CTL,NOT ;
  162. ANDF EITHER_ALT,NOT ;
  163. IFF EITHER_SHIFT ;
  164. IFF CAPS_STATE ;
  165. XLATT DIARESIS_LOWER ;
  166. ELSEF ;
  167. XLATT DIARESIS_UPPER ;
  168. ENDIFF ;
  169. ELSEF ;
  170. IFF CAPS_STATE ;
  171. XLATT DIARESIS_UPPER ;
  172. ELSEF ;
  173. XLATT DIARESIS_LOWER ;
  174. ENDIFF ;
  175. ENDIFF ;
  176. ENDIFF ;
  177. ;
  178. INVALID_DIARESIS: ;
  179. PUT_ERROR_CHAR DIARESIS_LOWER ; standalone accent
  180. BEEP ; Invalid dead key combo.
  181. GOTO NON_DEAD ;
  182. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  183. ; GRAVE ACCENT TRANSLATIONS
  184. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  185. GRAVE_PROC: ;
  186. ;
  187. IFF GRAVE,NOT ;
  188. GOTO CIRCUMFLEX_PROC ;
  189. ENDIFF ;
  190. ;
  191. RESET_NLS ;
  192. IFF R_ALT_SHIFT,NOT ;
  193. XLATT GRAVE_SPACE ;
  194. ENDIFF ;
  195. IFF EITHER_CTL,NOT ;
  196. ANDF EITHER_ALT,NOT ;
  197. IFF EITHER_SHIFT ;
  198. IFF CAPS_STATE ;
  199. XLATT GRAVE_LOWER ;
  200. ELSEF ;
  201. XLATT GRAVE_UPPER ;
  202. ENDIFF ;
  203. ELSEF ;
  204. IFF CAPS_STATE,NOT ;
  205. XLATT GRAVE_LOWER ;
  206. ELSEF ;
  207. XLATT GRAVE_UPPER ;
  208. ENDIFF ;
  209. ENDIFF ;
  210. ENDIFF ;
  211. ;
  212. INVALID_GRAVE: ;
  213. PUT_ERROR_CHAR GRAVE_LOWER ; standalone accent
  214. BEEP ; Invalid dead key combo.
  215. GOTO NON_DEAD ;
  216. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  217. ; CIRCUMFLEX ACCENT TRANSLATIONS
  218. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  219. CIRCUMFLEX_PROC: ;
  220. ;
  221. IFF CIRCUMFLEX,NOT ;
  222. GOTO NON_DEAD ;
  223. ENDIFF ;
  224. ;
  225. RESET_NLS ;
  226. IFF R_ALT_SHIFT,NOT ;
  227. XLATT CIRCUMFLEX_SPACE ;
  228. ENDIFF ;
  229. IFF EITHER_CTL,NOT ;
  230. ANDF EITHER_ALT,NOT ;
  231. IFF EITHER_SHIFT ;
  232. IFF CAPS_STATE ;
  233. XLATT CIRCUMFLEX_LOWER ;
  234. ELSEF ;
  235. XLATT CIRCUMFLEX_UPPER ;
  236. ENDIFF ;
  237. ELSEF ;
  238. IFF CAPS_STATE,NOT ;
  239. XLATT CIRCUMFLEX_LOWER ;
  240. ELSEF ;
  241. XLATT CIRCUMFLEX_UPPER ;
  242. ENDIFF ;
  243. ENDIFF ;
  244. ENDIFF ;
  245. ;
  246. INVALID_CIRCUMFLEX: ;
  247. PUT_ERROR_CHAR CIRCUMFLEX_LOWER ; standalone accent
  248. BEEP ; Invalid dead key combo.
  249. GOTO NON_DEAD ;
  250. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  251. ; Upper, lower and third shifts
  252. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  253. NON_DEAD: ;
  254. ;
  255. IFKBD G_KB+P12_KB ; Avoid accidentally translating
  256. ANDF LC_E0 ; the "/" on the numeric pad of the
  257. EXIT_STATE_LOGIC ; G keyboard
  258. ENDIFF ;
  259. ;;***BD ADDED FOR ALT, CTRL CASES ;
  260. IFF EITHER_CTL,NOT ;
  261. IFF ALT_SHIFT ; ALT - case
  262. ANDF R_ALT_SHIFT,NOT ;
  263. XLATT ALT_CASE ;
  264. ENDIFF ;
  265. ELSEF ;
  266. IFF EITHER_ALT,NOT ; CTRL - case
  267. XLATT CTRL_CASE ;
  268. ENDIFF ;
  269. ENDIFF ;
  270. ;;***BD END OF ADDITION
  271. ;
  272. IFF EITHER_ALT,NOT ; Lower and upper case. Alphabetic
  273. ANDF EITHER_CTL,NOT ; keys are affected by CAPS LOCK.
  274. IFF EITHER_SHIFT ; Numeric keys are not.
  275. ;;***BD ADDED FOR NUMERIC PAD
  276. IFF NUM_STATE,NOT ;
  277. XLATT NUMERIC_PAD ;
  278. ENDIFF ;
  279. ;;***BD END OF ADDITION
  280. XLATT NON_ALPHA_UPPER ;
  281. IFF CAPS_STATE ;
  282. XLATT ALPHA_LOWER ;
  283. ELSEF ;
  284. XLATT ALPHA_UPPER ;
  285. ENDIFF ;
  286. ELSEF ;
  287. ;;***BD ADDED FOR NUMERIC PAD
  288. IFF NUM_STATE ;
  289. XLATT NUMERIC_PAD ;
  290. ENDIFF ;
  291. ;;***BD END OF ADDITION
  292. XLATT NON_ALPHA_LOWER ;
  293. IFF CAPS_STATE ;
  294. XLATT ALPHA_UPPER ;
  295. ELSEF ;
  296. XLATT ALPHA_LOWER ;
  297. ENDIFF ;
  298. ENDIFF ;
  299. ELSEF ;
  300. IFF EITHER_SHIFT,NOT ;
  301. IFKBD XT_KB+AT_KB ;
  302. IFF EITHER_CTL ;
  303. ANDF ALT_SHIFT ;
  304. XLATT THIRD_SHIFT ;
  305. ENDIFF ;
  306. ELSEF ;
  307. IFF EITHER_CTL,NOT ;
  308. ANDF R_ALT_SHIFT ;
  309. XLATT THIRD_SHIFT ;
  310. ENDIFF ;
  311. ENDIFF ;
  312. ENDIFF ;
  313. ENDIFF ;
  314. ;
  315. EXIT_STATE_LOGIC ;
  316. ;
  317. LOGIC_END: ;
  318. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  319. ; SP Common Translate Section
  320. ; This section contains translations for the lower 128 characters
  321. ; only since these will never change from code page to code page.
  322. ; In addition the dead key "Set Flag" tables are here since the
  323. ; dead keys are on the same keytops for all code pages.
  324. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  325. PUBLIC LA_COMMON_XLAT ;
  326. LA_COMMON_XLAT: ;
  327. ;
  328. DW COMMON_XLAT_END-$ ; length of section
  329. DW -1 ; code page
  330. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  331. ; CODE PAGE: Common
  332. ; STATE: Lower Shift Dead Key
  333. ; KEYBOARD TYPES: G + P12
  334. ; TABLE TYPE: Flag Table
  335. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  336. DW COM_DK_LO_K1_END-$ ; length of state section
  337. DB DEAD_LOWER ; State ID
  338. DW G_KB+P12_KB ; Keyboard Type
  339. DB -1,-1 ; Buffer entry for error character
  340. ; Set Flag Table
  341. DW 1 ; number of entries
  342. DB 26 ; scan code
  343. FLAG ACUTE ;
  344. ;
  345. COM_DK_LO_K1_END: ;
  346. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  347. ; CODE PAGE: Common
  348. ; STATE: Lower Shift Dead Key
  349. ; KEYBOARD TYPES: AT + XT +
  350. ; TABLE TYPE: Flag Table
  351. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  352. ;
  353. DW COM_DK_LO_K2_END-$ ; length of state section
  354. DB DEAD_LOWER ; State ID
  355. DW AT_KB+XT_KB ; Keyboard Type
  356. DB -1,-1 ; Buffer entry for error character
  357. ; Set Flag Table
  358. DW 2 ; number of entries
  359. DB 26 ; scan code
  360. FLAG ACUTE ; flag bit to set
  361. DB 27 ;
  362. FLAG GRAVE ;
  363. ;
  364. ;
  365. COM_DK_LO_K2_END: ;
  366. ;
  367. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  368. ; CODE PAGE: Common
  369. ; STATE: Upper Shift Dead Key
  370. ; KEYBOARD TYPES: G + P12
  371. ; TABLE TYPE: Flag Table
  372. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  373. DW COM_DK_UP_K1_END-$ ; length of state section
  374. DB DEAD_UPPER ; State ID
  375. DW G_KB+P12_KB ; Keyboard Type
  376. DB -1,-1 ; Buffer entry for error character
  377. ; Set Flag Table
  378. DW 1 ; number of entries
  379. DB 26 ; scan code
  380. FLAG DIARESIS ;
  381. ;
  382. COM_DK_UP_K1_END: ;
  383. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  384. ; CODE PAGE: Common
  385. ; STATE: Third Shift Dead Key
  386. ; KEYBOARD TYPES: G + P12
  387. ; TABLE TYPE: Flag Table
  388. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  389. DW COM_TH_DK_UP_K1_END-$ ; length of state section
  390. DB DEAD_THIRD ; State ID
  391. DW G_KB+P12_KB ; Keyboard Type
  392. DB -1,-1 ; Buffer entry for error character
  393. ; Set Flag Table
  394. DW 2 ; number of entries
  395. DB 40 ; scan code
  396. FLAG CIRCUMFLEX ;
  397. DB 43 ; scan code
  398. FLAG GRAVE ;
  399. ;
  400. COM_TH_DK_UP_K1_END: ;
  401. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  402. ; CODE PAGE: Common
  403. ; STATE: Upper Shift Dead Key
  404. ; KEYBOARD TYPES: AT + XT +
  405. ; TABLE TYPE: Flag Table
  406. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  407. ;
  408. DW COM_DK_UP_END-$ ; length of state section
  409. DB DEAD_UPPER ; State ID
  410. DW AT_KB+XT_KB ; Keyboard Type
  411. DB -1,-1 ; Buffer entry for error character
  412. ; Set Flag Table
  413. DW 2 ; number of entries
  414. DB 26 ; scan code
  415. FLAG DIARESIS ; flag bit to set
  416. DB 27 ;
  417. FLAG CIRCUMFLEX ;
  418. ;
  419. COM_DK_UP_END: ;
  420. ;
  421. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  422. ; CODE PAGE: Common
  423. ; STATE: Alpha Lower Case
  424. ; KEYBOARD TYPES: G + P12
  425. ; TABLE TYPE: Translate
  426. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  427. DW COM_AL_LO_GP_K1_END-$ ; length of state section
  428. DB ALPHA_LOWER ; State ID
  429. DW G_KB+P12_KB ; Keyboard Type
  430. DB -1,-1 ; Buffer entry for error character
  431. ;
  432. DW COM_AL_LO_GP_K1_T1_END-$ ; Size of xlat table
  433. DB STANDARD_TABLE ; xlat options:
  434. DB 1 ; number of entries
  435. DB 39,164 ; n-tilde
  436. COM_AL_LO_GP_K1_T1_END: ;
  437. ;
  438. DW 0 ; Size of xlat table - null table
  439. ;
  440. COM_AL_LO_GP_K1_END: ;
  441. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  442. ; CODE PAGE: Common
  443. ; STATE: Alpha Lower Case
  444. ; KEYBOARD TYPES: AT
  445. ; TABLE TYPE: Translate
  446. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  447. DW COM_AL_LO_K1_END-$ ; length of state section
  448. DB ALPHA_LOWER ; State ID
  449. DW AT_KB ; Keyboard Type
  450. DB -1,-1 ; Buffer entry for error character
  451. ;
  452. DW COM_AL_LO_K1_T1_END-$ ; Size of xlat table
  453. DB STANDARD_TABLE ; xlat options:
  454. DB 2 ; number of entries
  455. DB 39,164 ; n-tilde
  456. DB 43,135 ; c-cedilla
  457. COM_AL_LO_K1_T1_END: ;
  458. ;
  459. DW 0 ; Size of xlat table - null table
  460. ;
  461. COM_AL_LO_K1_END: ;
  462. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  463. ; CODE PAGE: Common
  464. ; STATE: Numeric Key Pad
  465. ; KEYBOARD TYPES: All
  466. ; TABLE TYPE: Translate
  467. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  468. DW COM_PAD_K1_END-$ ; length of state section
  469. DB NUMERIC_PAD ; State ID
  470. DW ANY_KB ; Keyboard Type
  471. DB -1,-1 ; Buffer entry for error character
  472. ;
  473. DW COM_PAD_K1_T1_END-$ ; Size of xlat table
  474. DB STANDARD_TABLE ; xlat options:
  475. DB 1 ; number of entries
  476. DB 83,'.' ; decimal seperator = .
  477. COM_PAD_K1_T1_END: ;
  478. ;
  479. DW 0 ; Size of xlat table - null table
  480. ;
  481. COM_PAD_K1_END: ;
  482. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  483. ;
  484. ; BD - ADDED FOR ALT CASE
  485. ;
  486. ; CODE PAGE: Common
  487. ; STATE: Alt Case
  488. ; KEYBOARD TYPES: All
  489. ; TABLE TYPE: Translate
  490. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  491. DW COM_ALT_K1_END-$ ; length of state section
  492. DB ALT_CASE ; State ID
  493. DW ANY_KB ; Keyboard Type
  494. DB -1,-1 ; Buffer entry for error character
  495. ;
  496. DW COM_ALT_K1_T1_END-$ ; Size of xlat table
  497. DB TYPE_2_TAB ; xlat options:
  498. DB 0 ; number of entries
  499. ;;***BD THIS ENTRY IS A TEST ENTRY
  500. ;; DB 53,225,0 ; TEST ENTRY
  501. COM_ALT_K1_T1_END: ;
  502. ;
  503. DW 0 ; Size of xlat table - null table
  504. ;
  505. COM_ALT_K1_END: ;
  506. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  507. ;
  508. ; BD - ADDED FOR CTRL CASE
  509. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  510. ;; CODE PAGE: Common
  511. ;; STATE: Ctrl Case
  512. ;; KEYBOARD TYPES: AT
  513. ;; TABLE TYPE: Translate
  514. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  515. ;;
  516. DW COM_CTRL_K1_END-$ ;; length of state section
  517. DB CTRL_CASE ;; State ID
  518. DW AT_KB ;; Keyboard Type
  519. DB -1,-1 ;; Buffer entry for error character
  520. ;;
  521. DW COM_CTRL_K1_T1_END-$ ;; Size of xlat table
  522. DB TYPE_2_TAB ;; xlat options:
  523. DB 2 ;; number of entries
  524. ;;***BD THIS ENTRY IS A TEST ENTRY
  525. ;; DB 53,226,0 ;; TEST ENTRY
  526. DB 43,-1,-1 ;; invalid slash
  527. DB 41,28,41 ;; valid slash
  528. COM_CTRL_K1_T1_END: ;;
  529. ;;
  530. DW 0 ;; Size of xlat table - null table
  531. ;;
  532. COM_CTRL_K1_END: ;;
  533. ;;
  534. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  535. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  536. ;; CODE PAGE: Common
  537. ;; STATE: Ctrl Case
  538. ;; KEYBOARD TYPES: XT_KB
  539. ;; TABLE TYPE: Translate
  540. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  541. ;;
  542. DW COM_CTRL_K2_END-$ ;; length of state section
  543. DB CTRL_CASE ;; State ID
  544. DW XT_KB ;; Keyboard Type
  545. DB -1,-1 ;; Buffer entry for error character
  546. ;;
  547. DW COM_CTRL_K2_T2_END-$ ;; Size of xlat table
  548. DB TYPE_2_TAB ;; xlat options:
  549. DB 1 ;; number of entries
  550. ;;***BD THIS ENTRY IS A TEST ENTRY
  551. ;; DB 53,226,0 ;; TEST ENTRY
  552. DB 43,-1,-1 ;; invalid slash
  553. COM_CTRL_K2_T2_END: ;;
  554. ;;
  555. DW 0 ;; Size of xlat table - null table
  556. ;;
  557. COM_CTRL_K2_END: ;;
  558. ;;
  559. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  560. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  561. ; CODE PAGE: Common
  562. ; STATE: Alpha Lower Case
  563. ; KEYBOARD TYPES: XT +
  564. ; TABLE TYPE: Translate
  565. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  566. DW COM_AL_LO_K2_END-$ ; length of state section
  567. DB ALPHA_LOWER ; State ID
  568. DW XT_KB ; Keyboard Type
  569. DB -1,-1 ; Buffer entry for error character
  570. ;
  571. DW COM_AL_LO_K2_T1_END-$ ; Size of xlat table
  572. DB STANDARD_TABLE ; xlat options:
  573. DB 2 ; number of entries
  574. DB 39,164 ; n-tilde
  575. DB 41,135 ; c-cedilla
  576. COM_AL_LO_K2_T1_END: ;
  577. ;
  578. DW 0 ; Size of xlat table - null table
  579. ;
  580. COM_AL_LO_K2_END: ;
  581. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  582. ; CODE PAGE: Common
  583. ; STATE: Alpha Upper Case
  584. ; KEYBOARD TYPES: G + P12
  585. ; TABLE TYPE: Translate
  586. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  587. DW COM_AL_UP_GP_K1_END-$ ; length of state section
  588. DB ALPHA_UPPER ; State ID
  589. DW G_KB+P12_KB ; Keyboard Type
  590. DB -1,-1 ; Buffer entry for error character
  591. ;
  592. DW COM_AL_UP_GP_K1_T1_END-$ ; Size of xlat table
  593. DB STANDARD_TABLE ; xlat options:
  594. DB 1 ; number of entries
  595. DB 39,165 ; N-tilde
  596. COM_AL_UP_GP_K1_T1_END: ;
  597. ;
  598. DW 0 ; Size of xlat table - null table
  599. ;
  600. COM_AL_UP_GP_K1_END: ;
  601. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  602. ; CODE PAGE: Common
  603. ; STATE: Alpha Upper Case
  604. ; KEYBOARD TYPES: AT
  605. ; TABLE TYPE: Translate
  606. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  607. DW COM_AL_UP_K1_END-$ ; length of state section
  608. DB ALPHA_UPPER ; State ID
  609. DW AT_KB ; Keyboard Type
  610. DB -1,-1 ; Buffer entry for error character
  611. ;
  612. DW COM_AL_UP_K1_T1_END-$ ; Size of xlat table
  613. DB STANDARD_TABLE ; xlat options:
  614. DB 2 ; number of entries
  615. DB 39,165 ; N-tilde
  616. DB 43,128 ; C-cedilla
  617. COM_AL_UP_K1_T1_END: ;
  618. ;
  619. DW 0 ; Size of xlat table - null table
  620. ;
  621. COM_AL_UP_K1_END: ;
  622. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  623. ; CODE PAGE: Common
  624. ; STATE: Alpha Upper Case
  625. ; KEYBOARD TYPES: XT +
  626. ; TABLE TYPE: Translate
  627. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  628. DW COM_AL_UP_K2_END-$ ; length of state section
  629. DB ALPHA_UPPER ; State ID
  630. DW XT_KB ; Keyboard Type
  631. DB -1,-1 ; Buffer entry for error character
  632. ;
  633. DW COM_AL_UP_K2_T1_END-$ ; Size of xlat table
  634. DB STANDARD_TABLE ; xlat options:
  635. DB 2 ; number of entries
  636. DB 39,165 ; N-tilde
  637. DB 41,128 ; C-cedilla
  638. COM_AL_UP_K2_T1_END: ;
  639. ;
  640. DW 0 ; Size of xlat table - null table
  641. ;
  642. COM_AL_UP_K2_END: ;
  643. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  644. ; CODE PAGE: Common
  645. ; STATE: Non-Alpha Lower Case
  646. ; KEYBOARD TYPES: G + P12
  647. ; TABLE TYPE: Translate
  648. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  649. DW COM_NA_LO_GP_K1_END-$ ; length of state section
  650. DB NON_ALPHA_LOWER ; State ID
  651. DW G_KB+P12_KB ; Keyboard Type
  652. DB -1,-1 ; Buffer entry for error character
  653. ;
  654. DW COM_NA_LO_GP_K1_T1_END-$ ; Size of xlat table
  655. DB STANDARD_TABLE ; xlat options:
  656. DB 8 ; number of entries
  657. DB 12,"'" ; '
  658. DB 13,'�' ; �
  659. DB 27,'+' ; +
  660. DB 40,'{' ; |
  661. DB 41,'|' ; |
  662. DB 43,'}' ; |
  663. DB 53,'-' ; -
  664. DB 86,'<' ; <
  665. COM_NA_LO_GP_K1_T1_END: ;
  666. ;
  667. DW 0 ; Size of xlat table - null table
  668. ;
  669. COM_NA_LO_GP_K1_END: ;
  670. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  671. ; CODE PAGE: Common
  672. ; STATE: Non-Alpha Lower Case
  673. ; KEYBOARD TYPES: AT
  674. ; TABLE TYPE: Translate
  675. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  676. DW COM_NA_LO_K2_END-$ ; length of state section
  677. DB NON_ALPHA_LOWER ; State ID
  678. DW AT_KB ; Keyboard Type
  679. DB -1,-1 ; Buffer entry for error character
  680. ;
  681. DW COM_NA_LO_K2_T1_END-$ ; Size of xlat table
  682. DB STANDARD_TABLE ; xlat options:
  683. DB 3 ; number of entries
  684. DB 40,';' ; ;
  685. DB 41,'<' ; <
  686. DB 53,"'" ; quote
  687. COM_NA_LO_K2_T1_END: ;
  688. ;
  689. DW 0 ; Size of xlat table - null table
  690. ;
  691. COM_NA_LO_K2_END: ;
  692. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  693. ; CODE PAGE: Common
  694. ; STATE: Non-Alpha Lower Case
  695. ; KEYBOARD TYPES: XT +
  696. ; TABLE TYPE: Translate
  697. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  698. DW COM_NA_LO_K3_END-$ ; length of state section
  699. DB NON_ALPHA_LOWER ; State ID
  700. DW XT_KB ; Keyboard Type
  701. DB -1,-1 ; Buffer entry for error character
  702. ;
  703. DW COM_NA_LO_K3_T1_END-$ ; Size of xlat table
  704. DB STANDARD_TABLE ; xlat options:
  705. DB 3 ; number of entries
  706. DB 40,';' ; ;
  707. DB 43,'<' ; <
  708. DB 53,"'" ; quote
  709. COM_NA_LO_K3_T1_END: ;
  710. ;
  711. DW 0 ; Size of xlat table - null table
  712. ;
  713. COM_NA_LO_K3_END: ;
  714. ;
  715. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  716. ; CODE PAGE: Common
  717. ; STATE: Non-Alpha Upper Case
  718. ; KEYBOARD TYPES: G + P12
  719. ; TABLE TYPE: Translate
  720. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  721. DW COM_NA_UP_GP_K1_END-$ ; length of state section
  722. DB NON_ALPHA_UPPER ; State ID
  723. DW G_KB+P12_KB ; Keyboard Type
  724. DB -1,-1 ; Buffer entry for error character
  725. ;
  726. DW COM_NA_UP_GP_K1_T1_END-$ ; Size of xlat table
  727. DB STANDARD_TABLE ; xlat options:
  728. DB 16 ; number of entries
  729. DB 3,'"' ; "
  730. DB 7,'&' ; &
  731. DB 8,'/' ; /
  732. DB 9,'(' ; (
  733. DB 10,')' ; )
  734. DB 11,'=' ; =
  735. DB 12,'?' ; ?
  736. DB 13,'�' ; �
  737. DB 27,'*' ; *
  738. DB 40,'[' ; [
  739. DB 41,'�' ; �
  740. DB 43,']' ; ]
  741. DB 51,';' ; ;
  742. DB 52,':' ; :
  743. DB 53,'_' ; _
  744. DB 86,'>' ; >
  745. COM_NA_UP_GP_K1_T1_END: ;
  746. ;
  747. DW 0 ; Size of xlat table - null table
  748. ;
  749. COM_NA_UP_GP_K1_END: ;
  750. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  751. ; CODE PAGE: Common
  752. ; STATE: Non-Alpha Upper Case
  753. ; KEYBOARD TYPES: AT
  754. ; TABLE TYPE: Translate
  755. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  756. DW COM_NA_UP_K2_END-$ ; length of state section
  757. DB NON_ALPHA_UPPER ; State ID
  758. DW AT_KB ; Keyboard Type
  759. DB -1,-1 ; Buffer entry for error character
  760. ;
  761. DW COM_NA_UP_K2_T1_END-$ ; Size of xlat table
  762. DB STANDARD_TABLE ; xlat options:
  763. DB 8 ; number of entries
  764. DB 41,'>' ;
  765. DB 2,0ADH ; UPSIDE DOWN �
  766. DB 3,168 ; UPSIDE DOWN ?
  767. DB 7,'/' ;
  768. DB 40,':' ;
  769. DB 51,'?' ;
  770. DB 52,'!' ;
  771. DB 53,'"' ;
  772. COM_NA_UP_K2_T1_END: ;
  773. ;
  774. DW 0 ; Size of xlat table - null table
  775. ;
  776. COM_NA_UP_K2_END: ;
  777. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  778. ; CODE PAGE: Common
  779. ; STATE: Non-Alpha Upper Case
  780. ; KEYBOARD TYPES: XT +
  781. ; TABLE TYPE: Translate
  782. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  783. ;
  784. DW COM_NA_UP_K3_END-$ ; length of state section
  785. DB NON_ALPHA_UPPER ; State ID
  786. DW XT_KB ; Keyboard Type
  787. DB -1,-1 ; Buffer entry for error character
  788. ;
  789. DW COM_NA_UP_K3_T1_END-$ ; Size of xlat table
  790. DB STANDARD_TABLE ; xlat options:
  791. DB 8 ; number of entries
  792. DB 43,'>' ;
  793. DB 2,0ADH ; UPSIDE DOWN �
  794. DB 3,168 ; UPSIDE DOWN ?
  795. DB 7,'/' ;
  796. DB 40,':' ;
  797. DB 51,'?' ;
  798. DB 52,'!' ;
  799. DB 53,'"' ;
  800. COM_NA_UP_K3_T1_END: ;
  801. ;
  802. DW 0 ; Size of xlat table - null table
  803. ;
  804. COM_NA_UP_K3_END: ;
  805. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  806. ; CODE PAGE: Common
  807. ; STATE: Third Shift
  808. ; KEYBOARD TYPES: G + P12
  809. ; TABLE TYPE: Translate
  810. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  811. DW COM_THIRD_K1_END-$ ; length of state section
  812. DB THIRD_SHIFT ; State ID
  813. DW G_KB+P12_KB ; Keyboard Type
  814. DB -1,-1 ; Buffer entry for error character
  815. ;
  816. DW COM_THIRD_K1_T1_END-$ ; Size of xlat table
  817. DB STANDARD_TABLE ; xlat options:
  818. DB 4 ; number of entries
  819. DB 12,'\' ; \
  820. DB 16,'@' ; @
  821. DB 27,'~' ; ~
  822. DB 41,'�' ; �
  823. COM_THIRD_K1_T1_END: ;
  824. ;
  825. DW 0 ; Last xlat table
  826. COM_THIRD_K1_END: ;
  827. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  828. ; CODE PAGE: Common
  829. ; STATE: Third Shift
  830. ; KEYBOARD TYPES: AT
  831. ; TABLE TYPE: Translate
  832. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  833. DW COM_THIRD_K2_END-$ ; length of state section
  834. DB THIRD_SHIFT ; State ID
  835. DW AT_KB ; Keyboard Type
  836. DB -1,-1 ; Buffer entry for error character
  837. ;
  838. DW COM_THIRD_K2_T1_END-$ ; Size of xlat table
  839. DB STANDARD_TABLE ; xlat options:
  840. DB 4 ; number of entries
  841. DB 41,'\' ;
  842. DB 3,'@' ;
  843. DB 26,'[' ;
  844. DB 27,']' ;
  845. COM_THIRD_K2_T1_END: ;
  846. ;
  847. DW 0 ; Last xlat table
  848. COM_THIRD_K2_END: ;
  849. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  850. ; CODE PAGE: Common
  851. ; STATE: Third Shift
  852. ; KEYBOARD TYPES: XT +
  853. ; TABLE TYPE: Translate
  854. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  855. DW COM_THIRD_K3_END-$ ; length of state section
  856. DB THIRD_SHIFT ; State ID
  857. DW XT_KB ; Keyboard Type
  858. DB -1,-1 ; Buffer entry for error character
  859. ;
  860. DW COM_THIRD_K3_T1_END-$ ; Size of xlat table
  861. DB STANDARD_TABLE ; xlat options:
  862. DB 3 ; number of entries
  863. DB 3,'@' ;
  864. DB 26,'[' ;
  865. DB 27,']' ;
  866. COM_THIRD_K3_T1_END: ;
  867. ;
  868. DW 0 ; Last xlat table
  869. COM_THIRD_K3_END: ;
  870. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  871. ; CODE PAGE: Common
  872. ; STATE: Acute Lower Case
  873. ; KEYBOARD TYPES: All
  874. ; TABLE TYPE: Translate
  875. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  876. ; DW COM_AC_LO_END-$ ; length of state section
  877. ; DB ACUTE_LOWER ; State ID
  878. ; DW ANY_KB ; Keyboard Type
  879. ; DB 39,0 ; error character = standalone accent
  880. ; ;
  881. ; DW COM_AC_LO_T1_END-$ ; Size of xlat table
  882. ; DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  883. ; DB 5 ; number of scans
  884. ; DB 18,'�' ; scan code,ASCII - e
  885. ; DB 30,'�' ; scan code,ASCII - a
  886. ; DB 24,'�' ; scan code,ASCII - o
  887. ; DB 22,'�' ; scan code,ASCII - u
  888. ; DB 23,'�' ; scan code,ASCII - i
  889. ;COM_AC_LO_T1_END: ;
  890. ; ;
  891. ; DW 0 ; Size of xlat table - null table
  892. ; ;
  893. ;COM_AC_LO_END: ;
  894. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  895. ;; CODE PAGE: Common
  896. ;; STATE: Acute Upper Case
  897. ;; KEYBOARD TYPES: All
  898. ;; TABLE TYPE: Translate
  899. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  900. ; DW COM_AC_UP_END-$ ; length of state section
  901. ; DB ACUTE_UPPER ; State ID
  902. ; DW ANY_KB ; Keyboard Type
  903. ; DB 39,0 ; error character = standalone accent
  904. ; ;
  905. ; DW COM_AC_UP_T1_END-$ ; Size of xlat table
  906. ; DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  907. ; DB 2 ; number of scans
  908. ; DB 18,'�' ; scan code,ASCII - e
  909. ;COM_AC_UP_T1_END: ;
  910. ; ;
  911. ; DW 0 ; Size of xlat table - null table
  912. ; ;
  913. ;COM_AC_UP_END: ;
  914. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  915. ;; CODE PAGE: Common
  916. ;; STATE: Acute Space Bar
  917. ;;; KEYBOARD TYPES: All
  918. ;; TABLE TYPE: Translate
  919. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  920. ; DW COM_AC_LA_END-$ ; length of state section
  921. ; DB ACUTE_SPACE ; State ID
  922. ;; DW ANY_KB ; Keyboard Type
  923. ; DB 39,0 ; error character = standalone accent
  924. ; ;
  925. ; DW COM_AC_LA_T1_END-$ ; Size of xlat table
  926. ; DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  927. ; DB 1 ; number of scans
  928. ; DB 57,39 ; scan code,ASCII - SPACE
  929. ;COM_AC_LA_T1_END: ;
  930. ; ;
  931. ; DW 0 ; Size of xlat table - null table
  932. ; ;
  933. ;COM_AC_LA_END: ;
  934. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  935. ;; CODE PAGE: Common
  936. ;; STATE: Diaresis Lower Case
  937. ; KEYBOARD TYPES: All
  938. ; TABLE TYPE: Translate
  939. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  940. DW COM_DI_LO_END-$ ; length of state section
  941. DB DIARESIS_LOWER ; State ID
  942. DW ANY_KB ; Keyboard Type
  943. DB 249,0 ; error character = standalone accent
  944. ;
  945. DW COM_DI_LO_T1_END-$ ; Size of xlat table
  946. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  947. DB 6 ; number of scans
  948. DB 18,'�' ; scan code,ASCII - e
  949. DB 30,'�' ; scan code,ASCII - a
  950. DB 24,'�' ; scan code,ASCII - o
  951. DB 22,'�' ; scan code,ASCII - u
  952. DB 23,'�' ; scan code,ASCII - i
  953. DB 21,'�' ; scan code,ASCII - y
  954. COM_DI_LO_T1_END: ;
  955. ;
  956. DW 0 ; Size of xlat table - null table
  957. ;
  958. COM_DI_LO_END: ; length of state section
  959. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  960. ; CODE PAGE: Common
  961. ; STATE: Diaresis Upper Case
  962. ; KEYBOARD TYPES: All
  963. ; TABLE TYPE: Translate
  964. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  965. DW COM_DI_UP_END-$ ; length of state section
  966. DB DIARESIS_UPPER ; State ID
  967. DW ANY_KB ; Keyboard Type
  968. DB 249,0 ; error character = standalone accent
  969. ;
  970. DW COM_DI_UP_T1_END-$ ; Size of xlat table
  971. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  972. DB 3 ; number of scans
  973. DB 30,'�' ; scan code,ASCII - a
  974. DB 24,'�' ; scan code,ASCII - o
  975. DB 22,'�' ; scan code,ASCII - u
  976. COM_DI_UP_T1_END: ;
  977. ;
  978. DW 0 ; Size of xlat table - null table
  979. ;
  980. COM_DI_UP_END: ; length of state section
  981. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  982. ; CODE PAGE: Common
  983. ; STATE: Grave Lower
  984. ; KEYBOARD TYPES: All
  985. ; TABLE TYPE: Translate
  986. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  987. DW COM_GR_LO_END-$ ; length of state section
  988. DB GRAVE_LOWER ; State ID
  989. DW ANY_KB ; Keyboard Type
  990. DB 96,0 ; error character = standalone accent
  991. ;
  992. DW COM_GR_LO_T1_END-$ ; Size of xlat table
  993. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  994. DB 5 ; number of scans
  995. DB 18,'�' ; scan code,ASCII - e
  996. DB 30,'�' ; scan code,ASCII - a
  997. DB 24,'�' ; scan code,ASCII - o
  998. DB 22,'�' ; scan code,ASCII - u
  999. DB 23,'�' ; scan code,ASCII - i
  1000. COM_GR_LO_T1_END: ;
  1001. ;
  1002. DW 0 ; Size of xlat table - null table
  1003. ;
  1004. COM_GR_LO_END: ; length of state section
  1005. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1006. ; CODE PAGE: Common
  1007. ; STATE: Grave Space Bar
  1008. ; KEYBOARD TYPES: All
  1009. ; TABLE TYPE: Translate
  1010. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1011. DW COM_GR_LA_END-$ ; length of state section
  1012. DB GRAVE_SPACE ; State ID
  1013. DW ANY_KB ; Keyboard Type
  1014. DB 96,0 ; error character = standalone accent
  1015. ;
  1016. DW COM_GR_LA_T1_END-$ ; Size of xlat table
  1017. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1018. DB 1 ; number of scans
  1019. DB 57,96 ; STANDALONE GRAVE
  1020. COM_GR_LA_T1_END: ;
  1021. ;
  1022. DW 0 ; Size of xlat table - null table
  1023. ;
  1024. COM_GR_LA_END: ; length of state section
  1025. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1026. ; CODE PAGE: Common
  1027. ; STATE: Circumflex Lower
  1028. ; KEYBOARD TYPES: All
  1029. ; TABLE TYPE: Translate
  1030. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1031. DW COM_CI_LO_END-$ ; length of state section
  1032. DB CIRCUMFLEX_LOWER ; State ID
  1033. DW ANY_KB ; Keyboard Type
  1034. DB 94,0 ; error character = standalone accent
  1035. ;
  1036. DW COM_CI_LO_T1_END-$ ; Size of xlat table
  1037. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1038. DB 5 ; number of scans
  1039. DB 18,'�' ; scan code,ASCII - e
  1040. DB 30,'�' ; scan code,ASCII - a
  1041. DB 24,'�' ; scan code,ASCII - o
  1042. DB 22,'�' ; scan code,ASCII - u
  1043. DB 23,'�' ; scan code,ASCII - i
  1044. COM_CI_LO_T1_END: ;
  1045. ;
  1046. DW 0 ;
  1047. ;
  1048. COM_CI_LO_END: ;
  1049. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1050. ; CODE PAGE: Common
  1051. ; STATE: Circumflex Space Bar
  1052. ; KEYBOARD TYPES: All
  1053. ; TABLE TYPE: Translate
  1054. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1055. DW COM_CI_LA_END-$ ; length of state section
  1056. DB CIRCUMFLEX_SPACE ; State ID
  1057. DW ANY_KB ; Keyboard Type
  1058. DB 94,0 ; error character = standalone accent
  1059. ;
  1060. DW COM_CI_LA_T1_END-$ ; Size of xlat table
  1061. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1062. DB 1 ; number of scans
  1063. DB 57,94 ; STANDALONE CIRCUMFLEX
  1064. COM_CI_LA_T1_END: ;
  1065. ;
  1066. DW 0 ; Size of xlat table - null table
  1067. ;
  1068. COM_CI_LA_END: ; length of state section
  1069. ;
  1070. DW 0 ; Last State
  1071. COMMON_XLAT_END: ;
  1072. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1073. ;
  1074. ; SP Specific Translate Section for 437
  1075. ; 437 IS COMPLETELY COVERED BY THE COMMON TABLE.
  1076. ;
  1077. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1078. PUBLIC LA_437_XLAT ;
  1079. LA_437_XLAT: ;
  1080. ;
  1081. DW CP437_XLAT_END-$ ; length of section
  1082. DW 437 ;
  1083. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1084. ; CODE PAGE: Specific 437
  1085. ; STATE: Acute Lower Case
  1086. ; KEYBOARD TYPES: All
  1087. ; TABLE TYPE: Translate
  1088. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1089. DW CP437_AC_LO_END-$ ; length of state section
  1090. DB ACUTE_LOWER ; State ID
  1091. DW ANY_KB ; Keyboard Type
  1092. DB 39,0 ; error character = standalone accent
  1093. ;
  1094. DW CP437_AC_LO_T1_END-$ ; Size of xlat table
  1095. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1096. DB 5 ; number of scans
  1097. DB 18,'�' ; scan code,ASCII - e
  1098. DB 30,'�' ; scan code,ASCII - a
  1099. DB 24,'�' ; scan code,ASCII - o
  1100. DB 22,'�' ; scan code,ASCII - u
  1101. DB 23,'�' ; scan code,ASCII - i
  1102. CP437_AC_LO_T1_END: ;
  1103. ;
  1104. DW 0 ; Size of xlat table - null table
  1105. ;
  1106. CP437_AC_LO_END: ;
  1107. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1108. ; CODE PAGE: 437
  1109. ; STATE: Acute Upper Case
  1110. ; KEYBOARD TYPES: All
  1111. ; TABLE TYPE: Translate
  1112. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1113. DW CP437_AC_UP_END-$ ; length of state section
  1114. DB ACUTE_UPPER ; State ID
  1115. DW ANY_KB ; Keyboard Type
  1116. DB 39,0 ; error character = standalone accent
  1117. ;
  1118. DW CP437_AC_UP_T1_END-$ ; Size of xlat table
  1119. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1120. DB 1 ; number of scans
  1121. DB 18,'�' ; scan code,ASCII - e
  1122. CP437_AC_UP_T1_END: ;
  1123. ;
  1124. DW 0 ; Size of xlat table - null table
  1125. ;
  1126. CP437_AC_UP_END: ;
  1127. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1128. ; CODE PAGE: 437
  1129. ; STATE: Acute Space Bar
  1130. ; KEYBOARD TYPES: All
  1131. ; TABLE TYPE: Translate
  1132. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1133. DW CP437_AC_LA_END-$ ; length of state section
  1134. DB ACUTE_SPACE ; State ID
  1135. DW ANY_KB ; Keyboard Type
  1136. DB 39,0 ; error character = standalone accent
  1137. ;
  1138. DW CP437_AC_LA_T1_END-$ ; Size of xlat table
  1139. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1140. DB 1 ; number of scans
  1141. DB 57,39 ; scan code,ASCII - SPACE
  1142. CP437_AC_LA_T1_END: ;
  1143. ;
  1144. DW 0 ; Size of xlat table - null table
  1145. ;
  1146. CP437_AC_LA_END: ;
  1147. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1148. DW 0 ; LAST STATE
  1149. ;
  1150. CP437_XLAT_END: ;
  1151. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1152. ;
  1153. ; SP Specific Translate Section for 850
  1154. ;
  1155. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1156. PUBLIC LA_850_XLAT ;
  1157. LA_850_XLAT: ;
  1158. ;
  1159. DW CP850_XLAT_END-$ ; length of section
  1160. DW 850 ;
  1161. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1162. ; CODE PAGE: Specific 850
  1163. ; STATE: Acute Lower Case
  1164. ; KEYBOARD TYPES: All
  1165. ; TABLE TYPE: Translate
  1166. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1167. DW CP850_AC_LO_END-$ ; length of state section
  1168. DB ACUTE_LOWER ; State ID
  1169. DW ANY_KB ; Keyboard Type
  1170. DB 0EFH,0 ; error character = standalone accent
  1171. ;
  1172. DW CP850_AC_LO_T1_END-$ ; Size of xlat table
  1173. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1174. DB 5 ; number of scans
  1175. DB 18,'�' ; scan code,ASCII - e
  1176. DB 30,'�' ; scan code,ASCII - a
  1177. DB 24,'�' ; scan code,ASCII - o
  1178. DB 22,'�' ; scan code,ASCII - u
  1179. DB 23,'�' ; scan code,ASCII - i
  1180. ; DB 21,0ECH add in later date ; y acute
  1181. CP850_AC_LO_T1_END: ;
  1182. ;
  1183. DW 0 ; Size of xlat table - null table
  1184. ;
  1185. CP850_AC_LO_END: ;
  1186. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1187. ; CODE PAGE: 850
  1188. ; STATE: Acute Upper Case
  1189. ; KEYBOARD TYPES: All
  1190. ; TABLE TYPE: Translate
  1191. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1192. DW CP850_AC_UP_END-$ ; length of state section
  1193. DB ACUTE_UPPER ; State ID
  1194. DW ANY_KB ; Keyboard Type
  1195. DB 0EFH,0 ; error character = standalone accent
  1196. ;
  1197. DW CP850_AC_UP_T1_END-$ ; Size of xlat table
  1198. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1199. DB 5 ; number of scans
  1200. DB 18,'�' ; scan code,ASCII - e
  1201. DB 30,0B5H ; A acute
  1202. DB 23,0D6H ; I acute
  1203. DB 24,0E0H ; O acute
  1204. DB 22,0E9H ; U acute
  1205. ; DB 21,0EDH add in later date ; Y acute
  1206. CP850_AC_UP_T1_END: ;
  1207. ;
  1208. DW 0 ; Size of xlat table - null table
  1209. ;
  1210. CP850_AC_UP_END: ;
  1211. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1212. ; CODE PAGE: 850
  1213. ; STATE: Acute Space Bar
  1214. ; KEYBOARD TYPES: All
  1215. ; TABLE TYPE: Translate
  1216. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1217. DW CP850_AC_LA_END-$ ; length of state section
  1218. DB ACUTE_SPACE ; State ID
  1219. DW ANY_KB ; Keyboard Type
  1220. DB 0EFH,0 ; error character = standalone accent
  1221. ;
  1222. DW CP850_AC_LA_T1_END-$ ; Size of xlat table
  1223. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1224. DB 1 ; number of scans
  1225. DB 57,0EFH ; scan code,ASCII - SPACE
  1226. CP850_AC_LA_T1_END: ;
  1227. ;
  1228. DW 0 ; Size of xlat table - null table
  1229. ;
  1230. CP850_AC_LA_END: ;
  1231. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1232. ; CODE PAGE: 850
  1233. ; STATE: Diaresis Upper
  1234. ; KEYBOARD TYPES: All
  1235. ; TABLE TYPE: Translate
  1236. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1237. DW CP850_DI_UP_END-$ ; length of state section
  1238. DB DIARESIS_UPPER ; State ID
  1239. DW ANY_KB ; Keyboard Type
  1240. DB 249,0 ; error character = standalone accent
  1241. ;
  1242. DW CP850_DI_UP_T1_END-$ ; Size of xlat table
  1243. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1244. DB 2 ; number of scans
  1245. DB 18,0D3H ; E diaeresis
  1246. DB 23,0D8H ; I diaeresis
  1247. CP850_DI_UP_T1_END: ;
  1248. ;
  1249. DW 0 ; Size of xlat table - null table
  1250. ;
  1251. CP850_DI_UP_END: ; length of state section
  1252. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1253. ; CODE PAGE: 850
  1254. ; STATE: Diaresis Space Bar
  1255. ; KEYBOARD TYPES: All
  1256. ; TABLE TYPE: Translate
  1257. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1258. DW CP850_DI_LA_END-$ ; length of state section
  1259. DB DIARESIS_SPACE ; State ID
  1260. DW ANY_KB ; Keyboard Type
  1261. DB 249,0 ; error character = standalone accent
  1262. ;
  1263. DW CP850_DI_LA_T1_END-$ ; Size of xlat table
  1264. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1265. DB 1 ; number of scans
  1266. DB 57,249 ; error character = standalone accent
  1267. CP850_DI_LA_T1_END: ;
  1268. ;
  1269. DW 0 ; Size of xlat table - null table
  1270. CP850_DI_LA_END: ; length of state section
  1271. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1272. ; CODE PAGE: 850
  1273. ; STATE: Grave Upper
  1274. ; KEYBOARD TYPES: All
  1275. ; TABLE TYPE: Translate
  1276. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1277. DW CP850_GR_UP_END-$ ; length of state section
  1278. DB GRAVE_UPPER ; State ID
  1279. DW ANY_KB ; Keyboard Type
  1280. DB 96,0 ; error character = standalone accent
  1281. ;
  1282. DW CP850_GR_UP_T1_END-$ ; Size of xlat table
  1283. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1284. DB 5 ; number of scans
  1285. DB 30,0B7H ; A grave
  1286. DB 18,0D4H ; E grave
  1287. DB 23,0DEH ; I grave
  1288. DB 24,0E3H ; O grave
  1289. DB 22,0EBH ; U grave
  1290. CP850_GR_UP_T1_END: ;
  1291. ;
  1292. DW 0 ; Size of xlat table - null table
  1293. ;
  1294. CP850_GR_UP_END: ; length of state section
  1295. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1296. ; CODE PAGE: 850
  1297. ; STATE: Circumflex Upper
  1298. ; KEYBOARD TYPES: All
  1299. ; TABLE TYPE: Translate
  1300. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1301. DW CP850_CI_UP_END-$ ; length of state section
  1302. DB CIRCUMFLEX_UPPER ; State ID
  1303. DW ANY_KB ; Keyboard Type
  1304. DB 94,0 ; error character = standalone accent
  1305. ;
  1306. DW CP850_CI_UP_T1_END-$ ; Size of xlat table
  1307. DB STANDARD_TABLE+ZERO_SCAN ; xlat options:
  1308. DB 5 ; number of scans
  1309. DB 30,0B6H ; A circumflex
  1310. DB 18,0D2H ; E circumflex
  1311. DB 23,0D7H ; I circumflex
  1312. DB 24,0E2H ; O circumflex
  1313. DB 22,0EAH ; U circumflex
  1314. CP850_CI_UP_T1_END: ;
  1315. ;
  1316. DW 0 ; Size of xlat table - null table
  1317. ;
  1318. CP850_CI_UP_END: ; length of state section
  1319. ;
  1320. DW 0 ; LAST STATE
  1321. CP850_XLAT_END: ;
  1322. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1323. ;
  1324. ;
  1325. ;
  1326. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1327. CODE ENDS ;
  1328. END ;
  1329.