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.

1391 lines
48 KiB

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