summaryrefslogtreecommitdiff
path: root/v4.0/src/CMD/KEYB/KEYBSYS.INC
diff options
context:
space:
mode:
authorGravatar Mark Zbikowski2024-04-25 21:24:10 +0100
committerGravatar Microsoft Open Source2024-04-25 22:32:27 +0000
commit2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch)
tree80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/CMD/KEYB/KEYBSYS.INC
parentMerge pull request #430 from jpbaltazar/typoptbr (diff)
downloadms-dos-main.tar.gz
ms-dos-main.tar.xz
ms-dos-main.zip
MZ is back!HEADmain
Diffstat (limited to 'v4.0/src/CMD/KEYB/KEYBSYS.INC')
-rw-r--r--v4.0/src/CMD/KEYB/KEYBSYS.INC137
1 files changed, 137 insertions, 0 deletions
diff --git a/v4.0/src/CMD/KEYB/KEYBSYS.INC b/v4.0/src/CMD/KEYB/KEYBSYS.INC
new file mode 100644
index 0000000..4b42fbe
--- /dev/null
+++ b/v4.0/src/CMD/KEYB/KEYBSYS.INC
@@ -0,0 +1,137 @@
1.XLIST
2
3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
4;; DOS - NLS Support - KEYB Command
5;; (C) Copyright 1988 Microsoft
6;;
7;; File Name: KEYBSYS.INC
8;; ----------
9;;
10;; Root File Name: KEYB.ASM
11;; ---------------
12;;
13;; Description:
14;; ------------
15;; Include file containing structure definitions and equates
16;; for the KEYBOARD.SYS file.
17;;
18;; Change History:
19;; ---------------
20;;
21;;
22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
23 ;;
24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
25;; File header - contains pointers to keyboard tables for each language
26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
27 ;;
28KEYBSYS_HEADER STRUC ;;
29 ;;
30KH_SIGNATURE DB 0FFh,'KEYB ' ;; signature
31KH_RESV_1 DB 8 DUP(0) ;; reserved
32KH_MAX_COM_SZ DW 0 ;AN000;**chg ;; maximum size of Common Xlat Sect
33KH_MAX_SPEC_SZ DW 0 ;AN000;;**chg ;; max size of Specific Xlat Sect
34KH_MAX_LOGIC_SZ DW 0 ;AN000;;**chg ;; max size of State Logic
35KH_RESV_2 Dw 0 ;AN000;;**chg ;; reserved CNS
36KH_NUM_ID Dw 0 ;AN000;;; ************* CNS
37KH_NUM_LANG DW 0 ;; number of languages
38KH_LANG_PTRS DB 0 ;; language pointers start here
39;********************* CNS **********************
40;KH_NUM_ID DW 0 ;; number of languages
41;KH_ID_PTRS DB 0 ;; id pointers start here
42;********************* CNS **********************
43KEYBSYS_HEADER ENDS ;;
44;******************CNS*******************
45KEYBSYS_ID_PTRS STRUC
46
47KP_ID_CODE DW 0 ;AN000;
48KP_LANG_PTR DD 0 ;AN000;
49
50KEYBSYS_ID_PTRS ENDS
51 ;;
52;*****************CNS********************
53KEYBSYS_LANG_PTRS STRUC ;;
54 ;; Next two entries repeat:
55KP_LANG_CODE DW 0 ;; language code
56KP_ENTRY_PTR DD 0 ;; language entry pointer
57 ;;
58KEYBSYS_LANG_PTRS ENDS ;;
59 ;;
60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
61;; Language Entry - pointed to by KH_ENTRY_PTR in KEYBSYS_HEADER
62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
63 ;;
64KEYBSYS_LANG_ENTRY STRUC ;;
65 ;;
66KL_LANG_CODE DW 'XX' ;; language code
67KL_ID_CODE DW 0 ;; reserved (ID CODE)
68KL_LOGIC_PTR DD 0 ;AC000;;**chg ;; State Logic pointer
69KL_NUM_ID DB 0 ;AN000;;CNS ;; number of valid IDs for this lang
70KL_NUM_CP DB 0 ;; number of valid CPs for this lang
71KL_CP_PTRS DB 0 ;; CP table pointers start here
72 ;;
73KEYBSYS_LANG_ENTRY ENDS ;;
74 ;;
75KEYBSYS_CP_PTRS STRUC ;;
76 ;; Next two entries repeat:
77KC_CODE_PAGE DW 0 ;; code page
78KC_ENTRY_PTR DD 0 ;; ptr to Specific Translate Section
79 ;;
80KEYBSYS_CP_PTRS ENDS ;;
81 ;;
82 ;;
83;; Everything from here down is new
84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
85;; State Logic - pointed to by KL_LOGIC_PTR in KEYBSYS_LANG_ENTRY
86;; Common Translate Section follows immediately after the State Logic.
87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
88 ;;
89KEYBSYS_STATE_LOGIC STRUC ;;
90 ;;
91KT_LOGIC_LEN DW ? ;; length of state logic
92KT_SPECIAL_FEATURES DW ? ;; Special Features (see KEYBSHAR.INC)
93KT_LOGIC_CMDS DB 0 ;; state logic commands begin here
94 ;;
95KEYBSYS_STATE_LOGIC ENDS ;;
96 ;;
97 ;;
98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
99;; Translate Section - Common and Specific Translate Sections
100;; are both in this form.
101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
102 ;;
103KEYBSYS_XLAT_SECT STRUC ;;
104 ;;
105KX_SECTION_LEN DW ? ;; Length of this section
106KX_CP_ID DW ? ;; code page id
107KX_FIRST_STATE DB ? ;;
108 ;;
109KEYBSYS_XLAT_SECT ENDS ;;
110 ;;
111 ;;
112KEYBSYS_STATE STRUC ;;
113 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
114 ;; Translate Sections contains multiple States.
115 ;; A State contains the translate tables for a single
116 ;; shift state (IE lower case, upper case ....)
117 ;; The last State is a null State containing only the
118 ;; KX_STATE_LEN field with a value of 0.
119 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
120KX_STATE_LEN DW ? ;; length of state section
121KX_STATE_ID DB ? ;; State ID
122KX_KBD_TYPE DW ? ;; Keyboard Type
123KX_ERROR_CHAR DW ? ;; Buffer entry for error character
124KX_FIRST_XLAT DB ? ;; XLAT tables begin here
125 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
126 ;; Each State consists of multiple translate tables.
127 ;; The last translate table within a state is a null
128 ;; table containing only the
129 ;; KX_XLAT_LEN field with a value of 0.
130 ;; Refer to KEYBSHAR.INC for translate table format.
131 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;
132 ;;
133KEYBSYS_STATE ENDS ;;
134 ;;
135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
136.LIST
137