summaryrefslogtreecommitdiff
path: root/v4.0/src/DEV/KEYBOARD/KEYBMAC.INC
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/DEV/KEYBOARD/KEYBMAC.INC')
-rw-r--r--v4.0/src/DEV/KEYBOARD/KEYBMAC.INC323
1 files changed, 323 insertions, 0 deletions
diff --git a/v4.0/src/DEV/KEYBOARD/KEYBMAC.INC b/v4.0/src/DEV/KEYBOARD/KEYBMAC.INC
new file mode 100644
index 0000000..8f1b108
--- /dev/null
+++ b/v4.0/src/DEV/KEYBOARD/KEYBMAC.INC
@@ -0,0 +1,323 @@
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 ;;
73BOTLH_CAPS EQU 38 ;;
74BOTRH_CAPS EQU 39 ;;
75BOTLH_F_CAPS EQU 40 ;;
76BOTRH_F_CAPS EQU 41 ;;
77 ;;
78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
79;; Logic Macros
80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
81 ;;
82
83UNKNOWN = 255
84
85FIND_FLAG MACRO FLAG_MASK
86 IFIDN <FLAG_MASK>,<SCAN_MATCH>
87 FLAG_ID = EXT_KB_FLAG_ID
88 ELSE
89 IFIDN <FLAG_MASK>,<EITHER_SHIFT>
90 FLAG_ID = EXT_KB_FLAG_ID
91 ELSE
92 IFIDN <FLAG_MASK>,<CAPS_STATE>
93 FLAG_ID = KB_FLAG_ID
94 ELSE
95 IFIDN <FLAG_MASK>,<NUM_STATE>
96 FLAG_ID = KB_FLAG_ID
97 ELSE
98 IFIDN <FLAG_MASK>,<EITHER_CTL>
99 FLAG_ID = EXT_KB_FLAG_ID
100 ELSE
101 IFIDN <FLAG_MASK>,<EITHER_ALT>
102 FLAG_ID = EXT_KB_FLAG_ID
103 ELSE
104 IFIDN <FLAG_MASK>,<LEFT_SHIFT>
105 FLAG_ID = KB_FLAG_ID
106 ELSE
107 IFIDN <FLAG_MASK>,<RIGHT_SHIFT>
108 FLAG_ID = KB_FLAG_ID
109 ELSE
110 IFIDN <FLAG_MASK>,<ALT_SHIFT>
111 FLAG_ID = KB_FLAG_ID
112 ELSE
113 IFIDN <FLAG_MASK>,<CTL_SHIFT>
114 FLAG_ID = KB_FLAG_ID
115 ELSE
116 IFIDN <FLAG_MASK>,<R_ALT_SHIFT>
117 FLAG_ID = KB_FLAG_3_ID
118 ELSE
119 IFIDN <FLAG_MASK>,<R_CTL_SHIFT>
120 FLAG_ID = KB_FLAG_3_ID
121 ELSE
122 IFIDN <FLAG_MASK>,<TILDE>
123 FLAG_ID = NLS_FLAG_1_ID
124 ELSE
125 IFIDN <FLAG_MASK>,<ACUTE>
126 FLAG_ID = NLS_FLAG_1_ID
127 ELSE
128 IFIDN <FLAG_MASK>,<GRAVE>
129 FLAG_ID = NLS_FLAG_1_ID
130 ELSE
131 IFIDN <FLAG_MASK>,<DIARESIS>
132 FLAG_ID = NLS_FLAG_1_ID
133 ELSE
134 IFIDN <FLAG_MASK>,<CEDILLA>
135 FLAG_ID = NLS_FLAG_1_ID
136 ELSE
137 IFIDN <FLAG_MASK>,<CIRCUMFLEX>
138 FLAG_ID = NLS_FLAG_1_ID
139 ELSE
140 IFIDN <FLAG_MASK>,<LC_E0>
141 FLAG_ID = KB_FLAG_3_ID
142 ELSE
143 FLAG_ID = UNKNOWN
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 ENDIF
160 ENDIF
161 ENDIF
162 ENDIF
163 ENDM
164
165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
166FLAG MACRO FLAG_MASK
167 FIND_FLAG FLAG_MASK
168 IF (FLAG_ID EQ UNKNOWN)
169 IF2
170 %OUT Unknown parameter FLAG_MASK on FLAG MACRO
171 ENDIF
172 ELSE
173 DB FLAG_ID
174 DB FLAG_MASK
175 ENDIF
176 ENDM
177
178;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
179IFF MACRO FLAG_MASK,MASK_TYPE
180 MAC_OK = 1
181 IFB <MASK_TYPE>
182 NOT_BIT = 00000000B
183 ELSE
184 IFIDN <MASK_TYPE>,<NOT>
185 NOT_BIT = 00001000B
186 ELSE
187 MAC_OK = 0
188 IF2
189 %OUT Unknown parameter MASK_TYPE on IFF MACRO
190 ENDIF
191 ENDIF
192 ENDIF
193 IF MAC_OK
194 FIND_FLAG FLAG_MASK
195 IF (FLAG_ID EQ UNKNOWN)
196 IF2
197 %OUT Unknown parameter FLAG_MASK on IFF MACRO
198 ENDIF
199 ELSE
200 DB IFF_COMMAND+NOT_BIT+FLAG_ID
201 DB FLAG_MASK
202 ENDIF
203 ENDIF
204 ENDM
205
206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
207IFKBD MACRO SYS
208 DB IFKBD_COMMAND
209 DW SYS
210 ENDM
211
212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
213ANDF MACRO FLAG_MASK,MASK_TYPE
214 MAC_OK = 1
215 IFB <MASK_TYPE>
216 NOT_BIT = 00000000B
217 ELSE
218 IFIDN <MASK_TYPE>,<NOT>
219 NOT_BIT = 00001000B
220 ELSE
221 MAC_OK = 0
222 IF2
223 %OUT Unknown parameter MASK_TYPE on ANDF MACRO
224 ENDIF
225 ENDIF
226 ENDIF
227 IF MAC_OK
228 FIND_FLAG FLAG_MASK
229 IF (FLAG_ID EQ UNKNOWN)
230 IF2
231 %OUT Unknown parameter FLAG_MASK on ANDF MACRO
232 ENDIF
233 ELSE
234 DB ANDF_COMMAND+NOT_BIT+FLAG_ID
235 DB FLAG_MASK
236 ENDIF
237 ENDIF
238 ENDM
239
240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
241ELSEF MACRO
242 DB ELSEF_COMMAND
243 ENDM
244
245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
246ENDIFF MACRO
247 DB ENDIFF_COMMAND
248 ENDM
249
250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
251XLATT MACRO STATE
252 DB XLATT_COMMAND
253 DB STATE
254 ENDM
255
256;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
257PUT_ERROR_CHAR MACRO STATE
258 DB PUT_ERROR_COMMAND
259 DB STATE
260 ENDM
261
262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
263OPTION MACRO MASK,MASK_TYPE
264 MAC_OK = 1
265 IFB <MASK_TYPE>
266 NOT_BIT = 00000000B
267 ELSE
268 IFIDN <MASK_TYPE>,<NOT>
269 NOT_BIT = 00001000B
270 ELSE
271 MAC_OK = 0
272 IF2
273 %OUT Unknown parameter MASK_TYPE on OPTION MACRO
274 ENDIF
275 ENDIF
276 ENDIF
277 IF MAC_OK
278 DB OPTION_COMMAND+NOT_BIT
279 DB MASK
280 ENDIF
281 ENDM
282
283;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
284SET_FLAG MACRO STATE
285 DB SET_FLAG_COMMAND
286 DB STATE
287 ENDM
288
289;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
290RESET_NLS MACRO
291 DB RESET_NLS_COMMAND
292 ENDM
293
294;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
295BEEP MACRO
296 DB BEEP_COMMAND
297 ENDM
298
299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
300GOTO MACRO GOTO_OFFSET
301 DB GOTO_COMMAND
302 DW GOTO_OFFSET-$-2
303 ENDM
304
305;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
306EXIT_INT_9 MACRO
307 DB GOTO_COMMAND+EXIT_INT_9_FLAG
308 DW 0
309 ENDM
310
311;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
312EXIT_STATE_LOGIC MACRO
313 DB GOTO_COMMAND+EXIT_STATE_LOGIC_FLAG
314 DW 0
315 ENDM
316
317;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
318CHECK_FOR_CORE_KEY MACRO
319 DB CHECK_CORE_COMMAND
320 ENDM
321
322;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
323.LIST