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.

1378 lines
47 KiB

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