2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3 ;; DOS - NLS Support - Keyboard Definition File
4 ;; (C) Copyright 1988 Microsoft
6 ;; File Name: KEYBMAC.INC
11 ;; Include file containing macros for the Keyboard Definition File.
17 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
19 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
21 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
23 ACUTE EQU 80H ;; NLS_FLAG_1
29 ;; NLS_FLAG_2 : nothing defined yet
32 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
34 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
36 DEAD_LOWER EQU 1 ;; dead keys on lower shift
40 NON_ALPHA_LOWER EQU 5 ;;
41 NON_ALPHA_UPPER EQU 6 ;;
49 DIARESIS_LOWER EQU 14 ;;
50 DIARESIS_UPPER EQU 15 ;;
51 DIARESIS_SPACE EQU 16 ;;
52 CIRCUMFLEX_LOWER EQU 17 ;;
53 CIRCUMFLEX_UPPER EQU 18 ;;
54 CIRCUMFLEX_SPACE EQU 19 ;;
55 CEDILLA_LOWER EQU 20 ;;
56 CEDILLA_UPPER EQU 21 ;;
57 CEDILLA_SPACE EQU 22 ;;
58 CEDILLA_CEDILLA EQU 23 ;;
62 DIARESIS_DIARESIS EQU 27 ;;
63 CIRCUMFLEX_CIRCUMFLEX EQU 28 ;;
64 FOURTH_SHIFT EQU 29 ;;
74 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
76 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
81 FIND_FLAG MACRO FLAG_MASK
82 IFIDN <FLAG_MASK>,<SCAN_MATCH>
83 FLAG_ID = EXT_KB_FLAG_ID
85 IFIDN <FLAG_MASK>,<EITHER_SHIFT>
86 FLAG_ID = EXT_KB_FLAG_ID
88 IFIDN <FLAG_MASK>,<CAPS_STATE>
91 IFIDN <FLAG_MASK>,<NUM_STATE>
94 IFIDN <FLAG_MASK>,<EITHER_CTL>
95 FLAG_ID = EXT_KB_FLAG_ID
97 IFIDN <FLAG_MASK>,<EITHER_ALT>
98 FLAG_ID = EXT_KB_FLAG_ID
100 IFIDN <FLAG_MASK>,<LEFT_SHIFT>
103 IFIDN <FLAG_MASK>,<RIGHT_SHIFT>
106 IFIDN <FLAG_MASK>,<ALT_SHIFT>
109 IFIDN <FLAG_MASK>,<CTL_SHIFT>
112 IFIDN <FLAG_MASK>,<R_ALT_SHIFT>
113 FLAG_ID = KB_FLAG_3_ID
115 IFIDN <FLAG_MASK>,<R_CTL_SHIFT>
116 FLAG_ID = KB_FLAG_3_ID
118 IFIDN <FLAG_MASK>,<TILDE>
119 FLAG_ID = NLS_FLAG_1_ID
121 IFIDN <FLAG_MASK>,<ACUTE>
122 FLAG_ID = NLS_FLAG_1_ID
124 IFIDN <FLAG_MASK>,<GRAVE>
125 FLAG_ID = NLS_FLAG_1_ID
127 IFIDN <FLAG_MASK>,<DIARESIS>
128 FLAG_ID = NLS_FLAG_1_ID
130 IFIDN <FLAG_MASK>,<CEDILLA>
131 FLAG_ID = NLS_FLAG_1_ID
133 IFIDN <FLAG_MASK>,<CIRCUMFLEX>
134 FLAG_ID = NLS_FLAG_1_ID
136 IFIDN <FLAG_MASK>,<LC_E0>
137 FLAG_ID = KB_FLAG_3_ID
161 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
164 IF (FLAG_ID EQ UNKNOWN)
166 %OUT Unknown parameter FLAG_MASK on FLAG MACRO
174 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
175 IFF MACRO FLAG_MASK,MASK_TYPE
180 IFIDN <MASK_TYPE>,<NOT>
185 %OUT Unknown parameter MASK_TYPE on IFF MACRO
191 IF (FLAG_ID EQ UNKNOWN)
193 %OUT Unknown parameter FLAG_MASK on IFF MACRO
196 DB IFF_COMMAND+NOT_BIT+FLAG_ID
202 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
208 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
209 ANDF MACRO FLAG_MASK,MASK_TYPE
214 IFIDN <MASK_TYPE>,<NOT>
219 %OUT Unknown parameter MASK_TYPE on ANDF MACRO
225 IF (FLAG_ID EQ UNKNOWN)
227 %OUT Unknown parameter FLAG_MASK on ANDF MACRO
230 DB ANDF_COMMAND+NOT_BIT+FLAG_ID
236 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
241 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
246 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
252 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
253 PUT_ERROR_CHAR MACRO STATE
258 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
259 OPTION MACRO MASK,MASK_TYPE
264 IFIDN <MASK_TYPE>,<NOT>
269 %OUT Unknown parameter MASK_TYPE on OPTION MACRO
274 DB OPTION_COMMAND+NOT_BIT
279 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
285 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
290 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
295 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
296 GOTO MACRO GOTO_OFFSET
301 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
303 DB GOTO_COMMAND+EXIT_INT_9_FLAG
307 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
308 EXIT_STATE_LOGIC MACRO
309 DB GOTO_COMMAND+EXIT_STATE_LOGIC_FLAG
313 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
314 CHECK_FOR_CORE_KEY MACRO
315 DB CHECK_CORE_COMMAND
318 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;