summaryrefslogtreecommitdiff
path: root/v4.0/src/CMD/KEYB/KEYBMAC.INC
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/CMD/KEYB/KEYBMAC.INC')
-rw-r--r--v4.0/src/CMD/KEYB/KEYBMAC.INC319
1 files changed, 319 insertions, 0 deletions
diff --git a/v4.0/src/CMD/KEYB/KEYBMAC.INC b/v4.0/src/CMD/KEYB/KEYBMAC.INC
new file mode 100644
index 0000000..5666666
--- /dev/null
+++ b/v4.0/src/CMD/KEYB/KEYBMAC.INC
@@ -0,0 +1,319 @@
1.XLIST
2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
3;; DOS - NLS Support - Keyboard Definition File
4;; (C) Copyright 1988 Microsoft
5;;
6;; File Name: KEYBMAC.INC
7;; ----------
8;;
9;; Description:
10;; ------------
11;; Include file containing macros for the Keyboard Definition File.
12;;
13;; Change History:
14;; ---------------
15;;
16;;
17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
18 ;;
19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
20;; Dead key flags
21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
22 ;;
23ACUTE EQU 80H ;; NLS_FLAG_1
24GRAVE EQU 40H ;;
25DIARESIS EQU 20H ;;
26CIRCUMFLEX EQU 10H ;;
27CEDILLA EQU 08H ;;
28TILDE EQU 04H ;;
29 ;; NLS_FLAG_2 : nothing defined yet
30 ;;
31 ;;
32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
33;; State IDs
34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
35 ;;
36DEAD_LOWER EQU 1 ;; dead keys on lower shift
37DEAD_UPPER EQU 2 ;;
38ALPHA_LOWER EQU 3 ;;
39ALPHA_UPPER EQU 4 ;;
40NON_ALPHA_LOWER EQU 5 ;;
41NON_ALPHA_UPPER EQU 6 ;;
42THIRD_SHIFT EQU 7 ;;
43ACUTE_LOWER EQU 8 ;;
44ACUTE_UPPER EQU 9 ;;
45ACUTE_SPACE EQU 10 ;;
46GRAVE_LOWER EQU 11 ;;
47GRAVE_UPPER EQU 12 ;;
48GRAVE_SPACE EQU 13 ;;
49DIARESIS_LOWER EQU 14 ;;
50DIARESIS_UPPER EQU 15 ;;
51DIARESIS_SPACE EQU 16 ;;
52CIRCUMFLEX_LOWER EQU 17 ;;
53CIRCUMFLEX_UPPER EQU 18 ;;
54CIRCUMFLEX_SPACE EQU 19 ;;
55CEDILLA_LOWER EQU 20 ;;
56CEDILLA_UPPER EQU 21 ;;
57CEDILLA_SPACE EQU 22 ;;
58CEDILLA_CEDILLA EQU 23 ;;
59DEAD_THIRD EQU 24 ;;
60ACUTE_ACUTE EQU 25 ;;
61GRAVE_GRAVE EQU 26 ;;
62DIARESIS_DIARESIS EQU 27 ;;
63CIRCUMFLEX_CIRCUMFLEX EQU 28 ;;
64FOURTH_SHIFT EQU 29 ;;
65DEAD_FOURTH EQU 30 ;;
66TILDE_LOWER EQU 31 ;;
67TILDE_UPPER EQU 32 ;;
68TILDE_SPACE EQU 33 ;;
69ALT_CASE EQU 34 ;;
70CTRL_CASE EQU 35 ;;
71NUMERIC_PAD EQU 36 ;;
72DIVIDE_SIGN EQU 37 ;;
73 ;;
74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
75;; Logic Macros
76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
77 ;;
78
79UNKNOWN = 255
80
81FIND_FLAG MACRO FLAG_MASK
82 IFIDN <FLAG_MASK>,<SCAN_MATCH>
83 FLAG_ID = EXT_KB_FLAG_ID
84 ELSE
85 IFIDN <FLAG_MASK>,<EITHER_SHIFT>
86 FLAG_ID = EXT_KB_FLAG_ID
87 ELSE
88 IFIDN <FLAG_MASK>,<CAPS_STATE>
89 FLAG_ID = KB_FLAG_ID
90 ELSE
91 IFIDN <FLAG_MASK>,<NUM_STATE>
92 FLAG_ID = KB_FLAG_ID
93 ELSE
94 IFIDN <FLAG_MASK>,<EITHER_CTL>
95 FLAG_ID = EXT_KB_FLAG_ID
96 ELSE
97 IFIDN <FLAG_MASK>,<EITHER_ALT>
98 FLAG_ID = EXT_KB_FLAG_ID
99 ELSE
100 IFIDN <FLAG_MASK>,<LEFT_SHIFT>
101 FLAG_ID = KB_FLAG_ID
102 ELSE
103 IFIDN <FLAG_MASK>,<RIGHT_SHIFT>
104 FLAG_ID = KB_FLAG_ID
105 ELSE
106 IFIDN <FLAG_MASK>,<ALT_SHIFT>
107 FLAG_ID = KB_FLAG_ID
108 ELSE
109 IFIDN <FLAG_MASK>,<CTL_SHIFT>
110 FLAG_ID = KB_FLAG_ID
111 ELSE
112 IFIDN <FLAG_MASK>,<R_ALT_SHIFT>
113 FLAG_ID = KB_FLAG_3_ID
114 ELSE
115 IFIDN <FLAG_MASK>,<R_CTL_SHIFT>
116 FLAG_ID = KB_FLAG_3_ID
117 ELSE
118 IFIDN <FLAG_MASK>,<TILDE>
119 FLAG_ID = NLS_FLAG_1_ID
120 ELSE
121 IFIDN <FLAG_MASK>,<ACUTE>
122 FLAG_ID = NLS_FLAG_1_ID
123 ELSE
124 IFIDN <FLAG_MASK>,<GRAVE>
125 FLAG_ID = NLS_FLAG_1_ID
126 ELSE
127 IFIDN <FLAG_MASK>,<DIARESIS>
128 FLAG_ID = NLS_FLAG_1_ID
129 ELSE
130 IFIDN <FLAG_MASK>,<CEDILLA>
131 FLAG_ID = NLS_FLAG_1_ID
132 ELSE
133 IFIDN <FLAG_MASK>,<CIRCUMFLEX>
134 FLAG_ID = NLS_FLAG_1_ID
135 ELSE
136 IFIDN <FLAG_MASK>,<LC_E0>
137 FLAG_ID = KB_FLAG_3_ID
138 ELSE
139 FLAG_ID = UNKNOWN
140 ENDIF
141 ENDIF
142 ENDIF
143 ENDIF
144 ENDIF
145 ENDIF
146 ENDIF
147 ENDIF
148 ENDIF
149 ENDIF
150 ENDIF
151 ENDIF
152 ENDIF
153 ENDIF
154 ENDIF
155 ENDIF
156 ENDIF
157 ENDIF
158 ENDIF
159 ENDM
160
161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
162FLAG MACRO FLAG_MASK
163 FIND_FLAG FLAG_MASK
164 IF (FLAG_ID EQ UNKNOWN)
165 IF2
166 %OUT Unknown parameter FLAG_MASK on FLAG MACRO
167 ENDIF
168 ELSE
169 DB FLAG_ID
170 DB FLAG_MASK
171 ENDIF
172 ENDM
173
174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
175IFF MACRO FLAG_MASK,MASK_TYPE
176 MAC_OK = 1
177 IFB <MASK_TYPE>
178 NOT_BIT = 00000000B
179 ELSE
180 IFIDN <MASK_TYPE>,<NOT>
181 NOT_BIT = 00001000B
182 ELSE
183 MAC_OK = 0
184 IF2
185 %OUT Unknown parameter MASK_TYPE on IFF MACRO
186 ENDIF
187 ENDIF
188 ENDIF
189 IF MAC_OK
190 FIND_FLAG FLAG_MASK
191 IF (FLAG_ID EQ UNKNOWN)
192 IF2
193 %OUT Unknown parameter FLAG_MASK on IFF MACRO
194 ENDIF
195 ELSE
196 DB IFF_COMMAND+NOT_BIT+FLAG_ID
197 DB FLAG_MASK
198 ENDIF
199 ENDIF
200 ENDM
201
202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
203IFKBD MACRO SYS
204 DB IFKBD_COMMAND
205 DW SYS
206 ENDM
207
208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
209ANDF MACRO FLAG_MASK,MASK_TYPE
210 MAC_OK = 1
211 IFB <MASK_TYPE>
212 NOT_BIT = 00000000B
213 ELSE
214 IFIDN <MASK_TYPE>,<NOT>
215 NOT_BIT = 00001000B
216 ELSE
217 MAC_OK = 0
218 IF2
219 %OUT Unknown parameter MASK_TYPE on ANDF MACRO
220 ENDIF
221 ENDIF
222 ENDIF
223 IF MAC_OK
224 FIND_FLAG FLAG_MASK
225 IF (FLAG_ID EQ UNKNOWN)
226 IF2
227 %OUT Unknown parameter FLAG_MASK on ANDF MACRO
228 ENDIF
229 ELSE
230 DB ANDF_COMMAND+NOT_BIT+FLAG_ID
231 DB FLAG_MASK
232 ENDIF
233 ENDIF
234 ENDM
235
236;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
237ELSEF MACRO
238 DB ELSEF_COMMAND
239 ENDM
240
241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
242ENDIFF MACRO
243 DB ENDIFF_COMMAND
244 ENDM
245
246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
247XLATT MACRO STATE
248 DB XLATT_COMMAND
249 DB STATE
250 ENDM
251
252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
253PUT_ERROR_CHAR MACRO STATE
254 DB PUT_ERROR_COMMAND
255 DB STATE
256 ENDM
257
258;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
259OPTION MACRO MASK,MASK_TYPE
260 MAC_OK = 1
261 IFB <MASK_TYPE>
262 NOT_BIT = 00000000B
263 ELSE
264 IFIDN <MASK_TYPE>,<NOT>
265 NOT_BIT = 00001000B
266 ELSE
267 MAC_OK = 0
268 IF2
269 %OUT Unknown parameter MASK_TYPE on OPTION MACRO
270 ENDIF
271 ENDIF
272 ENDIF
273 IF MAC_OK
274 DB OPTION_COMMAND+NOT_BIT
275 DB MASK
276 ENDIF
277 ENDM
278
279;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
280SET_FLAG MACRO STATE
281 DB SET_FLAG_COMMAND
282 DB STATE
283 ENDM
284
285;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
286RESET_NLS MACRO
287 DB RESET_NLS_COMMAND
288 ENDM
289
290;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
291BEEP MACRO
292 DB BEEP_COMMAND
293 ENDM
294
295;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
296GOTO MACRO GOTO_OFFSET
297 DB GOTO_COMMAND
298 DW GOTO_OFFSET-$-2
299 ENDM
300
301;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
302EXIT_INT_9 MACRO
303 DB GOTO_COMMAND+EXIT_INT_9_FLAG
304 DW 0
305 ENDM
306
307;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
308EXIT_STATE_LOGIC MACRO
309 DB GOTO_COMMAND+EXIT_STATE_LOGIC_FLAG
310 DW 0
311 ENDM
312
313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
314CHECK_FOR_CORE_KEY MACRO
315 DB CHECK_CORE_COMMAND
316 ENDM
317
318;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
319.LIST