2 TITLE DOS
- Keyboard Definition
File
3 ;LATEST CHANGE MULTIPLICATION & DIVISION SIGNS
4 ;DOLLAR SIGN output ON P12 should be International Currency sign
5 ;Enabled P12 Tag for CP850 UC section
6 ;****************** CNS 12/18
7 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8 ;; DOS - - NLS Support - Keyboard Definition File
9 ;; (c) Copyright 1988 Microsoft
11 ;; This file contains the keyboard tables for Swedish
13 ;; Linkage Instructions:
16 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
18 INCLUDE KEYBSHAR
.INC ;;
19 INCLUDE POSTEQU
.INC ;;
20 INCLUDE KEYBMAC
.INC ;;
26 CODE SEGMENT PUBLIC 'CODE' ;;
27 ASSUME
CS:CODE,DS:CODE ;;
29 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
30 ;; Standard translate table options are a linear search table
31 ;; (TYPE_2_TAB) and ASCII entries ONLY (ASCII_ONLY)
32 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
34 STANDARD_TABLE EQU TYPE_2_TAB
+ASCII_ONLY
36 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
37 ;;***************************************
39 ;;***************************************
40 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
45 DW LOGIC_END
-$ ;; length
47 DW 0 ;; special features
49 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; COMMANDS START HERE
51 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
52 ;; OPTIONS: If we find a scan match in
53 ;; an XLATT or SET_FLAG operation then
55 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
57 OPTION EXIT_IF_FOUND
;;
60 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
61 ;; Dead key definitions must come before
62 ;; dead key translations to handle
63 ;; dead key + dead key.
64 ;; ***BD - THIS SECTION HAS BEEN UPDATED
65 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
70 SET_FLAG DEAD_UPPER
;;
72 SET_FLAG DEAD_LOWER
;;
75 IFKBD G_KB
+P12_KB
;; For ENHANCED keyboard some
76 ANDF R_ALT_SHIFT
;; dead keys are on third shift
77 ANDF EITHER_SHIFT
,NOT ;; which is accessed via the altgr key
78 SET_FLAG DEAD_THIRD
;;
83 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
84 ;; ACUTE ACCENT TRANSLATIONS
85 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
94 IFF R_ALT_SHIFT
,NOT ;;
98 ANDF EITHER_ALT
,NOT ;;
115 PUT_ERROR_CHAR ACUTE_LOWER
;; If we get here then either the XLATT
116 BEEP
;; failed or we are ina bad shift state.
117 GOTO NON_DEAD
;; Either is invalid so BEEP and fall
118 ;; through to generate the second char.
119 ;; Note that the dead key flag will be
120 ;; reset before we get here.
122 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
123 ;; DIARESIS ACCENT TRANSLATIONS
124 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
133 IFF R_ALT_SHIFT
,NOT ;;
134 XLATT DIARESIS_SPACE
;; exist for 437 so beep for
136 IFF EITHER_CTL
,NOT ;;
137 ANDF EITHER_ALT
,NOT ;;
140 XLATT DIARESIS_LOWER
;;
142 XLATT DIARESIS_UPPER
;;
146 XLATT DIARESIS_UPPER
;;
148 XLATT DIARESIS_LOWER
;;
154 PUT_ERROR_CHAR DIARESIS_LOWER
;; standalone accent
155 BEEP
;; Invalid dead key combo.
158 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
159 ;; GRAVE ACCENT TRANSLATIONS
160 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
169 IFF R_ALT_SHIFT
,NOT ;;
172 IFF EITHER_CTL
,NOT ;;
173 ANDF EITHER_ALT
,NOT ;;
181 IFF CAPS_STATE
,NOT ;;
190 PUT_ERROR_CHAR GRAVE_LOWER
;; standalone accent
191 BEEP
;; Invalid dead key combo.
194 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
195 ;; TILDE ACCENT TRANSLATIONS
196 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
200 GOTO CIRCUMFLEX_PROC
;;
204 IFF R_ALT_SHIFT
,NOT ;;
207 IFF EITHER_CTL
,NOT ;;
208 ANDF EITHER_ALT
,NOT ;;
225 PUT_ERROR_CHAR TILDE_LOWER
;; standalone accent
226 BEEP
;; Invalid dead key combo.
229 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
230 ;; CIRCUMFLEX ACCENT TRANSLATIONS
231 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
235 IFF CIRCUMFLEX
,NOT ;;
240 IFF R_ALT_SHIFT
,NOT ;;
241 XLATT CIRCUMFLEX_SPACE
;;
243 IFF EITHER_CTL
,NOT ;;
244 ANDF EITHER_ALT
,NOT ;;
247 XLATT CIRCUMFLEX_LOWER
;;
249 XLATT CIRCUMFLEX_UPPER
;;
252 IFF CAPS_STATE
,NOT ;;
253 XLATT CIRCUMFLEX_LOWER
;;
255 XLATT CIRCUMFLEX_UPPER
;;
260 INVALID_CIRCUMFLEX: ;;
261 PUT_ERROR_CHAR CIRCUMFLEX_LOWER
;; standalone accent
262 BEEP
;; Invalid dead key combo.
265 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
266 ;; Upper, lower and third shifts
267 ;; ***BD - NON_DEAD THRU LOGIC_END IS UPDATED
268 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
270 ;ADDED FOR DIVIDE SIGN ;; ***** DIVIDE OMITTED **** CNS
271 IFKBD G_KB
+P12_KB
;; Avoid accidentally translating
272 ANDF LC_E0
;; the "/" on the numeric pad of the
273 ; IFF EITHER_CTL,NOT ;; country comforms with U.S. currently
274 ; ANDF EITHER_ALT,NOT
275 ; XLATT DIVIDE_SIGN ;;
281 IFF EITHER_CTL
,NOT ;; Lower and upper case. Alphabetic
282 IFF EITHER_ALT
,NOT ;; keys are affected by CAPS LOCK.
283 IFF EITHER_SHIFT
;; Numeric keys are not.
284 ;;***BD ADDED FOR NUMERIC PAD
288 ;;***BD END OF ADDITION
289 XLATT NON_ALPHA_UPPER
;;
296 ;;***BD ADDED FOR NUMERIC PAD
300 ;;***BD END OF ADDITION
301 XLATT NON_ALPHA_LOWER
;;
307 ENDIFF
;; Third and Fourth shifts
308 ELSEF
;; ctl off, alt on at this point
309 IFKBD XT_KB
+AT_KB
+JR_KB
;; XT, AT, JR keyboards. Nordics
310 IFF EITHER_SHIFT
;; only.
311 XLATT FOURTH_SHIFT
;; ALT + shift
313 XLATT THIRD_SHIFT
;; ALT
315 ELSEF
;; ENHANCED keyboard
316 IFF R_ALT_SHIFT
;; ALTGr
317 ANDF EITHER_SHIFT
,NOT ;;
323 ;**************************************;;
324 IFF EITHER_SHIFT
,NOT ;;
325 IFKBD XT_KB
+AT_KB
+JR_KB
;;
334 IFF R_ALT_SHIFT
,NOT ;;
340 ;**************************************;;
341 IFKBD AT_KB
+JR_KB
+XT_KB
;;
342 IFF EITHER_CTL
,NOT ;;
343 IFF ALT_SHIFT
;; ALT - case
347 IFF EITHER_ALT
,NOT ;; CTRL - case
354 IFF EITHER_CTL
,NOT ;;
355 IFF ALT_SHIFT
;; ALT - case
356 ANDF R_ALT_SHIFT
,NOT ;;
360 IFF EITHER_ALT
,NOT ;; CTRL - case
370 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
371 ;;**********************************************************************
372 ;; SV Common Translate Section
373 ;; This section contains translations for the lower 128 characters
374 ;; only since these will never change from code page to code page.
375 ;; Some common Characters are included from 128 - 165 where appropriate.
376 ;; In addition the dead key "Set Flag" tables are here since the
377 ;; dead keys are on the same keytops for all code pages.
378 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
380 PUBLIC SV_COMMON_XLAT
;;
383 DW COMMON_XLAT_END
-$ ;; length of section
387 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
389 ;; STATE: Lower Shift Dead Key
390 ;; KEYBOARD TYPES: All
391 ;; TABLE TYPE: Flag Table
392 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
394 DW COM_DK_LO_END
-$ ;; length of state section
395 DB DEAD_LOWER
;; State ID
396 DW ANY_KB
;; Keyboard Type
397 DB -1,-1 ;; Buffer entry for error character
399 DW 2 ;; number of entries
401 FLAG ACUTE
;; flag bit to set
408 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
410 ;; STATE: Upper Shift Dead Key
411 ;; KEYBOARD TYPES: All
412 ;; TABLE TYPE: Flag Table
413 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
415 DW COM_DK_UP_END
-$ ;; length of state section
416 DB DEAD_UPPER
;; State ID
417 DW ANY_KB
;; Keyboard Type
418 DB -1,-1 ;; Buffer entry for error character
420 DW 2 ;; number of entries
422 FLAG GRAVE
;; flag bit to set
428 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
430 ;; STATE: Third Shift Dead Key
431 ;; KEYBOARD TYPES: G, P12
432 ;; TABLE TYPE: Flag Table
433 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
435 DW COM_DK_TH_END
-$ ;; length of state section
436 DB DEAD_THIRD
;; State ID
437 DW G_KB
+P12_KB
;; Keyboard Type
438 DB -1,-1 ;; Buffer entry for error character
440 DW 1 ;; number of entries
442 FLAG TILDE
;; flag bit to set
448 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
449 ;;******************************
450 ;;***BD - ADDED FOR NUMERIC PAD (DECIMAL SEPERATOR)
451 ;;******************************
452 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
453 ;; CODE PAGE: Common ;;********* CNS ******* change
454 ;; STATE: Numeric Key Pad
455 ;; KEYBOARD TYPES: All except the p12
456 ;; TABLE TYPE: Translate
457 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
459 DW COM_PAD_K1_END
-$ ;; length of state section
460 DB NUMERIC_PAD
;; State ID
461 DW G_KB
+AT_KB
+XT_KB
;; Keyboard Type
462 DB -1,-1 ;; Buffer entry for error character
464 DW COM_PAD_K1_T1_END
-$ ;; Size of xlat table
465 DB STANDARD_TABLE
;; xlat options:
466 DB 1 ;; number of entries
467 DB 83,',' ;; decimal seperator = ,
468 COM_PAD_K1_T1_END: ;;
470 DW 0 ;; Size of xlat table - null table
474 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
475 ;;******************************
476 ;;***BD - ADDED FOR ALT CASE
477 ;;******************************
478 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
481 ;; KEYBOARD TYPES: G, P12
482 ;; TABLE TYPE: Translate
483 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
485 DW COM_ALT_K1_END
-$ ;; length of state section
486 DB ALT_CASE
;; State ID
487 DW G_KB
+P12_KB
;; Keyboard Type
488 DB -1,-1 ;; Buffer entry for error character
490 DW COM_ALT_K1_T1_END
-$ ;; Size of xlat table
491 DB TYPE_2_TAB
;; xlat options:
492 DB 0 ;; 2 number of entries
495 COM_ALT_K1_T1_END: ;;
497 DW 0 ;; Size of xlat table - null table
501 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
502 ;;******************************
503 ;;***BD - ADDED FOR CTRL CASE
504 ;;******************************
505 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
508 ;; KEYBOARD TYPES: XT, JR, AT
509 ;; TABLE TYPE: Translate
510 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
512 DW COM_CTRL_K1_END
-$ ;; length of state section
513 DB CTRL_CASE
;; State ID
514 DW XT_KB
+JR_KB
+AT_KB
;; Keyboard Type
515 DB -1,-1 ;; Buffer entry for error character
517 DW COM_CTRL_K1_T1_END
-$ ;; Size of xlat table
518 DB TYPE_2_TAB
;; xlat options:
519 DB 2 ;; number of entries
522 COM_CTRL_K1_T1_END: ;;
524 DW 0 ;; Size of xlat table - null table
528 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
531 ;; KEYBOARD TYPES: G, P12
532 ;; TABLE TYPE: Translate
533 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
535 DW COM_CTRL_K2_END
-$ ;; length of state section
536 DB CTRL_CASE
;; State ID
537 DW G_KB
+P12_KB
;; Keyboard Type
538 DB -1,-1 ;; Buffer entry for error character
540 DW COM_CTRL_K2_T1_END
-$ ;; Size of xlat table
541 DB TYPE_2_TAB
;; xlat options:
542 DB 8 ;; number of entries
551 COM_CTRL_K2_T1_END: ;;
553 DW 0 ;; Size of xlat table - null table
557 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
559 ;; STATE: Alpha Lower Case
560 ;; KEYBOARD TYPES: All
561 ;; TABLE TYPE: Translate
562 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
564 DW COM_AL_LO_END
-$ ;; length of state section
565 DB ALPHA_LOWER
;; State ID
566 DW ANY_KB
;; Keyboard Type
567 DB -1,-1 ;; Buffer entry for error character
569 DW COM_AL_LO_T1_END
-$ ;; Size of xlat table
570 DB STANDARD_TABLE
;; xlat options:
571 DB 3 ;; number of entries
572 DB 26,086H ;; a-overcircle
573 DB 39,094H ;; o-diaeresis
574 DB 40,084H ;; a-diaeresis
577 DW 0 ;; Size of xlat table - null table
581 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
583 ;; STATE: Alpha Upper Case
584 ;; KEYBOARD TYPES: All
585 ;; TABLE TYPE: Translate
586 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
588 DW COM_AL_UP_END
-$ ;; length of state section
589 DB ALPHA_UPPER
;; State ID
590 DW ANY_KB
;; Keyboard Type
591 DB -1,-1 ;; Buffer entry for error character
593 DW COM_AL_UP_T1_END
-$ ;; Size of xlat table
594 DB STANDARD_TABLE
;; xlat options:
595 DB 3 ;; number of entries
596 DB 26,08FH ;; A-OVERCIRCLE
597 DB 39,099H ;; A-DIAERESIS
598 DB 40,08EH ;; O-DIAERESIS
601 DW 0 ;; Size of xlat table - null table
606 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
608 ;; STATE: Non-Alpha Lower Case
609 ;; KEYBOARD TYPES: G + P12
610 ;; TABLE TYPE: Translate
611 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
613 DW COM_NA_LO_K1_END
-$ ;; length of state section
614 DB NON_ALPHA_LOWER
;; State ID
615 DW G_KB
+P12_KB
;; Keyboard Type
616 DB -1,-1 ;; Buffer entry for error character
618 DW COM_NA_LO_K1_T1_END
-$ ;; Size of xlat table
619 DB STANDARD_TABLE
;; xlat options:
620 DB 4 ;; number of entries
621 DB 12,"+" ;; + INCLUDED FOR SIMPLIC.
625 COM_NA_LO_K1_T1_END: ;;
627 DW 0 ;; Size of xlat table - null table
631 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
633 ;; STATE: Non-Alpha Lower Case
634 ;; KEYBOARD TYPES: XT + JR
635 ;; TABLE TYPE: Translate
636 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
638 DW COM_NA_LO_K2_END
-$ ;; length of state section
639 DB NON_ALPHA_LOWER
;; State ID
640 DW XT_KB
+JR_KB
;; Keyboard Type
641 DB -1,-1 ;; Buffer entry for error character
643 DW COM_NA_LO_K2_T1_END
-$ ;; Size of xlat table
644 DB STANDARD_TABLE
;; xlat options:
645 DB 4 ;; number of entries
650 COM_NA_LO_K2_T1_END: ;;
652 DW 0 ;; Size of xlat table - null table
656 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
658 ;; STATE: Non-Alpha Lower Case
659 ;; KEYBOARD TYPES: AT
660 ;; TABLE TYPE: Translate
661 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
663 DW COM_NA_LO_K3_END
-$ ;; length of state section
664 DB NON_ALPHA_LOWER
;; State ID
665 DW AT_KB
;; Keyboard Type
666 DB -1,-1 ;; Buffer entry for error character
668 DW COM_NA_LO_K3_T1_END
-$ ;; Size of xlat table
669 DB STANDARD_TABLE
;; xlat options:
670 DB 4 ;; number of entries
675 COM_NA_LO_K3_T1_END: ;;
677 DW 0 ;; Size of xlat table - null table
681 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
683 ;; STATE: Non-Alpha Upper Case
684 ;; KEYBOARD TYPES: G + P12
685 ;; TABLE TYPE: Translate
686 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
688 DW COM_NA_UP_K1_END
-$ ;; length of state section
689 DB NON_ALPHA_UPPER
;; State ID
690 DW G_KB
+ P12_KB
;; Keyboard Type
691 DB -1,-1 ;; Buffer entry for error character
693 DW COM_NA_UP_K1_T1_END
-$ ;; Size of xlat table
694 DB STANDARD_TABLE
;; xlat options:
695 DB 13 ;; number of entries
709 COM_NA_UP_K1_T1_END: ;;
711 DW 0 ;; Size of xlat table - null table
716 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
718 ;; STATE: Non-Alpha Upper Case
719 ;; KEYBOARD TYPES: XT + JR
720 ;; TABLE TYPE: Translate
721 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
723 DW COM_NA_UP_K2_END
-$ ;; length of state section
724 DB NON_ALPHA_UPPER
;; State ID
725 DW XT_KB
+ JR_KB
;; Keyboard Type
726 DB -1,-1 ;; Buffer entry for error character
728 DW COM_NA_UP_K2_T1_END
-$ ;; Size of xlat table
729 DB STANDARD_TABLE
;; xlat options:
730 DB 13 ;; number of entries
732 DB 4,09CH ;; POUND STERLING
744 COM_NA_UP_K2_T1_END: ;;
746 DW 0 ;; Size of xlat table - null table
751 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
753 ;; STATE: Non-Alpha Upper Case
754 ;; KEYBOARD TYPES: AT
755 ;; TABLE TYPE: Translate
756 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
758 DW COM_NA_UP_K3_END
-$ ;; length of state section
759 DB NON_ALPHA_UPPER
;; State ID
760 DW AT_KB
;; Keyboard Type
761 DB -1,-1 ;; Buffer entry for error character
763 DW COM_NA_UP_K3_T1_END
-$ ;; Size of xlat table
764 DB STANDARD_TABLE
;; xlat options:
765 DB 13 ;; number of entries
767 DB 4,09CH ;; POUND STERLING
779 COM_NA_UP_K3_T1_END: ;;
781 DW 0 ;; Size of xlat table - null table
786 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
788 ;; STATE: Third Shift
789 ;; KEYBOARD TYPES: G, P12
790 ;; TABLE TYPE: Translate
791 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
793 DW COM_THIRD_END
-$ ;; length of state section
794 DB THIRD_SHIFT
;; State ID
795 DW G_KB
+P12_KB
;; Keyboard Type FERRARI
796 DB -1,-1 ;; Buffer entry for error character
798 DW COM_THIRD_T1_END
-$ ;; Size of xlat table
799 DB STANDARD_TABLE
;; xlat options:
800 DB 9 ;; number of entries
808 DB 12,'\' ;; Broken Vertical Line
812 DW 0 ;; Last xlat table
815 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
817 ;; STATE: Third Shift (ALTERNATE)
818 ;; KEYBOARD TYPES: XT, JR
819 ;; TABLE TYPE: Translate
820 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
822 DW COM_THIRD_K1_END-$ ;; length of state section
823 DB THIRD_SHIFT ;; State ID
824 DW XT_KB+JR_KB ;; Keyboard Type
825 DB -1,-1 ;; Buffer entry for error character
827 DW COM_THIRD_K1_T1_END-$ ;; Size of xlat table
828 DB TYPE_2_TAB ;; xlat options:
829 DB 9 ;; number of entries
839 COM_THIRD_K1_T1_END: ;;
841 DW 0 ;; Last xlat table
844 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
846 ;; STATE: Third Shift (ALTERNATE)
847 ;; KEYBOARD TYPES: AT
848 ;; TABLE TYPE: Translate
849 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
851 DW COM_THIRD_K2_END
-$ ;; length of state section
852 DB THIRD_SHIFT
;; State ID
853 DW AT_KB
;; Keyboard Type
854 DB -1,-1 ;; Buffer entry for error character
856 DW COM_THIRD_K2_T1_END
-$ ;; Size of xlat table
857 DB TYPE_2_TAB
;; xlat options:
858 DB 9 ;; number of entries
868 COM_THIRD_K2_T1_END: ;;
870 DW 0 ;; Last xlat table
873 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
875 ;; STATE: Fourth Shift (ALTERNATE+SHIFT)
876 ;; KEYBOARD TYPES: XT, JR
877 ;; TABLE TYPE: Translate
878 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
880 DW COM_FOURTH_END
-$ ;; length of state section
881 DB FOURTH_SHIFT
;; State ID
882 DW XT_KB
+JR_KB
;; Keyboard Type
883 DB -1,-1 ;; Buffer entry for error character
885 DW COM_FOURTH_T1_END
-$ ;; Size of xlat table
886 DB TYPE_2_TAB
;; xlat options:
887 DB 18 ;; number of entries
906 COM_FOURTH_T1_END: ;;
908 DW 0 ;; Last xlat table
911 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
913 ;; STATE: Fourth Shift (ALTERNATE+SHIFT)
914 ;; KEYBOARD TYPES: AT
915 ;; TABLE TYPE: Translate
916 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
918 DW COM_FOURTH_K1_END
-$ ;; length of state section
919 DB FOURTH_SHIFT
;; State ID
920 DW AT_KB
;; Keyboard Type
921 DB -1,-1 ;; Buffer entry for error character
923 DW COM_FOURTH_K1_T1_END
-$ ;; Size of xlat table
924 DB TYPE_2_TAB
;; xlat options:
925 DB 18 ;; number of entries
944 COM_FOURTH_K1_T1_END: ;;
946 DW 0 ;; Last xlat table
947 COM_FOURTH_K1_END: ;;
949 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
951 ;; STATE: Grave Lower
952 ;; KEYBOARD TYPES: All
953 ;; TABLE TYPE: Translate
954 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
956 DW COM_GR_LO_END
-$ ;; length of state section
957 DB GRAVE_LOWER
;; State ID
958 DW ANY_KB
;; Keyboard Type
959 DB 96,0 ;; error character = standalone accent
961 DW COM_GR_LO_T1_END
-$ ;; Size of xlat table
962 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
963 DB 5 ;; number of scans
964 DB 18,'\8a' ;; scan code,ASCII - e
965 DB 22,'\97' ;; scan code,ASCII - u
966 DB 23,'\8d' ;; scan code,ASCII - i
967 DB 24,'\95' ;; scan code,ASCII - o
968 DB 30,'\85' ;; scan code,ASCII - a
971 DW 0 ;; Size of xlat table - null table
973 COM_GR_LO_END: ;; length of state section
975 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
977 ;; STATE: Grave Space Bar
978 ;; KEYBOARD TYPES: All
979 ;; TABLE TYPE: Translate
980 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
982 DW COM_GR_SP_END
-$ ;; length of state section
983 DB GRAVE_SPACE
;; State ID
984 DW ANY_KB
;; Keyboard Type
985 DB 96,0 ;; error character = standalone accent
987 DW COM_GR_SP_T1_END
-$ ;; Size of xlat table
988 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
989 DB 1 ;; number of scans
990 DB 57,96 ;; STANDALONE GRAVE
993 DW 0 ;; Size of xlat table - null table
995 COM_GR_SP_END: ;; length of state section
997 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
999 ;; STATE: Circumflex Lower
1000 ;; KEYBOARD TYPES: All
1001 ;; TABLE TYPE: Translate
1002 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1004 DW COM_CI_LO_END
-$ ;; length of state section
1005 DB CIRCUMFLEX_LOWER
;; State ID
1006 DW ANY_KB
;; Keyboard Type
1007 DB 94,0 ;; error character = standalone accent
1009 DW COM_CI_LO_T1_END
-$ ;; Size of xlat table
1010 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1011 DB 5 ;; number of scans
1012 DB 18,'\88' ;; scan code,ASCII - e
1013 DB 22,'\96' ;; scan code,ASCII - u
1014 DB 23,'\8c' ;; scan code,ASCII - i
1015 DB 24,'\93' ;; scan code,ASCII - o
1016 DB 30,'\83' ;; scan code,ASCII - a
1017 COM_CI_LO_T1_END: ;;
1023 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1024 ;; CODE PAGE: Common
1025 ;; STATE: Circumflex Space Bar
1026 ;; KEYBOARD TYPES: All
1027 ;; TABLE TYPE: Translate
1028 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1030 DW COM_CI_SP_END
-$ ;; length of state section
1031 DB CIRCUMFLEX_SPACE
;; State ID
1032 DW ANY_KB
;; Keyboard Type
1033 DB 94,0 ;; error character = standalone accent
1035 DW COM_CI_SP_T1_END
-$ ;; Size of xlat table
1036 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1037 DB 1 ;; number of scans
1038 DB 57,94 ;; STANDALONE CIRCUMFLEX
1039 COM_CI_SP_T1_END: ;;
1041 DW 0 ;; Size of xlat table - null table
1043 COM_CI_SP_END: ;; length of state section
1045 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1046 ;; CODE PAGE: Common
1047 ;; STATE: Tilde Lower
1048 ;; KEYBOARD TYPES: All
1049 ;; TABLE TYPE: Translate
1050 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1052 DW COM_TI_LO_END
-$ ;; length of state section
1053 DB TILDE_LOWER
;; State ID
1054 DW ANY_KB
;; Keyboard Type
1055 DB 07EH,0 ;; error character = standalone accent
1057 DW COM_TI_LO_T1_END
-$ ;; Size of xlat table
1058 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1059 DB 1 ;; number of scans
1060 DB 49,0A4H ;; scan code,ASCII - ¤
1061 COM_TI_LO_T1_END: ;;
1067 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1068 ;;; CODE PAGE: Common
1069 ;;; STATE: Tilde Upper Case
1070 ;;; KEYBOARD TYPES: All
1071 ;;; TABLE TYPE: Translate
1072 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1074 DW COM_TI_UP_END
-$ ;; length of state section
1075 DB TILDE_UPPER
;; State ID
1076 DW ANY_KB
;; Keyboard Type
1077 DB 07EH,0 ;; error character = standalone accent
1079 DW COM_TI_UP_T1_END
-$ ;; Size of xlat table
1080 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1081 DB 1 ;; number of scans
1082 DB 49,0A5H ;; scan code,ASCII - ¥
1083 COM_TI_UP_T1_END: ;;
1085 DW 0 ;; Size of xlat table - null table
1087 COM_TI_UP_END: ;; length of state section
1090 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1091 ;; CODE PAGE: Common
1092 ;; STATE: Tilde Space Bar
1093 ;; KEYBOARD TYPES: All
1094 ;; TABLE TYPE: Translate
1095 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1097 DW COM_TI_SP_END
-$ ;; length of state section
1098 DB TILDE_SPACE
;; State ID
1099 DW ANY_KB
;; Keyboard Type
1100 DB 07EH,0 ;; error character = standalone accent
1102 DW COM_TI_SP_T1_END
-$ ;; Size of xlat table
1103 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1104 DB 1 ;; number of scans
1105 DB 57,07EH ;; STANDALONE TILDE
1106 COM_TI_SP_T1_END: ;;
1108 DW 0 ;; Size of xlat table - null table
1110 COM_TI_SP_END: ;; length of state section
1112 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1118 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1119 ;;***************************************
1120 ;; SV Specific Translate Section for 437
1121 ;;***************************************
1122 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1124 PUBLIC SV_437_XLAT
;;
1127 DW CP437_XLAT_END
-$ ;; length of section
1130 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1132 ;; STATE: Non-Alpha Upper Case
1133 ;; KEYBOARD TYPES: G, P12
1134 ;; TABLE TYPE: Translate
1135 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1137 DW CP437_NA_UP_END
-$ ;; length of state section
1138 DB NON_ALPHA_UPPER
;; State ID
1139 DW G_KB
+P12_KB
;; Keyboard Type
1140 DB -1,-1 ;; Buffer entry for error character
1142 DW CP437_NA_UP_T1_END
-$ ;; Size of xlat table
1143 DB STANDARD_TABLE
;; xlat options:
1144 DB 1 ;; number of entries
1145 DB 5,0 ;; International Currency Symb
1146 CP437_NA_UP_T1_END: ;;
1148 DW 0 ;; Size of xlat table - null table
1152 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1154 ;; STATE: Non-Alpha Lower Case
1155 ;; KEYBOARD TYPES: G, P12
1156 ;; TABLE TYPE: Translate
1157 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1159 DW CP437_NA_K1_LO_END
-$ ;; length of state section
1160 DB NON_ALPHA_LOWER
;; State ID
1161 DW G_KB
+P12_KB
;; Keyboard Type
1162 DB -1,-1 ;; Buffer entry for error character
1164 DW CP437_NA_LO_K1_T1_END
-$ ;; Size of xlat table
1165 DB STANDARD_TABLE
;; xlat options:
1166 DB 1 ;; number of entries
1167 DB 41,015H ;; SECTION Symb
1168 CP437_NA_LO_K1_T1_END: ;;
1170 DW 0 ;; Size of xlat table - null table
1172 CP437_NA_K1_LO_END: ;;
1174 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1176 ;; STATE: Acute Lower Case
1177 ;; KEYBOARD TYPES: All
1178 ;; TABLE TYPE: Translate
1179 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1181 DW CP437_AC_LO_END
-$ ;; length of state section
1182 DB ACUTE_LOWER
;; State ID
1183 DW ANY_KB
;; Keyboard Type
1184 DB 39,0 ;; error character = standalone accent
1186 DW CP437_AC_LO_T1_END
-$ ;; Size of xlat table
1187 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1188 DB 5 ;; number of scans
1189 DB 18,'\82' ;; scan code,ASCII - e
1190 DB 22,'£' ;; scan code,ASCII - u
1191 DB 23,'¡' ;; scan code,ASCII - i
1192 DB 24,'¢' ;; scan code,ASCII - o
1193 DB 30,' ' ;; scan code,ASCII - a
1194 CP437_AC_LO_T1_END: ;;
1196 DW 0 ;; Size of xlat table - null table
1200 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1202 ;; STATE: Acute Upper Case
1203 ;; KEYBOARD TYPES: All
1204 ;; TABLE TYPE: Translate
1205 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1207 DW CP437_AC_UP_END
-$ ;; length of state section
1208 DB ACUTE_UPPER
;; State ID
1209 DW ANY_KB
;; Keyboard Type
1210 DB 39,0 ;; error character = standalone accent
1212 DW CP437_AC_UP_T1_END
-$ ;; Size of xlat table
1213 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1214 DB 1 ;; number of entries
1215 DB 18,'\90' ;; scan code,ASCII - \90
1216 CP437_AC_UP_T1_END: ;;
1218 DW 0 ;; Size of xlat table - null table
1222 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1224 ;; STATE: Acute Space Bar
1225 ;; KEYBOARD TYPES: All
1226 ;; TABLE TYPE: Translate
1227 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1229 DW CP437_AC_SP_END
-$ ;; length of state section
1230 DB ACUTE_SPACE
;; State ID
1231 DW ANY_KB
;; Keyboard Type
1232 DB 39,0 ;; error character = standalone accent
1234 DW CP437_AC_SP_T1_END
-$ ;; Size of xlat table
1235 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1236 DB 1 ;; number of scans
1237 DB 57,39 ;; scan code,ASCII - SPACE
1238 CP437_AC_SP_T1_END: ;;
1240 DW 0 ;; Size of xlat table - null table
1244 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1246 ;; STATE: Diaresis Lower Case
1247 ;; KEYBOARD TYPES: All
1248 ;; TABLE TYPE: Translate
1249 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1251 DW CP437_DI_LO_END
-$ ;; length of state section
1252 DB DIARESIS_LOWER
;; State ID
1253 DW ANY_KB
;; Keyboard Type
1254 DB 254,0 ;; error character = standalone accent
1256 DW CP437_DI_LO_T1_END
-$ ;; Size of xlat table
1257 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1258 DB 6 ;; number of scans
1259 DB 18,'\89' ;; scan code,ASCII - e
1260 DB 21,'\98' ;; scan code,ASCII - y
1261 DB 22,'\81' ;; scan code,ASCII - u
1262 DB 23,'\8b' ;; scan code,ASCII - i
1263 DB 24,'\94' ;; scan code,ASCII - o
1264 DB 30,'\84' ;; scan code,ASCII - a
1265 CP437_DI_LO_T1_END: ;;
1267 DW 0 ;; Size of xlat table - null table
1269 CP437_DI_LO_END: ;; length of state section
1271 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1273 ;; STATE: Diaresis Upper Case
1274 ;; KEYBOARD TYPES: All
1275 ;; TABLE TYPE: Translate
1276 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1278 DW CP437_DI_UP_END
-$ ;; length of state section
1279 DB DIARESIS_UPPER
;; State ID
1280 DW ANY_KB
;; Keyboard Type
1281 DB 254,0 ;; error character = standalone accent
1283 DW CP437_DI_UP_T1_END
-$ ;; Size of xlat table
1284 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1285 DB 3 ;; number of scans
1286 DB 22,'\9a' ;; scan code,ASCII - U
1287 DB 24,'\99' ;; scan code,ASCII - O
1288 DB 30,'\8e' ;; scan code,ASCII - A
1289 CP437_DI_UP_T1_END: ;;
1291 DW 0 ;; Size of xlat table - null table
1293 CP437_DI_UP_END: ;; length of state section
1296 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1298 ;; STATE: Diaresis Space Bar
1299 ;; KEYBOARD TYPES: All
1300 ;; TABLE TYPE: Translate
1301 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1303 ; DW CP437_DI_SP_END-$ ;; length of state section
1304 ; DB DIARESIS_SPACE ;; State ID
1305 ; DW ANY_KB ;; Keyboard Type
1306 ; DB 254,0 ;; error character = standalone accent
1308 ; DW CP437_DI_SP_T1_END-$ ;; Size of xlat table
1309 ; DB STANDARD_TABLE+ZERO_SCAN ;; xlat options:
1310 ; DB 1 ;; number of scans
1311 ; DB 57,254 ;; error character = standalone accent
1312 ;CP437_DI_SP_T1_END: ;;
1314 ; DW 0 ;; Size of xlat table - null table
1315 ;CP437_DI_SP_END: ;; length of state section
1317 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1323 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1324 ;;***************************************
1325 ;; SV Specific Translate Section for 850
1326 ;;***************************************
1327 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1329 PUBLIC SV_850_XLAT
;;
1332 DW CP850_XLAT_END
-$ ;; length of section
1336 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1338 ;; STATE: Numeric Pad - Divide Sign
1339 ;; KEYBOARD TYPES: G, P12
1340 ;; TABLE TYPE: Translate
1341 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1343 ; DW CP850_DIVID_END-$ ;; length of state section
1344 ; DB DIVIDE_SIGN ;; State ID
1345 ; DW G_KB+P12_KB ;; Keyboard Type
1346 ; DB -1,-1 ;; error character = standalone accent
1348 ; DW CP850_DIVID_T1_END-$ ;; Size of xlat table
1349 ; DB TYPE_2_TAB ;; xlat options:
1350 ; DB 0 ;; number of scans
1351 ; DB 0E0H,0F6H,0E0H ;; DIVIDE SIGN omitted sv/su
1352 ; DB 53,0F6H,0E0H ;; has decidied to stick with U.S.
1353 ; DB 0E0H,09eH,0E0H ;; standards in order to use BASIC
1354 ; DB 55,09eH,0E0H ;;
1355 ;CP850_DIVID_T1_END: ;;
1357 ; DW 0 ;; Size of xlat table - null table
1359 ;CP850_DIVID_END: ;;
1361 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1363 ;; STATE: Numeric Key Pad - Multiplication
1364 ;; KEYBOARD TYPES: G, P12
1365 ;; TABLE TYPE: Translate
1366 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1368 ; DW CP850_PAD_K1_END-$ ;; length of state section
1369 ; DB NUMERIC_PAD ;; State ID
1370 ; DW G_KB+P12_KB ;; Keyboard Type
1371 ; DB -1,-1 ;; Buffer entry for error character
1373 ; DW CP850_PAD_K1_T1_END-$ ;; Size of xlat table
1374 ; DB STANDARD_TABLE ;; xlat options:
1375 ; DB 0 ;; number of entries
1376 ; DB 55,09eH (moved *** CNS ****) ;; MULTIPLICATION SIGN
1377 ;CP850_PAD_K1_T1_END: ;;
1379 ; DW 0 ;; Size of xlat table - null table
1381 ;CP850_PAD_K1_END: ;;
1383 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1385 ;; STATE: Non-Alpha Upper Case
1386 ;; KEYBOARD TYPES: G, P12
1387 ;; TABLE TYPE: Translate
1388 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1390 DW CP850_NA_UP_END
-$ ;; length of state section
1391 DB NON_ALPHA_UPPER
;; State ID
1392 DW G_KB
+P12_KB
;; Keyboard Type *** CNS 12/18
1393 DB -1,-1 ;; Buffer entry for error character
1395 DW CP850_NA_UP_T1_END
-$ ;; Size of xlat table
1396 DB STANDARD_TABLE
;; xlat options:
1397 DB 1 ;; number of entries
1398 DB 5,0CFH ;; International Currency Symb
1399 CP850_NA_UP_T1_END: ;;
1401 DW 0 ;; Size of xlat table - null table
1406 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1407 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1409 ;; STATE: Non-Alpha Lower Case
1410 ;; KEYBOARD TYPES: G, P12
1411 ;; TABLE TYPE: Translate
1412 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1414 DW CP850_NA_K1_LO_END
-$ ;; length of state section
1415 DB NON_ALPHA_LOWER
;; State ID
1416 DW G_KB
+P12_KB
;; Keyboard Type
1417 DB -1,-1 ;; Buffer entry for error character
1419 DW CP850_NA_LO_K1_T1_END
-$ ;; Size of xlat table
1420 DB STANDARD_TABLE
;; xlat options:
1421 DB 1 ;; number of entries
1422 DB 41,0F5H ;; SECTION Symb
1423 CP850_NA_LO_K1_T1_END: ;;
1425 DW 0 ;; Size of xlat table - null table
1427 CP850_NA_K1_LO_END: ;;
1429 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1431 ;; STATE: Acute Lower Case
1432 ;; KEYBOARD TYPES: All
1433 ;; TABLE TYPE: Translate
1434 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1436 DW CP850_AC_LO_END
-$ ;; length of state section
1437 DB ACUTE_LOWER
;; State ID
1438 DW ANY_KB
;; Keyboard Type
1439 DB 239,0 ;; error character = standalone accent
1441 DW CP850_AC_LO_T1_END
-$ ;; Size of xlat table
1442 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1443 DB 6 ;; number of scans
1444 DB 18,'\82' ;; scan code,ASCII - e
1445 DB 21,0ECH ;; y acute
1446 DB 22,'£' ;; scan code,ASCII - u
1447 DB 23,'¡' ;; scan code,ASCII - i
1448 DB 24,'¢' ;; scan code,ASCII - o
1449 DB 30,' ' ;; scan code,ASCII - a
1450 CP850_AC_LO_T1_END: ;;
1452 DW 0 ;; Size of xlat table - null table
1456 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1458 ;; STATE: Acute Upper Case
1459 ;; KEYBOARD TYPES: All
1460 ;; TABLE TYPE: Translate
1461 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1463 DW CP850_AC_UP_END
-$ ;; length of state section
1464 DB ACUTE_UPPER
;; State ID
1465 DW ANY_KB
;; Keyboard Type
1466 DB 239,0 ;; error character = standalone accent
1468 DW CP850_AC_UP_T1_END
-$ ;; Size of xlat table
1469 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1470 DB 6 ;; number of entries
1471 DB 18,090H ;; E acute
1472 DB 21,0EDH ;; Y acute
1473 DB 22,0E9H ;; U acute
1474 DB 23,0D6H ;; I acute
1475 DB 24,0E0H ;; O acute
1476 DB 30,0B5H ;; A acute
1477 CP850_AC_UP_T1_END: ;;
1479 DW 0 ;; Size of xlat table - null table
1483 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1485 ;; STATE: Acute Space Bar
1486 ;; KEYBOARD TYPES: All
1487 ;; TABLE TYPE: Translate
1488 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1490 DW CP850_AC_SP_END
-$ ;; length of state section
1491 DB ACUTE_SPACE
;; State ID
1492 DW ANY_KB
;; Keyboard Type
1493 DB 239,0 ;; error character = standalone accent
1495 DW CP850_AC_SP_T1_END
-$ ;; Size of xlat table
1496 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1497 DB 1 ;; number of scans
1498 DB 57,239 ;; scan code,ASCII - SPACE
1499 CP850_AC_SP_T1_END: ;;
1501 DW 0 ;; Size of xlat table - null table
1505 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1507 ;; STATE: Diaresis Lower Case
1508 ;; KEYBOARD TYPES: All
1509 ;; TABLE TYPE: Translate
1510 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1512 DW CP850_DI_LO_END
-$ ;; length of state section
1513 DB DIARESIS_LOWER
;; State ID
1514 DW ANY_KB
;; Keyboard Type
1515 DB 249,0 ;; error character = standalone accent
1517 DW CP850_DI_LO_T1_END
-$ ;; Size of xlat table
1518 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1519 DB 6 ;; number of scans
1520 DB 18,'\89' ;; scan code,ASCII - e
1521 DB 21,'\98' ;; scan code,ASCII - y
1522 DB 22,'\81' ;; scan code,ASCII - u
1523 DB 23,'\8b' ;; scan code,ASCII - i
1524 DB 24,'\94' ;; scan code,ASCII - o
1525 DB 30,'\84' ;; scan code,ASCII - a
1526 CP850_DI_LO_T1_END: ;;
1528 DW 0 ;; Size of xlat table - null table
1530 CP850_DI_LO_END: ;; length of state section
1532 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1534 ;; STATE: Diaresis Upper Case
1535 ;; KEYBOARD TYPES: All
1536 ;; TABLE TYPE: Translate
1537 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1539 DW CP850_DI_UP_END
-$ ;; length of state section
1540 DB DIARESIS_UPPER
;; State ID
1541 DW ANY_KB
;; Keyboard Type
1542 DB 249,0 ;; error character = standalone accent
1544 DW CP850_DI_UP_T1_END
-$ ;; Size of xlat table
1545 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1546 DB 5 ;; number of scans
1547 DB 18,0D3H ;; E Diaeresis
1548 DB 22,'\9a' ;; U Diaeresis
1549 DB 23,0D8H ;; I Diaeresis
1550 DB 24,'\99' ;; O Diaeresis
1551 DB 30,'\8e' ;; A Diaeresis
1552 CP850_DI_UP_T1_END: ;;
1554 DW 0 ;; Size of xlat table - null table
1556 CP850_DI_UP_END: ;; length of state section
1559 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1561 ;; STATE: Diaresis Space Bar
1562 ;; KEYBOARD TYPES: All
1563 ;; TABLE TYPE: Translate
1564 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1566 DW CP850_DI_SP_END
-$ ;; length of state section
1567 DB DIARESIS_SPACE
;; State ID
1568 DW ANY_KB
;; Keyboard Type
1569 DB 249,0 ;; error character = standalone accent
1571 DW CP850_DI_SP_T1_END
-$ ;; Size of xlat table
1572 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1573 DB 1 ;; number of scans
1574 DB 57,249 ;; error character = standalone accent
1575 CP850_DI_SP_T1_END: ;;
1577 DW 0 ;; Size of xlat table - null table
1578 CP850_DI_SP_END: ;; length of state section
1580 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1582 ;; STATE: Grave Upper
1583 ;; KEYBOARD TYPES: All
1584 ;; TABLE TYPE: Translate
1585 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1587 DW CP850_GR_UP_END
-$ ;; length of state section
1588 DB GRAVE_UPPER
;; State ID
1589 DW ANY_KB
;; Keyboard Type
1590 DB 96,0 ;; error character = standalone accent
1592 DW CP850_GR_UP_T1_END
-$ ;; Size of xlat table
1593 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1594 DB 5 ;; number of scans
1595 DB 18,0D4H ;; E grave
1596 DB 22,0EBH ;; U grave
1597 DB 23,0DEH ;; I grave
1598 DB 24,0E3H ;; O grave
1599 DB 30,0B7H ;; A grave
1600 CP850_GR_UP_T1_END: ;;
1602 DW 0 ;; Size of xlat table - null table
1604 CP850_GR_UP_END: ;; length of state section
1606 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1608 ;; STATE: Tilde Lower
1609 ;; KEYBOARD TYPES: All
1610 ;; TABLE TYPE: Translate
1611 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1613 DW CP850_TI_LO_END
-$ ;; length of state section
1614 DB TILDE_LOWER
;; State ID
1615 DW ANY_KB
;; Keyboard Type
1616 DB 07EH,0 ;; error character = standalone accent
1618 DW CP850_TI_LO_T1_END
-$ ;; Size of xlat table
1619 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1620 DB 2 ;; number of scans
1621 DB 24,0E4H ;; scan code,ASCII - o tilde
1622 DB 30,0C6H ;; scan code,ASCII - a tilde
1623 CP850_TI_LO_T1_END: ;;
1629 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1631 ;;; STATE: Tilde Upper Case
1632 ;;; KEYBOARD TYPES: All
1633 ;;; TABLE TYPE: Translate
1634 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1636 DW CP850_TI_UP_END
-$ ;; length of state section
1637 DB TILDE_UPPER
;; State ID
1638 DW ANY_KB
;; Keyboard Type
1639 DB 07EH,0 ;; error character = standalone accent
1641 DW CP850_TI_UP_T1_END
-$ ;; Size of xlat table
1642 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1643 DB 2 ;; number of scans
1644 DB 24,0E5H ;; scan code,ASCII - O tilde
1645 DB 30,0C7H ;; scan code,ASCII - A tilde
1646 CP850_TI_UP_T1_END: ;;
1648 DW 0 ;; Size of xlat table - null table
1650 CP850_TI_UP_END: ;; length of state section
1653 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1655 ;; STATE: Circumflex Upper
1656 ;; KEYBOARD TYPES: All
1657 ;; TABLE TYPE: Translate
1658 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1660 DW CP850_CI_UP_END
-$ ;; length of state section
1661 DB CIRCUMFLEX_UPPER
;; State ID
1662 DW ANY_KB
;; Keyboard Type
1663 DB 94,0 ;; error character = standalone accent
1665 DW CP850_CI_UP_T1_END
-$ ;; Size of xlat table
1666 DB STANDARD_TABLE
+ZERO_SCAN
;; xlat options:
1667 DB 5 ;; number of scans
1668 DB 18,0D2H ;; E circumflex
1669 DB 22,0EAH ;; U circumflex
1670 DB 23,0D7H ;; I circumflex
1671 DB 24,0E2H ;; O circumflex
1672 DB 30,0B6H ;; A circumflex
1673 CP850_CI_UP_T1_END: ;;
1675 DW 0 ;; Size of xlat table - null table
1677 CP850_CI_UP_END: ;; length of state section
1679 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1684 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;