diff options
Diffstat (limited to 'v4.0/src/CMD/KEYB/KEYBSYS.INC')
| -rw-r--r-- | v4.0/src/CMD/KEYB/KEYBSYS.INC | 137 |
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 | ;; | ||
| 28 | KEYBSYS_HEADER STRUC ;; | ||
| 29 | ;; | ||
| 30 | KH_SIGNATURE DB 0FFh,'KEYB ' ;; signature | ||
| 31 | KH_RESV_1 DB 8 DUP(0) ;; reserved | ||
| 32 | KH_MAX_COM_SZ DW 0 ;AN000;**chg ;; maximum size of Common Xlat Sect | ||
| 33 | KH_MAX_SPEC_SZ DW 0 ;AN000;;**chg ;; max size of Specific Xlat Sect | ||
| 34 | KH_MAX_LOGIC_SZ DW 0 ;AN000;;**chg ;; max size of State Logic | ||
| 35 | KH_RESV_2 Dw 0 ;AN000;;**chg ;; reserved CNS | ||
| 36 | KH_NUM_ID Dw 0 ;AN000;;; ************* CNS | ||
| 37 | KH_NUM_LANG DW 0 ;; number of languages | ||
| 38 | KH_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 ********************** | ||
| 43 | KEYBSYS_HEADER ENDS ;; | ||
| 44 | ;******************CNS******************* | ||
| 45 | KEYBSYS_ID_PTRS STRUC | ||
| 46 | |||
| 47 | KP_ID_CODE DW 0 ;AN000; | ||
| 48 | KP_LANG_PTR DD 0 ;AN000; | ||
| 49 | |||
| 50 | KEYBSYS_ID_PTRS ENDS | ||
| 51 | ;; | ||
| 52 | ;*****************CNS******************** | ||
| 53 | KEYBSYS_LANG_PTRS STRUC ;; | ||
| 54 | ;; Next two entries repeat: | ||
| 55 | KP_LANG_CODE DW 0 ;; language code | ||
| 56 | KP_ENTRY_PTR DD 0 ;; language entry pointer | ||
| 57 | ;; | ||
| 58 | KEYBSYS_LANG_PTRS ENDS ;; | ||
| 59 | ;; | ||
| 60 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 61 | ;; Language Entry - pointed to by KH_ENTRY_PTR in KEYBSYS_HEADER | ||
| 62 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 63 | ;; | ||
| 64 | KEYBSYS_LANG_ENTRY STRUC ;; | ||
| 65 | ;; | ||
| 66 | KL_LANG_CODE DW 'XX' ;; language code | ||
| 67 | KL_ID_CODE DW 0 ;; reserved (ID CODE) | ||
| 68 | KL_LOGIC_PTR DD 0 ;AC000;;**chg ;; State Logic pointer | ||
| 69 | KL_NUM_ID DB 0 ;AN000;;CNS ;; number of valid IDs for this lang | ||
| 70 | KL_NUM_CP DB 0 ;; number of valid CPs for this lang | ||
| 71 | KL_CP_PTRS DB 0 ;; CP table pointers start here | ||
| 72 | ;; | ||
| 73 | KEYBSYS_LANG_ENTRY ENDS ;; | ||
| 74 | ;; | ||
| 75 | KEYBSYS_CP_PTRS STRUC ;; | ||
| 76 | ;; Next two entries repeat: | ||
| 77 | KC_CODE_PAGE DW 0 ;; code page | ||
| 78 | KC_ENTRY_PTR DD 0 ;; ptr to Specific Translate Section | ||
| 79 | ;; | ||
| 80 | KEYBSYS_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 | ;; | ||
| 89 | KEYBSYS_STATE_LOGIC STRUC ;; | ||
| 90 | ;; | ||
| 91 | KT_LOGIC_LEN DW ? ;; length of state logic | ||
| 92 | KT_SPECIAL_FEATURES DW ? ;; Special Features (see KEYBSHAR.INC) | ||
| 93 | KT_LOGIC_CMDS DB 0 ;; state logic commands begin here | ||
| 94 | ;; | ||
| 95 | KEYBSYS_STATE_LOGIC ENDS ;; | ||
| 96 | ;; | ||
| 97 | ;; | ||
| 98 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 99 | ;; Translate Section - Common and Specific Translate Sections | ||
| 100 | ;; are both in this form. | ||
| 101 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 102 | ;; | ||
| 103 | KEYBSYS_XLAT_SECT STRUC ;; | ||
| 104 | ;; | ||
| 105 | KX_SECTION_LEN DW ? ;; Length of this section | ||
| 106 | KX_CP_ID DW ? ;; code page id | ||
| 107 | KX_FIRST_STATE DB ? ;; | ||
| 108 | ;; | ||
| 109 | KEYBSYS_XLAT_SECT ENDS ;; | ||
| 110 | ;; | ||
| 111 | ;; | ||
| 112 | KEYBSYS_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 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 120 | KX_STATE_LEN DW ? ;; length of state section | ||
| 121 | KX_STATE_ID DB ? ;; State ID | ||
| 122 | KX_KBD_TYPE DW ? ;; Keyboard Type | ||
| 123 | KX_ERROR_CHAR DW ? ;; Buffer entry for error character | ||
| 124 | KX_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 | ;; | ||
| 133 | KEYBSYS_STATE ENDS ;; | ||
| 134 | ;; | ||
| 135 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||
| 136 | .LIST | ||
| 137 | |||