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.

1686 lines
57 KiB

  1. PAGE ,132
  2. ; * IBM CONFIDENTIAL * Jan 9 1990 *
  3. TITLE PC DOS 3.3 Keyboard Definition File
  4. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  5. ;; PC DOS 3.3 - NLS Support - Keyboard Definition File
  6. ;; (c) Copyright IBM Corp 1986,1987
  7. ;;
  8. ;; This file contains the keyboard tables for Finnish
  9. ;;
  10. ;; Linkage Instructions:
  11. ;; Refer to KDF.ASM.
  12. ;;
  13. ;;
  14. ;; Author: BILL DEVLIN - IBM Canada Laboratory - May 1986
  15. ;; Updated: MIKE SAUNDERS - WSD IBM Hursley Laboratory - August 1986
  16. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  17. ;;
  18. INCLUDE KEYBSHAR.INC ;;
  19. INCLUDE POSTEQU.INC ;;
  20. INCLUDE KEYBMAC.INC ;;
  21. ;;
  22. PUBLIC SU_LOGIC ;;
  23. PUBLIC SU_437_XLAT ;;
  24. PUBLIC SU_850_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. ;; SU State Logic
  39. ;;***************************************
  40. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  41. ;;
  42. ;;
  43. SU_LOGIC:
  44. DW LOGIC_END-$ ;; length
  45. ;;
  46. DW 0 ;; special features
  47. ;;
  48. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE
  49. ;;
  50. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  51. ;; OPTIONS: If we find a scan match in
  52. ;; an XLATT or SET_FLAG operation then
  53. ;; exit from INT 9.
  54. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  55. ;;
  56. OPTION EXIT_IF_FOUND ;;
  57. ;;
  58. ;;
  59. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  60. ;; Dead key definitions must come before
  61. ;; dead key translations to handle
  62. ;; dead key + dead key.
  63. ;; ***BD - THIS SECTION HAS BEEN UPDATED
  64. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  65. ;;
  66. IFF EITHER_CTL,NOT ;;
  67. IFF EITHER_ALT,NOT ;;
  68. IFF EITHER_SHIFT ;;
  69. SET_FLAG DEAD_UPPER ;;
  70. ELSEF ;;
  71. SET_FLAG DEAD_LOWER ;;
  72. ENDIFF ;;
  73. ELSEF ;;
  74. IFKBD G_KB+P12_KB ;; For ENHANCED keyboard some
  75. ANDF R_ALT_SHIFT ;; dead keys are on third shift
  76. ANDF EITHER_SHIFT,NOT ;; which is accessed via the altgr key
  77. SET_FLAG DEAD_THIRD ;;
  78. ENDIFF ;;
  79. ENDIFF ;;
  80. ENDIFF ;;
  81. ;;
  82. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  83. ;; ACUTE ACCENT TRANSLATIONS
  84. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  85. ;;
  86. ACUTE_PROC: ;;
  87. ;;
  88. IFF ACUTE,NOT ;;
  89. GOTO DIARESIS_PROC ;;
  90. ENDIFF ;;
  91. ;;
  92. RESET_NLS ;;
  93. IFF R_ALT_SHIFT,NOT ;;
  94. XLATT ACUTE_SPACE ;;
  95. ENDIFF ;;
  96. IFF EITHER_CTL,NOT ;;
  97. ANDF EITHER_ALT,NOT ;;
  98. IFF EITHER_SHIFT ;;
  99. IFF CAPS_STATE ;;
  100. XLATT ACUTE_LOWER ;;
  101. ELSEF ;;
  102. XLATT ACUTE_UPPER ;;
  103. ENDIFF ;;
  104. ELSEF ;;
  105. IFF CAPS_STATE ;;
  106. XLATT ACUTE_UPPER ;;
  107. ELSEF ;;
  108. XLATT ACUTE_LOWER ;;
  109. ENDIFF ;;
  110. ENDIFF ;;
  111. ENDIFF ;;
  112. ;;
  113. INVALID_ACUTE: ;;
  114. PUT_ERROR_CHAR ACUTE_LOWER ;; If we get here then either the XLATT
  115. BEEP ;; failed or we are ina bad shift state.
  116. GOTO NON_DEAD ;; Either is invalid so BEEP and fall
  117. ;; through to generate the second char.
  118. ;; Note that the dead key flag will be
  119. ;; reset before we get here.
  120. ;;
  121. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  122. ;; DIARESIS ACCENT TRANSLATIONS
  123. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  124. ;;
  125. DIARESIS_PROC: ;;
  126. ;;
  127. IFF DIARESIS,NOT ;;
  128. GOTO GRAVE_PROC ;;
  129. ENDIFF ;;
  130. ;;
  131. RESET_NLS ;;
  132. IFF R_ALT_SHIFT,NOT ;;
  133. XLATT DIARESIS_SPACE ;; exist for 437 so beep for
  134. ENDIFF ;;
  135. IFF EITHER_CTL,NOT ;;
  136. ANDF EITHER_ALT,NOT ;;
  137. IFF EITHER_SHIFT ;;
  138. IFF CAPS_STATE ;;
  139. XLATT DIARESIS_LOWER ;;
  140. ELSEF ;;
  141. XLATT DIARESIS_UPPER ;;
  142. ENDIFF ;;
  143. ELSEF ;;
  144. IFF CAPS_STATE ;;
  145. XLATT DIARESIS_UPPER ;;
  146. ELSEF ;;
  147. XLATT DIARESIS_LOWER ;;
  148. ENDIFF ;;
  149. ENDIFF ;;
  150. ENDIFF ;;
  151. ;;
  152. INVALID_DIARESIS: ;;
  153. PUT_ERROR_CHAR DIARESIS_LOWER ;; standalone accent
  154. BEEP ;; Invalid dead key combo.
  155. GOTO NON_DEAD ;;
  156. ;;
  157. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  158. ;; GRAVE ACCENT TRANSLATIONS
  159. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  160. ;;
  161. GRAVE_PROC: ;;
  162. ;;
  163. IFF GRAVE,NOT ;;
  164. GOTO TILDE_PROC ;;
  165. ENDIFF ;;
  166. ;;
  167. RESET_NLS ;;
  168. IFF R_ALT_SHIFT,NOT ;;
  169. XLATT GRAVE_SPACE ;;
  170. ENDIFF ;;
  171. IFF EITHER_CTL,NOT ;;
  172. ANDF EITHER_ALT,NOT ;;
  173. IFF EITHER_SHIFT ;;
  174. IFF CAPS_STATE ;;
  175. XLATT GRAVE_LOWER ;;
  176. ELSEF ;;
  177. XLATT GRAVE_UPPER ;;
  178. ENDIFF ;;
  179. ELSEF ;;
  180. IFF CAPS_STATE,NOT ;;
  181. XLATT GRAVE_LOWER ;;
  182. ELSEF ;;
  183. XLATT GRAVE_UPPER ;;
  184. ENDIFF ;;
  185. ENDIFF ;;
  186. ENDIFF ;;
  187. ;;
  188. INVALID_GRAVE: ;;
  189. PUT_ERROR_CHAR GRAVE_LOWER ;; standalone accent
  190. BEEP ;; Invalid dead key combo.
  191. GOTO NON_DEAD ;;
  192. ;;
  193. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  194. ;; TILDE ACCENT TRANSLATIONS
  195. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  196. TILDE_PROC: ;;
  197. ;;
  198. IFF TILDE,NOT ;;
  199. GOTO CIRCUMFLEX_PROC ;;
  200. ENDIFF ;;
  201. ;;
  202. RESET_NLS ;;
  203. IFF R_ALT_SHIFT,NOT ;;
  204. XLATT TILDE_SPACE ;;
  205. ENDIFF ;;
  206. IFF EITHER_CTL,NOT ;;
  207. ANDF EITHER_ALT,NOT ;;
  208. IFF EITHER_SHIFT ;;
  209. IFF CAPS_STATE ;;
  210. XLATT TILDE_LOWER ;;
  211. ELSEF ;;
  212. XLATT TILDE_UPPER ;;
  213. ENDIFF ;;
  214. ELSEF ;;
  215. IFF CAPS_STATE ;;
  216. XLATT TILDE_UPPER ;;
  217. ELSEF ;;
  218. XLATT TILDE_LOWER ;;
  219. ENDIFF ;;
  220. ENDIFF ;;
  221. ENDIFF ;;
  222. ;;
  223. INVALID_TILDE: ;;
  224. PUT_ERROR_CHAR TILDE_LOWER ;; standalone accent
  225. BEEP ;; Invalid dead key combo.
  226. GOTO NON_DEAD ;;
  227. ;;
  228. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  229. ;; CIRCUMFLEX ACCENT TRANSLATIONS
  230. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  231. ;;
  232. CIRCUMFLEX_PROC: ;;
  233. ;;
  234. IFF CIRCUMFLEX,NOT ;;
  235. GOTO NON_DEAD ;;
  236. ENDIFF ;;
  237. ;;
  238. RESET_NLS ;;
  239. IFF R_ALT_SHIFT,NOT ;;
  240. XLATT CIRCUMFLEX_SPACE ;;
  241. ENDIFF ;;
  242. IFF EITHER_CTL,NOT ;;
  243. ANDF EITHER_ALT,NOT ;;
  244. IFF EITHER_SHIFT ;;
  245. IFF CAPS_STATE ;;
  246. XLATT CIRCUMFLEX_LOWER ;;
  247. ELSEF ;;
  248. XLATT CIRCUMFLEX_UPPER ;;
  249. ENDIFF ;;
  250. ELSEF ;;
  251. IFF CAPS_STATE,NOT ;;
  252. XLATT CIRCUMFLEX_LOWER ;;
  253. ELSEF ;;
  254. XLATT CIRCUMFLEX_UPPER ;;
  255. ENDIFF ;;
  256. ENDIFF ;;
  257. ENDIFF ;;
  258. ;;
  259. INVALID_CIRCUMFLEX: ;;
  260. PUT_ERROR_CHAR CIRCUMFLEX_LOWER ;; standalone accent
  261. BEEP ;; Invalid dead key combo.
  262. GOTO NON_DEAD ;;
  263. ;;
  264. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  265. ;; Upper, lower and third shifts
  266. ;; ***BD - NON_DEAD THRU LOGIC_END IS UPDATED
  267. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  268. NON_DEAD: ;;
  269. ;;ADDED FOR DIVIDE SIGN ;;
  270. IFKBD G_KB ;; Avoid accidentally translating
  271. ANDF LC_E0 ;; the "/" on the numeric pad of the
  272. IFF EITHER_CTL,NOT ;;
  273. ANDF EITHER_ALT,NOT ;;
  274. XLATT DIVIDE_SIGN ;;
  275. ENDIFF ;;
  276. EXIT_STATE_LOGIC ;;
  277. ENDIFF ;;
  278. ;;
  279. IFF EITHER_CTL,NOT ;; Lower and upper case. Alphabetic
  280. IFF EITHER_ALT,NOT ;; keys are affected by CAPS LOCK.
  281. IFF EITHER_SHIFT ;; Numeric keys are not.
  282. ;;***BD ADDED FOR NUMERIC PAD
  283. IFF NUM_STATE,NOT ;;
  284. XLATT NUMERIC_PAD ;;
  285. ENDIFF ;;
  286. ;;***BD END OF ADDITION
  287. XLATT NON_ALPHA_UPPER ;;
  288. IFF CAPS_STATE ;;
  289. XLATT ALPHA_LOWER ;;
  290. ELSEF ;;
  291. XLATT ALPHA_UPPER ;;
  292. ENDIFF ;;
  293. ELSEF ;;
  294. ;;***BD ADDED FOR NUMERIC PAD
  295. IFF NUM_STATE ;;
  296. XLATT NUMERIC_PAD ;;
  297. ENDIFF ;;
  298. ;;***BD END OF ADDITION
  299. XLATT NON_ALPHA_LOWER ;;
  300. IFF CAPS_STATE ;;
  301. XLATT ALPHA_UPPER ;;
  302. ELSEF ;;
  303. XLATT ALPHA_LOWER ;;
  304. ENDIFF ;;
  305. ENDIFF ;; Third and Fourth shifts
  306. ELSEF ;; ctl off, alt on at this point
  307. IFKBD XT_KB+AT_KB ;; XT, AT, keyboards. Nordics
  308. IFF EITHER_SHIFT ;; only.
  309. XLATT FOURTH_SHIFT ;; ALT + shift
  310. ELSEF ;;
  311. XLATT THIRD_SHIFT ;; ALT
  312. ENDIFF ;;
  313. ELSEF ;; ENHANCED keyboard
  314. IFF R_ALT_SHIFT ;; ALTGr
  315. ANDF EITHER_SHIFT,NOT ;;
  316. XLATT THIRD_SHIFT ;;
  317. ENDIFF ;;
  318. ENDIFF ;;
  319. ENDIFF ;;
  320. ENDIFF ;;
  321. ;**************************************;;
  322. IFF EITHER_SHIFT,NOT ;;
  323. IFKBD XT_KB+AT_KB ;;
  324. IFF EITHER_CTL ;;
  325. ANDF ALT_SHIFT ;;
  326. XLATT ALT_CASE ;;
  327. ENDIFF ;;
  328. ENDIFF ;;
  329. IFKBD G_KB+P12_KB ;;
  330. IFF EITHER_CTL ;;
  331. ANDF ALT_SHIFT ;;
  332. IFF R_ALT_SHIFT,NOT ;;
  333. XLATT ALT_CASE ;;
  334. ENDIFF ;;
  335. ENDIFF ;;
  336. ENDIFF ;;
  337. ENDIFF ;;
  338. ;**************************************;;
  339. IFKBD AT_KB+XT_KB ;;
  340. IFF EITHER_CTL,NOT ;;
  341. IFF ALT_SHIFT ;; ALT - case
  342. XLATT ALT_CASE ;;
  343. ENDIFF ;;
  344. ELSEF ;;
  345. IFF EITHER_ALT,NOT ;; CTRL - case
  346. XLATT CTRL_CASE ;;
  347. ENDIFF ;;
  348. ENDIFF ;;
  349. ENDIFF ;;
  350. ;;
  351. IFKBD G_KB+P12_KB ;;
  352. IFF EITHER_CTL,NOT ;;
  353. IFF ALT_SHIFT ;; ALT - case
  354. ANDF R_ALT_SHIFT,NOT ;;
  355. XLATT ALT_CASE ;;
  356. ENDIFF ;;
  357. ELSEF ;;
  358. IFF EITHER_ALT,NOT ;; CTRL - case
  359. XLATT CTRL_CASE ;;
  360. ENDIFF ;;
  361. ENDIFF ;;
  362. ENDIFF ;;
  363. ;;
  364. EXIT_STATE_LOGIC ;;
  365. ;;
  366. LOGIC_END: ;;
  367. ;;
  368. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  369. ;;**********************************************************************
  370. ;; SU Common Translate Section
  371. ;; This section contains translations for the lower 128 characters
  372. ;; only since these will never change from code page to code page.
  373. ;; Some common Characters are included from 128 - 165 where appropriate.
  374. ;; In addition the dead key "Set Flag" tables are here since the
  375. ;; dead keys are on the same keytops for all code pages.
  376. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  377. ;;
  378. PUBLIC SU_COMMON_XLAT ;;
  379. SU_COMMON_XLAT: ;;
  380. ;;
  381. DW COMMON_XLAT_END-$ ;; length of section
  382. DW -1 ;; code page
  383. ;;
  384. ;;
  385. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  386. ;; CODE PAGE: Common
  387. ;; STATE: Lower Shift Dead Key
  388. ;; KEYBOARD TYPES: All
  389. ;; TABLE TYPE: Flag Table
  390. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  391. ;;
  392. DW COM_DK_LO_END-$ ;; length of state section
  393. DB DEAD_LOWER ;; State ID
  394. DW ANY_KB ;; Keyboard Type
  395. DB -1,-1 ;; Buffer entry for error character
  396. ;; Set Flag Table
  397. DW 2 ;; number of entries
  398. DB 13 ;; scan code
  399. FLAG ACUTE ;; flag bit to set
  400. DB 27 ;;
  401. FLAG DIARESIS ;;
  402. ;;
  403. ;;
  404. COM_DK_LO_END: ;;
  405. ;;
  406. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  407. ;; CODE PAGE: Common
  408. ;; STATE: Upper Shift Dead Key
  409. ;; KEYBOARD TYPES: All
  410. ;; TABLE TYPE: Flag Table
  411. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  412. ;;
  413. DW COM_DK_UP_END-$ ;; length of state section
  414. DB DEAD_UPPER ;; State ID
  415. DW ANY_KB ;; Keyboard Type
  416. DB -1,-1 ;; Buffer entry for error character
  417. ;; Set Flag Table
  418. DW 2 ;; number of entries
  419. DB 13 ;; scan code
  420. FLAG GRAVE ;; flag bit to set
  421. DB 27 ;;
  422. FLAG CIRCUMFLEX ;;
  423. ;;
  424. COM_DK_UP_END: ;;
  425. ;;
  426. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  427. ;; CODE PAGE: Common
  428. ;; STATE: Third Shift Dead Key
  429. ;; KEYBOARD TYPES: G, P12
  430. ;; TABLE TYPE: Flag Table
  431. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  432. ;;
  433. DW COM_DK_TH_END-$ ;; length of state section
  434. DB DEAD_THIRD ;; State ID
  435. DW G_KB+P12_KB ;; Keyboard Type
  436. DB -1,-1 ;; Buffer entry for error character
  437. ;; Set Flag Table
  438. DW 1 ;; number of entries
  439. DB 27 ;; scan code
  440. FLAG TILDE ;; flag bit to set
  441. ;;
  442. COM_DK_TH_END: ;;
  443. ;;
  444. ;;
  445. ;;
  446. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  447. ;;******************************
  448. ;;***BD - ADDED FOR NUMERIC PAD (DECIMAL SEPERATOR)
  449. ;;******************************
  450. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  451. ;; CODE PAGE: Common
  452. ;; STATE: Numeric Key Pad
  453. ;; KEYBOARD TYPES: All
  454. ;; TABLE TYPE: Translate
  455. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  456. ;;
  457. DW COM_PAD_K1_END-$ ;; length of state section
  458. DB NUMERIC_PAD ;; State ID
  459. DW ANY_KB ;; Keyboard Type
  460. DB -1,-1 ;; Buffer entry for error character
  461. ;;
  462. DW COM_PAD_K1_T1_END-$ ;; Size of xlat table
  463. DB STANDARD_TABLE ;; xlat options:
  464. DB 1 ;; number of entries
  465. DB 83,',' ;; decimal seperator = ,
  466. COM_PAD_K1_T1_END: ;;
  467. ;;
  468. DW 0 ;; Size of xlat table - null table
  469. ;;
  470. COM_PAD_K1_END: ;;
  471. ;;
  472. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  473. ;;******************************
  474. ;;***BD - ADDED FOR ALT CASE
  475. ;;******************************
  476. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  477. ;; CODE PAGE: Common
  478. ;; STATE: Alt Case
  479. ;; KEYBOARD TYPES: G, P12
  480. ;; TABLE TYPE: Translate
  481. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  482. ;;
  483. DW COM_ALT_K1_END-$ ;; length of state section
  484. DB ALT_CASE ;; State ID
  485. DW G_KB+P12_KB ;; Keyboard Type
  486. DB -1,-1 ;; Buffer entry for error character
  487. ;;
  488. DW COM_ALT_K1_T1_END-$ ;; Size of xlat table
  489. DB TYPE_2_TAB ;; xlat options:
  490. DB 2 ;; number of entries
  491. DB 12,-1,-1 ;;
  492. DB 53,0,82H ;;
  493. COM_ALT_K1_T1_END: ;;
  494. ;;
  495. DW 0 ;; Size of xlat table - null table
  496. ;;
  497. COM_ALT_K1_END: ;;
  498. ;;
  499. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  500. ;;******************************
  501. ;;***BD - ADDED FOR CTRL CASE
  502. ;;******************************
  503. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  504. ;; CODE PAGE: Common
  505. ;; STATE: Ctrl Case
  506. ;; KEYBOARD TYPES: XT, , AT
  507. ;; TABLE TYPE: Translate
  508. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  509. ;;
  510. DW COM_CTRL_K1_END-$ ;; length of state section
  511. DB CTRL_CASE ;; State ID
  512. DW XT_KB+AT_KB ;; Keyboard Type
  513. DB -1,-1 ;; Buffer entry for error character
  514. ;;
  515. DW COM_CTRL_K1_T1_END-$ ;; Size of xlat table
  516. DB TYPE_2_TAB ;; xlat options:
  517. DB 2 ;; number of entries
  518. DB 12,-1,-1 ;;
  519. DB 53,01FH,35h ;;
  520. COM_CTRL_K1_T1_END: ;;
  521. ;;
  522. DW 0 ;; Size of xlat table - null table
  523. ;;
  524. COM_CTRL_K1_END: ;;
  525. ;;
  526. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  527. ;; CODE PAGE: Common
  528. ;; STATE: Ctrl Case
  529. ;; KEYBOARD TYPES: G, P12
  530. ;; TABLE TYPE: Translate
  531. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  532. ;;
  533. DW COM_CTRL_K2_END-$ ;; length of state section
  534. DB CTRL_CASE ;; State ID
  535. DW G_KB+P12_KB ;; Keyboard Type
  536. DB -1,-1 ;; Buffer entry for error character
  537. ;;
  538. DW COM_CTRL_K2_T1_END-$ ;; Size of xlat table
  539. DB TYPE_2_TAB ;; xlat options:
  540. DB 8 ;; number of entries
  541. DB 9,01BH,09H ;;
  542. DB 10,01DH,0AH ;;
  543. DB 12,-1,-1 ;;
  544. DB 26,-1,-1 ;;
  545. DB 27,-1,-1 ;;
  546. DB 43,-1,-1 ;;
  547. DB 53,01FH,35H ;;
  548. DB 86,01CH,56H ;;
  549. COM_CTRL_K2_T1_END: ;;
  550. ;;
  551. DW 0 ;; Size of xlat table - null table
  552. ;;
  553. COM_CTRL_K2_END: ;;
  554. ;;
  555. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  556. ;; CODE PAGE: Common
  557. ;; STATE: Alpha Lower Case
  558. ;; KEYBOARD TYPES: All
  559. ;; TABLE TYPE: Translate
  560. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  561. ;;
  562. DW COM_AL_LO_END-$ ;; length of state section
  563. DB ALPHA_LOWER ;; State ID
  564. DW ANY_KB ;; Keyboard Type
  565. DB -1,-1 ;; Buffer entry for error character
  566. ;;
  567. DW COM_AL_LO_T1_END-$ ;; Size of xlat table
  568. DB STANDARD_TABLE ;; xlat options:
  569. DB 3 ;; number of entries
  570. DB 26,086H ;; a-overcircle
  571. DB 39,094H ;; o-diaeresis
  572. DB 40,084H ;; a-diaeresis
  573. COM_AL_LO_T1_END: ;;
  574. ;;
  575. DW 0 ;; Size of xlat table - null table
  576. ;;
  577. COM_AL_LO_END: ;;
  578. ;;
  579. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  580. ;; CODE PAGE: Common
  581. ;; STATE: Alpha Upper Case
  582. ;; KEYBOARD TYPES: All
  583. ;; TABLE TYPE: Translate
  584. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  585. ;;
  586. DW COM_AL_UP_END-$ ;; length of state section
  587. DB ALPHA_UPPER ;; State ID
  588. DW ANY_KB ;; Keyboard Type
  589. DB -1,-1 ;; Buffer entry for error character
  590. ;;
  591. DW COM_AL_UP_T1_END-$ ;; Size of xlat table
  592. DB STANDARD_TABLE ;; xlat options:
  593. DB 3 ;; number of entries
  594. DB 26,08FH ;; A-OVERCIRCLE
  595. DB 39,099H ;; A-DIAERESIS
  596. DB 40,08EH ;; O-DIAERESIS
  597. COM_AL_UP_T1_END: ;;
  598. ;;
  599. DW 0 ;; Size of xlat table - null table
  600. ;;
  601. COM_AL_UP_END: ;;
  602. ;;
  603. ;;
  604. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  605. ;; CODE PAGE: Common
  606. ;; STATE: Non-Alpha Lower Case
  607. ;; KEYBOARD TYPES: G + P12
  608. ;; TABLE TYPE: Translate
  609. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  610. ;;
  611. DW COM_NA_LO_K1_END-$ ;; length of state section
  612. DB NON_ALPHA_LOWER ;; State ID
  613. DW G_KB+P12_KB ;; Keyboard Type
  614. DB -1,-1 ;; Buffer entry for error character
  615. ;;
  616. DW COM_NA_LO_K1_T1_END-$ ;; Size of xlat table
  617. DB STANDARD_TABLE ;; xlat options:
  618. DB 4 ;; number of entries
  619. DB 12,"+" ;; + INCLUDED FOR SIMPLIC.
  620. DB 43,"'" ;; '
  621. DB 86,"<" ;; <
  622. DB 53,"-" ;; -
  623. COM_NA_LO_K1_T1_END: ;;
  624. ;;
  625. DW 0 ;; Size of xlat table - null table
  626. ;;
  627. COM_NA_LO_K1_END: ;;
  628. ;;
  629. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  630. ;; CODE PAGE: Common
  631. ;; STATE: Non-Alpha Lower Case
  632. ;; KEYBOARD TYPES: XT +
  633. ;; TABLE TYPE: Translate
  634. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  635. ;;
  636. DW COM_NA_LO_K2_END-$ ;; length of state section
  637. DB NON_ALPHA_LOWER ;; State ID
  638. DW XT_KB ;; Keyboard Type
  639. DB -1,-1 ;; Buffer entry for error character
  640. ;;
  641. DW COM_NA_LO_K2_T1_END-$ ;; Size of xlat table
  642. DB STANDARD_TABLE ;; xlat options:
  643. DB 4 ;; number of entries
  644. DB 12,"+" ;; +
  645. DB 41,"'" ;; '
  646. DB 43,"<" ;; <
  647. DB 53,"-" ;; -
  648. COM_NA_LO_K2_T1_END: ;;
  649. ;;
  650. DW 0 ;; Size of xlat table - null table
  651. ;;
  652. COM_NA_LO_K2_END: ;;
  653. ;;
  654. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  655. ;; CODE PAGE: Common
  656. ;; STATE: Non-Alpha Lower Case
  657. ;; KEYBOARD TYPES: AT
  658. ;; TABLE TYPE: Translate
  659. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  660. ;;
  661. DW COM_NA_LO_K3_END-$ ;; length of state section
  662. DB NON_ALPHA_LOWER ;; State ID
  663. DW AT_KB ;; Keyboard Type
  664. DB -1,-1 ;; Buffer entry for error character
  665. ;;
  666. DW COM_NA_LO_K3_T1_END-$ ;; Size of xlat table
  667. DB STANDARD_TABLE ;; xlat options:
  668. DB 4 ;; number of entries
  669. DB 12,"+" ;; +
  670. DB 41,"<" ;; <
  671. DB 43,"'" ;; '
  672. DB 53,"-" ;; -
  673. COM_NA_LO_K3_T1_END: ;;
  674. ;;
  675. DW 0 ;; Size of xlat table - null table
  676. ;;
  677. COM_NA_LO_K3_END: ;;
  678. ;;
  679. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  680. ;; CODE PAGE: Common
  681. ;; STATE: Non-Alpha Upper Case
  682. ;; KEYBOARD TYPES: G + P12
  683. ;; TABLE TYPE: Translate
  684. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  685. ;;
  686. DW COM_NA_UP_K1_END-$ ;; length of state section
  687. DB NON_ALPHA_UPPER ;; State ID
  688. DW G_KB + P12_KB ;; Keyboard Type
  689. DB -1,-1 ;; Buffer entry for error character
  690. ;;
  691. DW COM_NA_UP_K1_T1_END-$ ;; Size of xlat table
  692. DB STANDARD_TABLE ;; xlat options:
  693. DB 13 ;; number of entries
  694. DB 3,'"' ;;
  695. DB 7,'&' ;;
  696. DB 8,'/' ;;
  697. DB 9,'(' ;;
  698. DB 10,')' ;;
  699. DB 11,'=' ;;
  700. DB 12,'?' ;;
  701. DB 41,'�' ;;
  702. DB 43,'*' ;;
  703. DB 51,';' ;;
  704. DB 52,':' ;;
  705. DB 53,'_' ;;
  706. DB 86,'>' ;;
  707. COM_NA_UP_K1_T1_END: ;;
  708. ;;
  709. DW 0 ;; Size of xlat table - null table
  710. ;;
  711. COM_NA_UP_K1_END: ;;
  712. ;;
  713. ;;
  714. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  715. ;; CODE PAGE: Common
  716. ;; STATE: Non-Alpha Upper Case
  717. ;; KEYBOARD TYPES: XT +
  718. ;; TABLE TYPE: Translate
  719. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  720. ;;
  721. DW COM_NA_UP_K2_END-$ ;; length of state section
  722. DB NON_ALPHA_UPPER ;; State ID
  723. DW XT_KB + _KB ;; Keyboard Type
  724. DB -1,-1 ;; Buffer entry for error character
  725. ;;
  726. DW COM_NA_UP_K2_T1_END-$ ;; Size of xlat table
  727. DB STANDARD_TABLE ;; xlat options:
  728. DB 13 ;; number of entries
  729. DB 3,'"' ;;
  730. DB 4,09CH ;; POUND STERLING
  731. DB 7,'&' ;;
  732. DB 8,'/' ;;
  733. DB 9,'(' ;;
  734. DB 10,')' ;;
  735. DB 11,'=' ;;
  736. DB 12,'?' ;;
  737. DB 41,'*' ;;
  738. DB 43,'>' ;;
  739. DB 51,';' ;;
  740. DB 52,':' ;;
  741. DB 53,'_' ;;
  742. COM_NA_UP_K2_T1_END: ;;
  743. ;;
  744. DW 0 ;; Size of xlat table - null table
  745. ;;
  746. COM_NA_UP_K2_END: ;;
  747. ;;
  748. ;;
  749. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  750. ;; CODE PAGE: Common
  751. ;; STATE: Non-Alpha Upper Case
  752. ;; KEYBOARD TYPES: AT
  753. ;; TABLE TYPE: Translate
  754. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  755. ;;
  756. DW COM_NA_UP_K3_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_K3_T1_END-$ ;; Size of xlat table
  762. DB STANDARD_TABLE ;; xlat options:
  763. DB 13 ;; number of entries
  764. DB 3,'"' ;;
  765. DB 4,09CH ;; POUND STERLING
  766. DB 7,'&' ;;
  767. DB 8,'/' ;;
  768. DB 9,'(' ;;
  769. DB 10,')' ;;
  770. DB 11,'=' ;;
  771. DB 12,'?' ;;
  772. DB 41,'>' ;;
  773. DB 43,'*' ;;
  774. DB 51,';' ;;
  775. DB 52,':' ;;
  776. DB 53,'_' ;;
  777. COM_NA_UP_K3_T1_END: ;;
  778. ;;
  779. DW 0 ;; Size of xlat table - null table
  780. ;;
  781. COM_NA_UP_K3_END: ;;
  782. ;;
  783. ;;
  784. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  785. ;; CODE PAGE: Common
  786. ;; STATE: Third Shift
  787. ;; KEYBOARD TYPES: G, P12
  788. ;; TABLE TYPE: Translate
  789. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  790. ;;
  791. DW COM_THIRD_END-$ ;; length of state section
  792. DB THIRD_SHIFT ;; State ID
  793. DW G_KB+P12_KB ;; Keyboard Type FERRARI
  794. DB -1,-1 ;; Buffer entry for error character
  795. ;;
  796. DW COM_THIRD_T1_END-$ ;; Size of xlat table
  797. DB STANDARD_TABLE ;; xlat options:
  798. DB 9 ;; number of entries
  799. DB 3,'@' ;;
  800. DB 4,09CH ;; �
  801. DB 5,'$' ;;
  802. DB 8,'{' ;;
  803. DB 9,'[' ;;
  804. DB 10,']' ;;
  805. DB 11,'}' ;;
  806. DB 12,'\' ;; Broken Vertical Line
  807. DB 86,'|' ;;
  808. COM_THIRD_T1_END: ;;
  809. ;;
  810. DW 0 ;; Last xlat table
  811. COM_THIRD_END: ;;
  812. ;;
  813. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  814. ;; CODE PAGE: Common
  815. ;; STATE: Third Shift (ALTERNATE)
  816. ;; KEYBOARD TYPES: XT,
  817. ;; TABLE TYPE: Translate
  818. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  819. ;;
  820. DW COM_THIRD_K1_END-$ ;; length of state section
  821. DB THIRD_SHIFT ;; State ID
  822. DW XT_KB ;; Keyboard Type
  823. DB -1,-1 ;; Buffer entry for error character
  824. ;;
  825. DW COM_THIRD_K1_T1_END-$ ;; Size of xlat table
  826. DB TYPE_2_TAB ;; xlat options:
  827. DB 9 ;; number of entries
  828. DB 12,'-','-' ;;
  829. DB 13,'=','=' ;;
  830. DB 26,'[','[' ;;
  831. DB 27,']',']' ;;
  832. DB 39,';',';' ;;
  833. DB 40,027H,027H ;;
  834. DB 41,060H,060H ;;
  835. DB 43,'\','\' ;;
  836. DB 53,'/','/' ;;
  837. COM_THIRD_K1_T1_END: ;;
  838. ;;
  839. DW 0 ;; Last xlat table
  840. COM_THIRD_K1_END: ;;
  841. ;;
  842. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  843. ;; CODE PAGE: Common
  844. ;; STATE: Third Shift (ALTERNATE)
  845. ;; KEYBOARD TYPES: AT
  846. ;; TABLE TYPE: Translate
  847. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  848. ;;
  849. DW COM_THIRD_K2_END-$ ;; length of state section
  850. DB THIRD_SHIFT ;; State ID
  851. DW AT_KB ;; Keyboard Type
  852. DB -1,-1 ;; Buffer entry for error character
  853. ;;
  854. DW COM_THIRD_K2_T1_END-$ ;; Size of xlat table
  855. DB TYPE_2_TAB ;; xlat options:
  856. DB 9 ;; number of entries
  857. DB 12,'-','-' ;;
  858. DB 13,'=','=' ;;
  859. DB 26,'[','[' ;;
  860. DB 27,']',']' ;;
  861. DB 39,';',';' ;;
  862. DB 40,027H,027H ;;
  863. DB 41,'\','\' ;;
  864. DB 43,060H,060H ;;
  865. DB 53,'/','/' ;;
  866. COM_THIRD_K2_T1_END: ;;
  867. ;;
  868. DW 0 ;; Last xlat table
  869. COM_THIRD_K2_END: ;;
  870. ;;
  871. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  872. ;; CODE PAGE: Common
  873. ;; STATE: Fourth Shift (ALTERNATE+SHIFT)
  874. ;; KEYBOARD TYPES: XT,
  875. ;; TABLE TYPE: Translate
  876. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  877. ;;
  878. DW COM_FOURTH_END-$ ;; length of state section
  879. DB FOURTH_SHIFT ;; State ID
  880. DW XT_KB ;; Keyboard Type
  881. DB -1,-1 ;; Buffer entry for error character
  882. ;;
  883. DW COM_FOURTH_T1_END-$ ;; Size of xlat table
  884. DB TYPE_2_TAB ;; xlat options:
  885. DB 18 ;; number of entries
  886. DB 3,'@','@' ;;
  887. DB 4,'#','#' ;;
  888. DB 7,'^','^' ;;
  889. DB 8,'&','&' ;;
  890. DB 9,'*','*' ;;
  891. DB 10,'(','(' ;;
  892. DB 11,')',')' ;;
  893. DB 12,'_','_' ;;
  894. DB 13,'+','+' ;;
  895. DB 26,'{','{' ;;
  896. DB 27,'}','}' ;;
  897. DB 39,':',':' ;;
  898. DB 40,'"','"' ;;
  899. DB 41,'~','~' ;;
  900. DB 43,'|','|' ;;
  901. DB 51,'<','<' ;;
  902. DB 52,'>','>' ;;
  903. DB 53,'?','?' ;;
  904. COM_FOURTH_T1_END: ;;
  905. ;;
  906. DW 0 ;; Last xlat table
  907. COM_FOURTH_END: ;;
  908. ;;
  909. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  910. ;; CODE PAGE: Common
  911. ;; STATE: Fourth Shift (ALTERNATE+SHIFT)
  912. ;; KEYBOARD TYPES: AT
  913. ;; TABLE TYPE: Translate
  914. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  915. ;;
  916. DW COM_FOURTH_K1_END-$ ;; length of state section
  917. DB FOURTH_SHIFT ;; State ID
  918. DW AT_KB ;; Keyboard Type
  919. DB -1,-1 ;; Buffer entry for error character
  920. ;;
  921. DW COM_FOURTH_K1_T1_END-$ ;; Size of xlat table
  922. DB TYPE_2_TAB ;; xlat options:
  923. DB 18 ;; number of entries
  924. DB 3,'@','@' ;;
  925. DB 4,'#','#' ;;
  926. DB 7,'^','^' ;;
  927. DB 8,'&','&' ;;
  928. DB 9,'*','*' ;;
  929. DB 10,'(','(' ;;
  930. DB 11,')',')' ;;
  931. DB 12,'_','_' ;;
  932. DB 13,'+','+' ;;
  933. DB 26,'{','{' ;;
  934. DB 27,'}','}' ;;
  935. DB 39,':',':' ;;
  936. DB 40,'"','"' ;;
  937. DB 41,'|','|' ;;
  938. DB 43,'~','~' ;;
  939. DB 51,'<','<' ;;
  940. DB 52,'>','>' ;;
  941. DB 53,'?','?' ;;
  942. COM_FOURTH_K1_T1_END: ;;
  943. ;;
  944. DW 0 ;; Last xlat table
  945. COM_FOURTH_K1_END: ;;
  946. ;;
  947. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  948. ;; CODE PAGE: Common
  949. ;; STATE: Grave Lower
  950. ;; KEYBOARD TYPES: All
  951. ;; TABLE TYPE: Translate
  952. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  953. ;;
  954. DW COM_GR_LO_END-$ ;; length of state section
  955. DB GRAVE_LOWER ;; State ID
  956. DW ANY_KB ;; Keyboard Type
  957. DB 96,0 ;; error character = standalone accent
  958. ;;
  959. DW COM_GR_LO_T1_END-$ ;; Size of xlat table
  960. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  961. DB 5 ;; number of scans
  962. DB 18,'�' ;; scan code,ASCII - e
  963. DB 22,'�' ;; scan code,ASCII - u
  964. DB 23,'�' ;; scan code,ASCII - i
  965. DB 24,'�' ;; scan code,ASCII - o
  966. DB 30,'�' ;; scan code,ASCII - a
  967. COM_GR_LO_T1_END: ;;
  968. ;;
  969. DW 0 ;; Size of xlat table - null table
  970. ;;
  971. COM_GR_LO_END: ;; length of state section
  972. ;;
  973. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  974. ;; CODE PAGE: Common
  975. ;; STATE: Grave Space Bar
  976. ;; KEYBOARD TYPES: All
  977. ;; TABLE TYPE: Translate
  978. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  979. ;;
  980. DW COM_GR_SP_END-$ ;; length of state section
  981. DB GRAVE_SPACE ;; State ID
  982. DW ANY_KB ;; Keyboard Type
  983. DB 96,0 ;; error character = standalone accent
  984. ;;
  985. DW COM_GR_SP_T1_END-$ ;; Size of xlat table
  986. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  987. DB 1 ;; number of scans
  988. DB 57,96 ;; STANDALONE GRAVE
  989. COM_GR_SP_T1_END: ;;
  990. ;;
  991. DW 0 ;; Size of xlat table - null table
  992. ;;
  993. COM_GR_SP_END: ;; length of state section
  994. ;;
  995. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  996. ;; CODE PAGE: Common
  997. ;; STATE: Circumflex Lower
  998. ;; KEYBOARD TYPES: All
  999. ;; TABLE TYPE: Translate
  1000. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1001. ;;
  1002. DW COM_CI_LO_END-$ ;; length of state section
  1003. DB CIRCUMFLEX_LOWER ;; State ID
  1004. DW ANY_KB ;; Keyboard Type
  1005. DB 94,0 ;; error character = standalone accent
  1006. ;;
  1007. DW COM_CI_LO_T1_END-$ ;; Size of xlat table
  1008. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1009. DB 5 ;; number of scans
  1010. DB 18,'�' ;; scan code,ASCII - e
  1011. DB 22,'�' ;; scan code,ASCII - u
  1012. DB 23,'�' ;; scan code,ASCII - i
  1013. DB 24,'�' ;; scan code,ASCII - o
  1014. DB 30,'�' ;; scan code,ASCII - a
  1015. COM_CI_LO_T1_END: ;;
  1016. ;;
  1017. DW 0 ;;
  1018. ;;
  1019. COM_CI_LO_END: ;;
  1020. ;;
  1021. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1022. ;; CODE PAGE: Common
  1023. ;; STATE: Circumflex Space Bar
  1024. ;; KEYBOARD TYPES: All
  1025. ;; TABLE TYPE: Translate
  1026. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1027. ;;
  1028. DW COM_CI_SP_END-$ ;; length of state section
  1029. DB CIRCUMFLEX_SPACE ;; State ID
  1030. DW ANY_KB ;; Keyboard Type
  1031. DB 94,0 ;; error character = standalone accent
  1032. ;;
  1033. DW COM_CI_SP_T1_END-$ ;; Size of xlat table
  1034. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1035. DB 1 ;; number of scans
  1036. DB 57,94 ;; STANDALONE CIRCUMFLEX
  1037. COM_CI_SP_T1_END: ;;
  1038. ;;
  1039. DW 0 ;; Size of xlat table - null table
  1040. ;;
  1041. COM_CI_SP_END: ;; length of state section
  1042. ;;
  1043. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1044. ;; CODE PAGE: Common
  1045. ;; STATE: Tilde Lower
  1046. ;; KEYBOARD TYPES: All
  1047. ;; TABLE TYPE: Translate
  1048. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1049. ;;
  1050. DW COM_TI_LO_END-$ ;; length of state section
  1051. DB TILDE_LOWER ;; State ID
  1052. DW ANY_KB ;; Keyboard Type
  1053. DB 07EH,0 ;; error character = standalone accent
  1054. ;;
  1055. DW COM_TI_LO_T1_END-$ ;; Size of xlat table
  1056. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1057. DB 1 ;; number of scans
  1058. DB 49,0A4H ;; scan code,ASCII - �
  1059. COM_TI_LO_T1_END: ;;
  1060. ;;
  1061. DW 0 ;;
  1062. ;;
  1063. COM_TI_LO_END: ;;
  1064. ;;
  1065. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1066. ;;; CODE PAGE: Common
  1067. ;;; STATE: Tilde Upper Case
  1068. ;;; KEYBOARD TYPES: All
  1069. ;;; TABLE TYPE: Translate
  1070. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1071. ;;
  1072. DW COM_TI_UP_END-$ ;; length of state section
  1073. DB TILDE_UPPER ;; State ID
  1074. DW ANY_KB ;; Keyboard Type
  1075. DB 07EH,0 ;; error character = standalone accent
  1076. ;;
  1077. DW COM_TI_UP_T1_END-$ ;; Size of xlat table
  1078. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1079. DB 1 ;; number of scans
  1080. DB 49,0A5H ;; scan code,ASCII - �
  1081. COM_TI_UP_T1_END: ;;
  1082. ;;
  1083. DW 0 ;; Size of xlat table - null table
  1084. ;;
  1085. COM_TI_UP_END: ;; length of state section
  1086. ;;
  1087. ;;
  1088. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1089. ;; CODE PAGE: Common
  1090. ;; STATE: Tilde Space Bar
  1091. ;; KEYBOARD TYPES: All
  1092. ;; TABLE TYPE: Translate
  1093. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1094. ;;
  1095. DW COM_TI_SP_END-$ ;; length of state section
  1096. DB TILDE_SPACE ;; State ID
  1097. DW ANY_KB ;; Keyboard Type
  1098. DB 07EH,0 ;; error character = standalone accent
  1099. ;;
  1100. DW COM_TI_SP_T1_END-$ ;; Size of xlat table
  1101. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1102. DB 1 ;; number of scans
  1103. DB 57,07EH ;; STANDALONE TILDE
  1104. COM_TI_SP_T1_END: ;;
  1105. ;;
  1106. DW 0 ;; Size of xlat table - null table
  1107. ;;
  1108. COM_TI_SP_END: ;; length of state section
  1109. ;;
  1110. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1111. DW 0 ;; Last State
  1112. COMMON_XLAT_END: ;;
  1113. ;;
  1114. ;;
  1115. ;;
  1116. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1117. ;;***************************************
  1118. ;; SU Specific Translate Section for 437
  1119. ;;***************************************
  1120. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1121. ;;
  1122. PUBLIC SU_437_XLAT ;;
  1123. SU_437_XLAT: ;;
  1124. ;;
  1125. DW CP437_XLAT_END-$ ;; length of section
  1126. DW 437 ;;
  1127. ;;
  1128. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1129. ;; CODE PAGE: 437
  1130. ;; STATE: Non-Alpha Upper Case
  1131. ;; KEYBOARD TYPES: G, P12
  1132. ;; TABLE TYPE: Translate
  1133. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1134. ;;
  1135. DW CP437_NA_UP_END-$ ;; length of state section
  1136. DB NON_ALPHA_UPPER ;; State ID
  1137. DW G_KB+P12_KB ;; Keyboard Type
  1138. DB -1,-1 ;; Buffer entry for error character
  1139. ;;
  1140. DW CP437_NA_UP_T1_END-$ ;; Size of xlat table
  1141. DB STANDARD_TABLE ;; xlat options:
  1142. DB 1 ;; number of entries
  1143. DB 5,0 ;; International Currency Symb
  1144. CP437_NA_UP_T1_END: ;;
  1145. ;;
  1146. DW 0 ;; Size of xlat table - null table
  1147. ;;
  1148. CP437_NA_UP_END: ;;
  1149. ;;
  1150. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1151. ;; CODE PAGE: 437
  1152. ;; STATE: Non-Alpha Lower Case
  1153. ;; KEYBOARD TYPES: G, P12
  1154. ;; TABLE TYPE: Translate
  1155. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1156. ;;
  1157. DW CP437_NA_K1_LO_END-$ ;; length of state section
  1158. DB NON_ALPHA_LOWER ;; State ID
  1159. DW G_KB+P12_KB ;; Keyboard Type
  1160. DB -1,-1 ;; Buffer entry for error character
  1161. ;;
  1162. DW CP437_NA_LO_K1_T1_END-$ ;; Size of xlat table
  1163. DB STANDARD_TABLE ;; xlat options:
  1164. DB 1 ;; number of entries
  1165. DB 41,015H ;; SECTION Symb
  1166. CP437_NA_LO_K1_T1_END: ;;
  1167. ;;
  1168. DW 0 ;; Size of xlat table - null table
  1169. ;;
  1170. CP437_NA_K1_LO_END: ;;
  1171. ;;
  1172. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1173. ;; CODE PAGE: 437
  1174. ;; STATE: Acute Lower Case
  1175. ;; KEYBOARD TYPES: All
  1176. ;; TABLE TYPE: Translate
  1177. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1178. ;;
  1179. DW CP437_AC_LO_END-$ ;; length of state section
  1180. DB ACUTE_LOWER ;; State ID
  1181. DW ANY_KB ;; Keyboard Type
  1182. DB 39,0 ;; error character = standalone accent
  1183. ;;
  1184. DW CP437_AC_LO_T1_END-$ ;; Size of xlat table
  1185. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1186. DB 5 ;; number of scans
  1187. DB 18,'�' ;; scan code,ASCII - e
  1188. DB 22,'�' ;; scan code,ASCII - u
  1189. DB 23,'�' ;; scan code,ASCII - i
  1190. DB 24,'�' ;; scan code,ASCII - o
  1191. DB 30,'�' ;; scan code,ASCII - a
  1192. CP437_AC_LO_T1_END: ;;
  1193. ;;
  1194. DW 0 ;; Size of xlat table - null table
  1195. ;;
  1196. CP437_AC_LO_END: ;;
  1197. ;;
  1198. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1199. ;; CODE PAGE: 437
  1200. ;; STATE: Acute Upper Case
  1201. ;; KEYBOARD TYPES: All
  1202. ;; TABLE TYPE: Translate
  1203. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1204. ;;
  1205. DW CP437_AC_UP_END-$ ;; length of state section
  1206. DB ACUTE_UPPER ;; State ID
  1207. DW ANY_KB ;; Keyboard Type
  1208. DB 39,0 ;; error character = standalone accent
  1209. ;;
  1210. DW CP437_AC_UP_T1_END-$ ;; Size of xlat table
  1211. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1212. DB 1 ;; number of entries
  1213. DB 18,'�' ;; scan code,ASCII - �
  1214. CP437_AC_UP_T1_END: ;;
  1215. ;;
  1216. DW 0 ;; Size of xlat table - null table
  1217. ;;
  1218. CP437_AC_UP_END: ;;
  1219. ;;
  1220. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1221. ;; CODE PAGE: 437
  1222. ;; STATE: Acute Space Bar
  1223. ;; KEYBOARD TYPES: All
  1224. ;; TABLE TYPE: Translate
  1225. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1226. ;;
  1227. DW CP437_AC_SP_END-$ ;; length of state section
  1228. DB ACUTE_SPACE ;; State ID
  1229. DW ANY_KB ;; Keyboard Type
  1230. DB 39,0 ;; error character = standalone accent
  1231. ;;
  1232. DW CP437_AC_SP_T1_END-$ ;; Size of xlat table
  1233. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1234. DB 1 ;; number of scans
  1235. DB 57,39 ;; scan code,ASCII - SPACE
  1236. CP437_AC_SP_T1_END: ;;
  1237. ;;
  1238. DW 0 ;; Size of xlat table - null table
  1239. ;;
  1240. CP437_AC_SP_END: ;;
  1241. ;;
  1242. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1243. ;; CODE PAGE: CP437
  1244. ;; STATE: Diaresis Lower Case
  1245. ;; KEYBOARD TYPES: All
  1246. ;; TABLE TYPE: Translate
  1247. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1248. ;;
  1249. DW CP437_DI_LO_END-$ ;; length of state section
  1250. DB DIARESIS_LOWER ;; State ID
  1251. DW ANY_KB ;; Keyboard Type
  1252. DB 254,0 ;; error character = standalone accent
  1253. ;;
  1254. DW CP437_DI_LO_T1_END-$ ;; Size of xlat table
  1255. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1256. DB 6 ;; number of scans
  1257. DB 18,'�' ;; scan code,ASCII - e
  1258. DB 21,'�' ;; scan code,ASCII - y
  1259. DB 22,'�' ;; scan code,ASCII - u
  1260. DB 23,'�' ;; scan code,ASCII - i
  1261. DB 24,'�' ;; scan code,ASCII - o
  1262. DB 30,'�' ;; scan code,ASCII - a
  1263. CP437_DI_LO_T1_END: ;;
  1264. ;;
  1265. DW 0 ;; Size of xlat table - null table
  1266. ;;
  1267. CP437_DI_LO_END: ;; length of state section
  1268. ;;
  1269. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1270. ;; CODE PAGE: CP437
  1271. ;; STATE: Diaresis Upper Case
  1272. ;; KEYBOARD TYPES: All
  1273. ;; TABLE TYPE: Translate
  1274. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1275. ;;
  1276. DW CP437_DI_UP_END-$ ;; length of state section
  1277. DB DIARESIS_UPPER ;; State ID
  1278. DW ANY_KB ;; Keyboard Type
  1279. DB 254,0 ;; error character = standalone accent
  1280. ;;
  1281. DW CP437_DI_UP_T1_END-$ ;; Size of xlat table
  1282. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1283. DB 3 ;; number of scans
  1284. DB 22,'�' ;; scan code,ASCII - U
  1285. DB 24,'�' ;; scan code,ASCII - O
  1286. DB 30,'�' ;; scan code,ASCII - A
  1287. CP437_DI_UP_T1_END: ;;
  1288. ;;
  1289. DW 0 ;; Size of xlat table - null table
  1290. ;;
  1291. CP437_DI_UP_END: ;; length of state section
  1292. ;;
  1293. ;;
  1294. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1295. ;; CODE PAGE: 437
  1296. ;; STATE: Diaresis Space Bar
  1297. ;; KEYBOARD TYPES: All
  1298. ;; TABLE TYPE: Translate
  1299. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1300. ; ;;
  1301. ; DW CP437_DI_SP_END-$ ;; length of state section
  1302. ; DB DIARESIS_SPACE ;; State ID
  1303. ; DW ANY_KB ;; Keyboard Type
  1304. ; DB 254,0 ;; error character = standalone accent
  1305. ; ;;
  1306. ; DW CP437_DI_SP_T1_END-$ ;; Size of xlat table
  1307. ; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1308. ; DB 1 ;; number of scans
  1309. ; DB 57,254 ;; error character = standalone accent
  1310. ;CP437_DI_SP_T1_END: ;;
  1311. ; ;;
  1312. ; DW 0 ;; Size of xlat table - null table
  1313. ;CP437_DI_SP_END: ;; length of state section
  1314. ; ;;
  1315. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1316. ;;
  1317. DW 0 ;; LAST STATE
  1318. ;;
  1319. CP437_XLAT_END: ;;
  1320. ;;
  1321. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1322. ;;***************************************
  1323. ;; SU Specific Translate Section for 850
  1324. ;;***************************************
  1325. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1326. ;;
  1327. PUBLIC SU_850_XLAT ;;
  1328. SU_850_XLAT: ;;
  1329. ;;
  1330. DW CP850_XLAT_END-$ ;; length of section
  1331. DW 850 ;;
  1332. ;;
  1333. ;;
  1334. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1335. ;; CODE PAGE: 850
  1336. ;; STATE: Divide Sign
  1337. ;; KEYBOARD TYPES: G, P12
  1338. ;; TABLE TYPE: Translate
  1339. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1340. ;;
  1341. DW CP850_DIVID_END-$ ;; length of state section
  1342. DB DIVIDE_SIGN ;; State ID
  1343. DW G_KB+P12_KB ;; Keyboard Type
  1344. DB -1,-1 ;; error character = standalone accent
  1345. ;;
  1346. DW CP850_DIVID_T1_END-$ ;; Size of xlat table
  1347. DB TYPE_2_TAB ;; xlat options:
  1348. DB 2 ;; number of scans
  1349. DB 0E0H,0F6H,0E0H ;;
  1350. DB 53,0F6H,0E0H ;; DIVIDE SIGN
  1351. CP850_DIVID_T1_END: ;;
  1352. ;;
  1353. DW 0 ;; Size of xlat table - null table
  1354. ;;
  1355. CP850_DIVID_END: ;;
  1356. ;;
  1357. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1358. ;; CODE PAGE: 850
  1359. ;; STATE: Numeric Key Pad
  1360. ;; KEYBOARD TYPES: G, P12
  1361. ;; TABLE TYPE: Translate
  1362. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1363. ;;
  1364. DW CP850_PAD_K1_END-$ ;; length of state section
  1365. DB NUMERIC_PAD ;; State ID
  1366. DW G_KB+P12_KB ;; Keyboard Type
  1367. DB -1,-1 ;; Buffer entry for error character
  1368. ;;
  1369. DW CP850_PAD_K1_T1_END-$ ;; Size of xlat table
  1370. DB STANDARD_TABLE ;; xlat options:
  1371. DB 1 ;; number of entries
  1372. DB 55,09EH ;;
  1373. CP850_PAD_K1_T1_END: ;;
  1374. ;;
  1375. DW 0 ;; Size of xlat table - null table
  1376. ;;
  1377. CP850_PAD_K1_END: ;;
  1378. ;;
  1379. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1380. ;; CODE PAGE: 850
  1381. ;; STATE: Non-Alpha Upper Case
  1382. ;; KEYBOARD TYPES: G, P12
  1383. ;; TABLE TYPE: Translate
  1384. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1385. ;;
  1386. DW CP850_NA_UP_END-$ ;; length of state section
  1387. DB NON_ALPHA_UPPER ;; State ID
  1388. DW G_KB+P12_KB ;; Keyboard Type
  1389. DB -1,-1 ;; Buffer entry for error character
  1390. ;;
  1391. DW CP850_NA_UP_T1_END-$ ;; Size of xlat table
  1392. DB STANDARD_TABLE ;; xlat options:
  1393. DB 1 ;; number of entries
  1394. DB 5,0CFH ;; International Currency Symb
  1395. CP850_NA_UP_T1_END: ;;
  1396. ;;
  1397. DW 0 ;; Size of xlat table - null table
  1398. ;;
  1399. CP850_NA_UP_END: ;;
  1400. ;;
  1401. ;;
  1402. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1403. ;; CODE PAGE: 850
  1404. ;; STATE: Non-Alpha Lower Case
  1405. ;; KEYBOARD TYPES: G, P12
  1406. ;; TABLE TYPE: Translate
  1407. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1408. ;;
  1409. DW CP850_NA_K1_LO_END-$ ;; length of state section
  1410. DB NON_ALPHA_LOWER ;; State ID
  1411. DW G_KB+P12_KB ;; Keyboard Type
  1412. DB -1,-1 ;; Buffer entry for error character
  1413. ;;
  1414. DW CP850_NA_LO_K1_T1_END-$ ;; Size of xlat table
  1415. DB STANDARD_TABLE ;; xlat options:
  1416. DB 1 ;; number of entries
  1417. DB 41,0F5H ;; SECTION Symb
  1418. CP850_NA_LO_K1_T1_END: ;;
  1419. ;;
  1420. DW 0 ;; Size of xlat table - null table
  1421. ;;
  1422. CP850_NA_K1_LO_END: ;;
  1423. ;;
  1424. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1425. ;; CODE PAGE: 850
  1426. ;; STATE: Acute Lower Case
  1427. ;; KEYBOARD TYPES: All
  1428. ;; TABLE TYPE: Translate
  1429. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1430. ;;
  1431. DW CP850_AC_LO_END-$ ;; length of state section
  1432. DB ACUTE_LOWER ;; State ID
  1433. DW ANY_KB ;; Keyboard Type
  1434. DB 239,0 ;; error character = standalone accent
  1435. ;;
  1436. DW CP850_AC_LO_T1_END-$ ;; Size of xlat table
  1437. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1438. DB 6 ;; number of scans
  1439. DB 18,'�' ;; scan code,ASCII - e
  1440. DB 21,0ECH ;; y acute
  1441. DB 22,'�' ;; scan code,ASCII - u
  1442. DB 23,'�' ;; scan code,ASCII - i
  1443. DB 24,'�' ;; scan code,ASCII - o
  1444. DB 30,'�' ;; scan code,ASCII - a
  1445. CP850_AC_LO_T1_END: ;;
  1446. ;;
  1447. DW 0 ;; Size of xlat table - null table
  1448. ;;
  1449. CP850_AC_LO_END: ;;
  1450. ;;
  1451. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1452. ;; CODE PAGE: 850
  1453. ;; STATE: Acute Upper Case
  1454. ;; KEYBOARD TYPES: All
  1455. ;; TABLE TYPE: Translate
  1456. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1457. ;;
  1458. DW CP850_AC_UP_END-$ ;; length of state section
  1459. DB ACUTE_UPPER ;; State ID
  1460. DW ANY_KB ;; Keyboard Type
  1461. DB 239,0 ;; error character = standalone accent
  1462. ;;
  1463. DW CP850_AC_UP_T1_END-$ ;; Size of xlat table
  1464. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1465. DB 6 ;; number of entries
  1466. DB 18,090H ;; E acute
  1467. DB 21,0EDH ;; Y acute
  1468. DB 22,0E9H ;; U acute
  1469. DB 23,0D6H ;; I acute
  1470. DB 24,0E0H ;; O acute
  1471. DB 30,0B5H ;; A acute
  1472. CP850_AC_UP_T1_END: ;;
  1473. ;;
  1474. DW 0 ;; Size of xlat table - null table
  1475. ;;
  1476. CP850_AC_UP_END: ;;
  1477. ;;
  1478. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1479. ;; CODE PAGE: 850
  1480. ;; STATE: Acute Space Bar
  1481. ;; KEYBOARD TYPES: All
  1482. ;; TABLE TYPE: Translate
  1483. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1484. ;;
  1485. DW CP850_AC_SP_END-$ ;; length of state section
  1486. DB ACUTE_SPACE ;; State ID
  1487. DW ANY_KB ;; Keyboard Type
  1488. DB 239,0 ;; error character = standalone accent
  1489. ;;
  1490. DW CP850_AC_SP_T1_END-$ ;; Size of xlat table
  1491. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1492. DB 1 ;; number of scans
  1493. DB 57,239 ;; scan code,ASCII - SPACE
  1494. CP850_AC_SP_T1_END: ;;
  1495. ;;
  1496. DW 0 ;; Size of xlat table - null table
  1497. ;;
  1498. CP850_AC_SP_END: ;;
  1499. ;;
  1500. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1501. ;; CODE PAGE: 850
  1502. ;; STATE: Diaresis Lower Case
  1503. ;; KEYBOARD TYPES: All
  1504. ;; TABLE TYPE: Translate
  1505. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1506. ;;
  1507. DW CP850_DI_LO_END-$ ;; length of state section
  1508. DB DIARESIS_LOWER ;; State ID
  1509. DW ANY_KB ;; Keyboard Type
  1510. DB 249,0 ;; error character = standalone accent
  1511. ;;
  1512. DW CP850_DI_LO_T1_END-$ ;; Size of xlat table
  1513. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1514. DB 6 ;; number of scans
  1515. DB 18,'�' ;; scan code,ASCII - e
  1516. DB 21,'�' ;; scan code,ASCII - y
  1517. DB 22,'�' ;; scan code,ASCII - u
  1518. DB 23,'�' ;; scan code,ASCII - i
  1519. DB 24,'�' ;; scan code,ASCII - o
  1520. DB 30,'�' ;; scan code,ASCII - a
  1521. CP850_DI_LO_T1_END: ;;
  1522. ;;
  1523. DW 0 ;; Size of xlat table - null table
  1524. ;;
  1525. CP850_DI_LO_END: ;; length of state section
  1526. ;;
  1527. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1528. ;; CODE PAGE: 850
  1529. ;; STATE: Diaresis Upper Case
  1530. ;; KEYBOARD TYPES: All
  1531. ;; TABLE TYPE: Translate
  1532. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1533. ;;
  1534. DW CP850_DI_UP_END-$ ;; length of state section
  1535. DB DIARESIS_UPPER ;; State ID
  1536. DW ANY_KB ;; Keyboard Type
  1537. DB 249,0 ;; error character = standalone accent
  1538. ;;
  1539. DW CP850_DI_UP_T1_END-$ ;; Size of xlat table
  1540. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1541. DB 5 ;; number of scans
  1542. DB 18,0D3H ;; E Diaeresis
  1543. DB 22,'�' ;; U Diaeresis
  1544. DB 23,0D8H ;; I Diaeresis
  1545. DB 24,'�' ;; O Diaeresis
  1546. DB 30,'�' ;; A Diaeresis
  1547. CP850_DI_UP_T1_END: ;;
  1548. ;;
  1549. DW 0 ;; Size of xlat table - null table
  1550. ;;
  1551. CP850_DI_UP_END: ;; length of state section
  1552. ;;
  1553. ;;
  1554. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1555. ;; CODE PAGE: 850
  1556. ;; STATE: Diaresis Space Bar
  1557. ;; KEYBOARD TYPES: All
  1558. ;; TABLE TYPE: Translate
  1559. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1560. ;;
  1561. DW CP850_DI_SP_END-$ ;; length of state section
  1562. DB DIARESIS_SPACE ;; State ID
  1563. DW ANY_KB ;; Keyboard Type
  1564. DB 249,0 ;; error character = standalone accent
  1565. ;;
  1566. DW CP850_DI_SP_T1_END-$ ;; Size of xlat table
  1567. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1568. DB 1 ;; number of scans
  1569. DB 57,249 ;; error character = standalone accent
  1570. CP850_DI_SP_T1_END: ;;
  1571. ;;
  1572. DW 0 ;; Size of xlat table - null table
  1573. CP850_DI_SP_END: ;; length of state section
  1574. ;;
  1575. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1576. ;; CODE PAGE: 850
  1577. ;; STATE: Grave Upper
  1578. ;; KEYBOARD TYPES: All
  1579. ;; TABLE TYPE: Translate
  1580. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1581. ;;
  1582. DW CP850_GR_UP_END-$ ;; length of state section
  1583. DB GRAVE_UPPER ;; State ID
  1584. DW ANY_KB ;; Keyboard Type
  1585. DB 96,0 ;; error character = standalone accent
  1586. ;;
  1587. DW CP850_GR_UP_T1_END-$ ;; Size of xlat table
  1588. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1589. DB 5 ;; number of scans
  1590. DB 18,0D4H ;; E grave
  1591. DB 22,0EBH ;; U grave
  1592. DB 23,0DEH ;; I grave
  1593. DB 24,0E3H ;; O grave
  1594. DB 30,0B7H ;; A grave
  1595. CP850_GR_UP_T1_END: ;;
  1596. ;;
  1597. DW 0 ;; Size of xlat table - null table
  1598. ;;
  1599. CP850_GR_UP_END: ;; length of state section
  1600. ;;
  1601. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1602. ;; CODE PAGE: 850
  1603. ;; STATE: Tilde Lower
  1604. ;; KEYBOARD TYPES: All
  1605. ;; TABLE TYPE: Translate
  1606. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1607. ;;
  1608. DW CP850_TI_LO_END-$ ;; length of state section
  1609. DB TILDE_LOWER ;; State ID
  1610. DW ANY_KB ;; Keyboard Type
  1611. DB 07EH,0 ;; error character = standalone accent
  1612. ;;
  1613. DW CP850_TI_LO_T1_END-$ ;; Size of xlat table
  1614. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1615. DB 2 ;; number of scans
  1616. DB 24,0E4H ;; scan code,ASCII - o tilde
  1617. DB 30,0C6H ;; scan code,ASCII - a tilde
  1618. CP850_TI_LO_T1_END: ;;
  1619. ;;
  1620. DW 0 ;;
  1621. ;;
  1622. CP850_TI_LO_END: ;;
  1623. ;;
  1624. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1625. ;;; CODE PAGE: 850
  1626. ;;; STATE: Tilde Upper Case
  1627. ;;; KEYBOARD TYPES: All
  1628. ;;; TABLE TYPE: Translate
  1629. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1630. ;;
  1631. DW CP850_TI_UP_END-$ ;; length of state section
  1632. DB TILDE_UPPER ;; State ID
  1633. DW ANY_KB ;; Keyboard Type
  1634. DB 07EH,0 ;; error character = standalone accent
  1635. ;;
  1636. DW CP850_TI_UP_T1_END-$ ;; Size of xlat table
  1637. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1638. DB 2 ;; number of scans
  1639. DB 24,0E5H ;; scan code,ASCII - O tilde
  1640. DB 30,0C7H ;; scan code,ASCII - A tilde
  1641. CP850_TI_UP_T1_END: ;;
  1642. ;;
  1643. DW 0 ;; Size of xlat table - null table
  1644. ;;
  1645. CP850_TI_UP_END: ;; length of state section
  1646. ;;
  1647. ;;
  1648. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1649. ;; CODE PAGE: 850
  1650. ;; STATE: Circumflex Upper
  1651. ;; KEYBOARD TYPES: All
  1652. ;; TABLE TYPE: Translate
  1653. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1654. ;;
  1655. DW CP850_CI_UP_END-$ ;; length of state section
  1656. DB CIRCUMFLEX_UPPER ;; State ID
  1657. DW ANY_KB ;; Keyboard Type
  1658. DB 94,0 ;; error character = standalone accent
  1659. ;;
  1660. DW CP850_CI_UP_T1_END-$ ;; Size of xlat table
  1661. DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
  1662. DB 5 ;; number of scans
  1663. DB 18,0D2H ;; E circumflex
  1664. DB 22,0EAH ;; U circumflex
  1665. DB 23,0D7H ;; I circumflex
  1666. DB 24,0E2H ;; O circumflex
  1667. DB 30,0B6H ;; A circumflex
  1668. CP850_CI_UP_T1_END: ;;
  1669. ;;
  1670. DW 0 ;; Size of xlat table - null table
  1671. ;;
  1672. CP850_CI_UP_END: ;; length of state section
  1673. ;;
  1674. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1675. ;;
  1676. DW 0 ;; LAST STATE
  1677. ;;
  1678. CP850_XLAT_END: ;;
  1679. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1680. ;;
  1681. CODE ENDS ;;
  1682. END ;;
  1683.