]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/DEV/KEYBOARD/KDFLA.ASM

wirehaze git hosting

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