home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / MFKASM.ZIP / EQUATES.INC < prev    next >
Text File  |  1992-07-06  |  30KB  |  478 lines

  1. ;---------------------------------------------------------------------------;
  2. ; M.F.Kaplon  Begun:Sat  05-30-1992      Revised:Wed  07-01-1992
  3. ; Title : equates.inc
  4. ; Equates for use by 286_dos.mac and 286 types ASM programs
  5. ;---------------------------------------------------------------------------;
  6.  
  7. HWND_DESKTOP equ   1
  8.  
  9. VK_ESC       equ   0fh       ;Virtual Key Defines
  10. VK_F1        equ   20h
  11. VK_F2        equ   21h
  12. VK_F3        equ   22h
  13. VK_F4        equ   23h
  14. VK_F5        equ   24h
  15. VK_F6        equ   25h
  16. VK_F7        equ   26h
  17. VK_F8        equ   27h
  18. VK_F9        equ   28h
  19. VK_F10       equ   29h
  20. VK_F11       equ   2Ah
  21. VK_F12       equ   2Bh
  22.  
  23.  
  24. ;---------------- I/O ---------------
  25. stdin          equ   0
  26. stdout         equ   1
  27. stderr         equ   2
  28.  
  29. ;---------------- Useful ---------------
  30. cr             equ   0dh
  31. lf             equ   0ah
  32. nl             equ   0dh,0ah   ;cr+lf
  33. BEL            equ   07h
  34. NULL           equ   0000h
  35. FGDflt         equ HWhite
  36. BGDflt         equ Black
  37.  
  38. ;---------------- Special Characters ---------------
  39. BoxCharH       equ   "═"
  40. BoxCharV       equ   "║"
  41. BoxCharUL      equ   "╔"
  42. BoxCharUR      equ   "╗"
  43. BoxCharLL      equ   "╚"
  44. BoxCharLR      equ   "╝"
  45.  
  46. ;---------------- Attributes ---------------
  47.  
  48. Black       equ   0000b
  49. Blue        equ   0001b
  50. Green       equ   0010b
  51. Cyan        equ   0011b
  52. Red         equ   0100b
  53. Magenta     equ   0101b
  54. Yellow      equ   0110b
  55. White       equ   0111b
  56. HBlack      equ   1000b
  57. HBlue       equ   1001b
  58. HGreen      equ   1010b
  59. HCyan       equ   1011b
  60. HRed        equ   1100b
  61. HMagenta    equ   1101b
  62. HYellow     equ   1110b
  63. HWhite      equ   1111b
  64. ;-----  This is macro that gets attributes / defined in 286_dos.mac
  65. ;$Attrib MACRO  FG,BG
  66. ;    .DATA
  67. ;    IFNDEF  attrib0
  68. ;        attrib0  BYTE  ?
  69. ;    ENDIF
  70. ;    .CODE
  71. ;    mov   al,BG
  72. ;    shl   al,4           ;move into upper 4 bits
  73. ;    add   al,FG
  74. ;    mov   attrib0,al
  75. ;ENDM
  76. ;-------------------------------------------
  77.  
  78. ;------------ Equates for Shift State for KbdDataIn structure
  79. RightShiftDown   equ  0000000000000001b
  80. LeftShiftDown    equ  0000000000000010b
  81. EitherCtrlDown   equ  0000000000000100b
  82. EitherAltlDown   equ  0000000000001000b
  83. ScrollLockOn     equ  0000000000010000b
  84. NumLockOn        equ  0000000000100000b
  85. CapsLockOn       equ  0000000001000000b
  86. InsertOn         equ  0000000010000000b
  87. LeftCtrlDown     equ  0000000100000000b
  88. LeftAltDown      equ  0000001000000000b
  89. RightCtrlDown    equ  0000010000000000b
  90. RightAltDown     equ  0000100000000000b
  91. ScrollLockDown   equ  0001000000000000b
  92. NumLockDown      equ  0010000000000000b
  93. CapsLockDown     equ  0100000000000000b
  94. SysReqDown       equ  1000000000000000b
  95.  
  96. ;------------ Equates for Status Word of KbnDataIn structure
  97. ShiftRetWOChar   equ  0000000000000001b
  98. OSConvReqstd     equ  0000000000100000b
  99. CharReady        equ  0000000001000000b
  100. InterimChar      equ  0000000010000000b
  101.  
  102. ;------------- Keyboard Definitions ----------
  103. ;------- Define ASCII characters
  104. ;------ Actual Definitions Used Composed of WORd Value
  105. ;------ with Scan Code as High Byte and CharCode as Low Byte
  106. ;
  107. ;------------ ASCII kEYS ---------
  108. ;Alt-abc on Key Pad Returns CharCode = abc and Scan Code = 0
  109. ;Thus AX = ScanCode:CharCode = 00CharCodeH = CharCode
  110. K_C_2            equ  00300H ;CharCode =    0  00H   ScanCode =   03  03H
  111. K_C_A            equ  01E01H ;CharCode =    1  01H   ScanCode =   30  1eH
  112. K_C_B            equ  03002H ;CharCode =    2  02H   ScanCode =   48  30H
  113. K_C_C            equ  02E03H ;CharCode =    3  03H   ScanCode =   46  2eH
  114. K_C_D            equ  02004H ;CharCode =    4  04H   ScanCode =   32  20H
  115. K_C_E            equ  01205H ;CharCode =    5  05H   ScanCode =   18  12H
  116. K_C_F            equ  02106H ;CharCode =    6  06H   ScanCode =   33  21H
  117. K_C_G            equ  02207H ;CharCode =    7  07H   ScanCode =   34  22H
  118. K_C_H            equ  02308H ;CharCode =    8  08H   ScanCode =   35  23H
  119. K_BS             equ  00e08H ;CharCode =    8  08H   ScanCode =   14  0eH
  120. K_C_I            equ  01709H ;CharCode =    9  09H   ScanCode =   23  17H
  121. K_TAB            equ  00F09H ;CharCode =    9  09H   ScanCode =   15  0fH
  122. K_C_J            equ  0240AH ;CharCode =   10  0aH   ScanCode =   36  24H
  123. K_C_K            equ  0250BH ;CharCode =   11  0bH   ScanCode =   37  25H
  124. K_C_L            equ  0260CH ;CharCode =   12  0cH   ScanCode =   38  26H
  125. K_ENTER          equ  01C0DH ;CharCode =   13  0dH   ScanCode =   28  1cH
  126. K_C_M            equ  0320DH ;CharCode =   13  0dH   ScanCode =   50  32H
  127. K_C_N            equ  0310EH ;CharCode =   14  0eH   ScanCode =   49  31H
  128. K_C_O            equ  0180FH ;CharCode =   15  0fH   ScanCode =   24  18H
  129. K_C_P            equ  01910H ;CharCode =   16  10H   ScanCode =   25  19H
  130. K_C_Q            equ  01011H ;CharCode =   17  11H   ScanCode =   16  10H
  131. K_C_R            equ  01318H ;CharCode =   18  12H   ScanCode =   19  13H
  132. K_C_S            equ  01F13H ;CharCode =   19  13H   ScanCode =   31  1fH
  133. K_C_T            equ  01414H ;CharCode =   20  14H   ScanCode =   20  14H
  134. K_C_U            equ  01615H ;CharCode =   21  15H   ScanCode =   22  16H
  135. K_C_V            equ  02F16H ;CharCode =   22  16H   ScanCode =   47  2fH
  136. K_C_W            equ  01117H ;CharCode =   23  17H   ScanCode =   17  11H
  137. K_C_X            equ  02D18H ;CharCode =   24  18H   ScanCode =   45  2dH
  138. K_C_Y            equ  01519H ;CharCode =   25  19H   ScanCode =   21  15H
  139. K_C_Z            equ  02C1AH ;CharCode =   26  1aH   ScanCode =   44  2cH
  140. K_ESC            equ  0011BH ;CharCode =   27  1bH   ScanCode =    1  01H
  141. K_C_OPENBRKT     equ  0261BH ;CharCode =   27  1bH   ScanCode =   26  1aH
  142. K_C_BACKSLASH    equ  0261CH ;CharCode =   28  1dH   ScanCode =   43  26H
  143. K_C_CLOSEBRKT    equ  01B1DH ;CharCode =   29  1dH   ScanCode =   27  1bH
  144. K_C_6            equ  0071EH ;CharCode =   30  1eH   ScanCode =    7  07H
  145. K_C_MINUS        equ  00C1FH ;CharCode =   31  1fH   ScanCode =   12  0cH
  146. K_SPACE          equ  03920H ;CharCode =   32  20H   ScanCode =   57  39H
  147. K_EXCLAMPT       equ  00221H ;CharCode =   33  21H   ScanCode =    2  02H
  148. K_2QUOTE         equ  02822H ;CharCode =   34  22H   ScanCode =   40  28H
  149. K_POUND          equ  00423H ;CharCode =   35  23H   ScanCode =    4  04H
  150. K_DOLLAR         equ  00524H ;CharCode =   36  24H   ScanCode =    5  05H
  151. K_PERCENT        equ  00625H ;CharCode =   37  25H   ScanCode =    6  06H
  152. K_AMPERSAND      equ  00826H ;CharCode =   38  26H   ScanCode =    8  08H
  153. K_1QUOTE         equ  02827H ;CharCode =   39  27H   ScanCode =   40  28H
  154. K_OPENPAREN      equ  00A28H ;CharCode =   40  28H   ScanCode =   10  0aH
  155. K_CLOSEPAREN     equ  0OB29H ;CharCode =   41  29H   ScanCode =   11  0bH
  156. K_STAR           equ  0092AH ;CharCode =   42  2AH   ScanCode =    9  09H
  157. K_PLUS           equ  00D2BH ;CharCode =   43  2BH   ScanCode =   13  0dH
  158. K_COMMA          equ  0332CH ;CharCode =   44  2CH   ScanCode =   51  33H
  159. K_MINUS          equ  00C2DH ;CharCode =   45  2DH   ScanCode =   12  0cH
  160. K_PERIOD         equ  0342EH ;CharCode =   46  2EH   ScanCode =   52  34H
  161. K_SLASH          equ  0352FH ;CharCode =   47  2FH   ScanCode =   53  35H
  162. K_0              equ  00B30H ;CharCode =   48  30H   ScanCode =   11  0bH
  163. K_1              equ  00231H ;CharCode =   49  31H   ScanCode =    2  02H
  164. K_2              equ  00332H ;CharCode =   50  32H   ScanCode =    3  03H
  165. K_3              equ  00433H ;CharCode =   51  33H   ScanCode =    4  04H
  166. K_4              equ  00534H ;CharCode =   52  34H   ScanCode =    5  05H
  167. K_5              equ  00635H ;CharCode =   53  35H   ScanCode =    6  06H
  168. K_6              equ  00736H ;CharCode =   54  36H   ScanCode =    7  07H
  169. K_7              equ  00837H ;CharCode =   55  37H   ScanCode =    8  08H
  170. K_8              equ  00938H ;CharCode =   56  38H   ScanCode =    9  09H
  171. K_9              equ  00A39H ;CharCode =   57  39H   ScanCode =   10  0aH
  172. K_COLON          equ  0273AH ;CharCode =   58  3AH   ScanCode =   39  27H
  173. K_SEMICOLON      equ  0273BH ;CharCode =   59  3BH   ScanCode =   39  27H
  174. K_LTHAN          equ  0333CH ;CharCode =   60  3CH   ScanCode =   51  33H
  175. K_EQUAL          equ  00C3DH ;CharCode =   61  3DH   ScanCode =   12  0cH
  176. K_GTHAN          equ  0343EH ;CharCode =   62  3EH   ScanCode =   52  34H
  177. K_QUESTION       equ  0353FH ;CharCode =   63  3FH   ScanCode =   53  35H
  178. K_AT             equ  00340H ;CharCode =   64  40H   ScanCode =    3  03H
  179. K_UC_A           equ  01E41H ;CharCode =   65  41H   ScanCode =   30  1eH
  180. K_UC_B           equ  03042H ;CharCode =   66  42H   ScanCode =   48  30H
  181. K_UC_C           equ  02E43H ;CharCode =   67  43H   ScanCode =   46  2eH
  182. K_UC_D           equ  02044H ;CharCode =   68  44H   ScanCode =   32  20H
  183. K_UC_E           equ  01245H ;CharCode =   69  45H   ScanCode =   18  12H
  184. K_UC_F           equ  02146H ;CharCode =   70  46H   ScanCode =   33  21H
  185. K_UC_G           equ  02247H ;CharCode =   71  47H   ScanCode =   34  22H
  186. K_UC_H           equ  02348H ;CharCode =   72  48H   ScanCode =   35  23H
  187. K_UC_I           equ  01749H ;CharCode =   73  49H   ScanCode =   23  17H
  188. K_UC_J           equ  0244AH ;CharCode =   74  4AH   ScanCode =   36  24H
  189. K_UC_K           equ  0254BH ;CharCode =   75  4BH   ScanCode =   37  25H
  190. K_UC_L           equ  0264CH ;CharCode =   76  4CH   ScanCode =   38  26H
  191. K_UC_M           equ  0324DH ;CharCode =   77  4DH   ScanCode =   50  32H
  192. K_UC_N           equ  0314EH ;CharCode =   78  4EH   ScanCode =   49  31H
  193. K_UC_O           equ  0184FH ;CharCode =   79  4FH   ScanCode =   24  18H
  194. K_UC_P           equ  01950H ;CharCode =   80  50H   ScanCode =   25  19H
  195. K_UC_Q           equ  01051H ;CharCode =   81  51H   ScanCode =   16  10H
  196. K_UC_R           equ  01322H ;CharCode =   82  22H   ScanCode =   19  13H
  197. K_UC_S           equ  01F53H ;CharCode =   83  53H   ScanCode =   31  1fH
  198. K_UC_T           equ  01454H ;CharCode =   84  54H   ScanCode =   20  14H
  199. K_UC_U           equ  01655H ;CharCode =   85  55H   ScanCode =   22  16H
  200. K_UC_V           equ  02F56H ;CharCode =   86  56H   ScanCode =   47  2fH
  201. K_UC_W           equ  01157H ;CharCode =   87  57H   ScanCode =   17  11H
  202. K_UC_X           equ  02D58H ;CharCode =   88  58H   ScanCode =   45  2dH
  203. K_UC_Y           equ  01559H ;CharCode =   89  59H   ScanCode =   21  15H
  204. K_UC_Z           equ  02C5AH ;CharCode =   90  5AH   ScanCode =   44  2cH
  205. K_OPENBRKT       equ  01A5BH ;CharCode =   91  5BH   ScanCode =   26  1aH
  206. K_BACKSLASH      equ  02B5CH ;CharCode =   92  5CH   ScanCode =   43  2bH
  207. K_CLOSEBRKT      equ  01B5DH ;CharCode =   93  5DH   ScanCode =   27  1bH
  208. K_CARET          equ  0075EH ;CharCode =   94  5EH   ScanCode =   7   07H
  209. K_UNDERSCORE     equ  00C5FH ;CharCode =   95  5FH   ScanCode =   12  0cH
  210. K_BACKQUOTE      equ  02960H ;CharCode =   96  60H   ScanCode =   41  29H
  211. K_LC_a           equ  01E61H ;CharCode =   97  61H   ScanCode =   30  1eH
  212. K_LC_b           equ  03062H ;CharCode =   98  62H   ScanCode =   48  30H
  213. K_LC_c           equ  02E63H ;CharCode =   99  63H   ScanCode =   46  2eH
  214. K_LC_d           equ  02064H ;CharCode =  100  64H   ScanCode =   32  20H
  215. K_LC_e           equ  01265H ;CharCode =  101  65H   ScanCode =   18  12H
  216. K_LC_f           equ  02166H ;CharCode =  102  66H   ScanCode =   33  21H
  217. K_LC_g           equ  02267H ;CharCode =  103  67H   ScanCode =   34  22H
  218. K_LC_h           equ  02368H ;CharCode =  104  68H   ScanCode =   35  23H
  219. K_LC_i           equ  01769H ;CharCode =  105  69H   ScanCode =   23  17H
  220. K_LC_j           equ  0246AH ;CharCode =  106  6AH   ScanCode =   36  24H
  221. K_LC_k           equ  0256BH ;CharCode =  107  6BH   ScanCode =   37  25H
  222. K_LC_l           equ  0266CH ;CharCode =  108  6CH   ScanCode =   38  26H
  223. K_LC_m           equ  0326DH ;CharCode =  109  6DH   ScanCode =   50  32H
  224. K_LC_n           equ  0316EH ;CharCode =  110  6EH   ScanCode =   49  31H
  225. K_LC_o           equ  0186FH ;CharCode =  111  6FH   ScanCode =   24  18H
  226. K_LC_p           equ  01970H ;CharCode =  112  70H   ScanCode =   25  19H
  227. K_LC_q           equ  01071H ;CharCode =  113  71H   ScanCode =   16  10H
  228. K_LC_r           equ  01372H ;CharCode =  114  72H   ScanCode =   19  13H
  229. K_LC_s           equ  01f73H ;CharCode =  115  73H   ScanCode =   31  1fH
  230. K_LC_t           equ  01474H ;CharCode =  116  74H   ScanCode =   20  14H
  231. K_LC_u           equ  01675H ;CharCode =  117  75H   ScanCode =   22  16H
  232. K_LC_v           equ  02f76H ;CharCode =  118  76H   ScanCode =   47  2fH
  233. K_LC_w           equ  01177H ;CharCode =  119  77H   ScanCode =   17  11H
  234. K_LC_x           equ  02d78H ;CharCode =  120  78H   ScanCode =   45  2dH
  235. K_LC_y           equ  01579H ;CharCode =  121  79H   ScanCode =   21  15H
  236. K_LC_z           equ  02c7AH ;CharCode =  122  7AH   ScanCode =   44  2cH
  237. K_OPENCRLYBRKT   equ  0 17BH ;CharCode =  123  7BH   ScanCode =   26  1aH
  238. K_VERTICALBAR    equ  0 17CH ;CharCode =  124  7CH   ScanCode =   43  2bH
  239. K_CLOSECRLYBRKT  equ  0 17DH ;CharCode =  125  7DH   ScanCode =   27  1BH
  240. K_CEDILLA        equ  0 17EH ;CharCode =  126  7EH   ScanCode =   41  29H
  241. K_127            equ  0 17FH ;CharCode =  127  7FH   ScanCode =    0  00H
  242.  
  243. ;-------------FUNCTION KEYS -------------
  244. K_F1             equ  03B00H ;CharCode =    0  00H   ScanCode =   59  3bH
  245. K_F2             equ  03C00H ;CharCode =    0  00H   ScanCode =   60  3cH
  246. K_F3             equ  03D00H ;CharCode =    0  00H   ScanCode =   61  3dH
  247. K_F4             equ  03E00H ;CharCode =    0  00H   ScanCode =   62  3eH
  248. K_F5             equ  03F00H ;CharCode =    0  00H   ScanCode =   63  3fH
  249. K_F6             equ  04000H ;CharCode =    0  00H   ScanCode =   64  40H
  250. K_F7             equ  04100H ;CharCode =    0  00H   ScanCode =   65  41H
  251. K_F8             equ  04200H ;CharCode =    0  00H   ScanCode =   66  42H
  252. K_F9             equ  04300H ;CharCode =    0  00H   ScanCode =   67  43H
  253. K_F10            equ  04400H ;CharCode =    0  00H   ScanCode =   68  44H
  254. K_F11            equ  08500H ;CharCode =    0  00H   ScanCode =  133  85H
  255. K_F12            equ  08600H ;CharCode =    0  00H   ScanCode =  134  86H
  256.  
  257. ;------------- KEY PAD
  258. K_HOME           equ  04700H ;CharCode =    0  00H   ScanCode =   71  47H
  259. K_UP             equ  04800H ;CharCode =    0  00H   ScanCode =   72  48H
  260. K_PGUP           equ  04900H ;CharCode =    0  00H   ScanCode =   73  49H
  261. K_LEFT           equ  04B00H ;CharCode =    0  00H   ScanCode =   75  4bH
  262. K_CENTER         equ  04C00H ;CharCode =    0  00H   ScanCode =   76  4CH
  263. K_RIGHT          equ  04D00H ;CharCode =    0  00H   ScanCode =   77  4dH
  264. K_END            equ  04F00H ;CharCode =    0  00H   ScanCode =   79  4fH
  265. K_DOWN           equ  05000H ;CharCode =    0  00H   ScanCode =   80  50H
  266. K_PGDN           equ  05100H ;CharCode =    0  00H   ScanCode =   81  51H
  267. K_INS            equ  05200H ;CharCode =    0  00H   ScanCode =   82  52H
  268. K_DEL            equ  05300H ;CharCode =    0  00H   ScanCode =   83  53H
  269.  
  270. ;------------- GRAY KEYPAD
  271. K_GRAY_HOME      equ  047E0H ;CharCode =  224  e0H   ScanCode =   71  47H
  272. K_GRAY_UP        equ  048E0H ;CharCode =  224  e0H   ScanCode =   72  48H
  273. K_GRAY_PGUP      equ  049E0H ;CharCode =  224  e0H   ScanCode =   73  49H
  274. K_GRAY_LEFT      equ  04bE0H ;CharCode =  224  e0H   ScanCode =   75  4bH
  275. K_GRAY_CENTER    equ  04CE0H ;CharCode =  224  e0H   ScanCode =   76  4CH
  276. K_GRAY_RIGHT     equ  04dE0H ;CharCode =  224  e0H   ScanCode =   77  4dH
  277. K_GRAY_END       equ  04fE0H ;CharCode =  224  e0H   ScanCode =   79  4fH
  278. K_GRAY_DOWN      equ  050E0H ;CharCode =  224  e0H   ScanCode =   80  50H
  279. K_GRAY_PGDN      equ  051E0H ;CharCode =  224  e0H   ScanCode =   81  51H
  280. K_GRAY_INS       equ  052E0H ;CharCode =  224  e0H   ScanCode =   82  52H
  281. K_GRAY_DEL       equ  053E0H ;CharCode =  224  e0H   ScanCode =   83  53H
  282.  
  283. ;------------- OTHER GRAY KEYS
  284. K_GRAY_FSLASH    equ  02FE0H ;CharCode =  224  e0H   ScanCode =   47  2fH
  285. K_GRAY_STAR      equ  0372AH ;CharCode =   42  2aH   ScanCode =   55  37H
  286. K_GRAY_MINUS     equ  04A2DH ;CharCode =   45  2dH   ScanCode =   74  4aH
  287. K_GRAY_PLUS      equ  04E2AH ;CharCode =   42  2aH   ScanCode =   78  4eH
  288. K_GRAY_EQUAL     equ  0oD3DH ;CharCode =   61  3dH   ScanCode =   13  0dH
  289. K_GRAY_ENTER     equ  0E00DH ;CharCode =   13  0dH   ScanCode =  224  e0H
  290.  
  291. ;-------------ALTERNATE KEYS
  292. K_A_1            equ  07800H ;CharCode =    0  00H   ScanCode =  120  78H
  293. K_A_2            equ  07900H ;CharCode =    0  00H   ScanCode =  121  79H
  294. K_A_3            equ  07A00H ;CharCode =    0  00H   ScanCode =  122  7aH
  295. K_A_4            equ  07B00H ;CharCode =    0  00H   ScanCode =  123  7bH
  296. K_A_5            equ  07C00H ;CharCode =    0  00H   ScanCode =  124  7cH
  297. K_A_6            equ  07D00H ;CharCode =    0  00H   ScanCode =  125  7dH
  298. K_A_7            equ  07E00H ;CharCode =    0  00H   ScanCode =  126  7eH
  299. K_A_8            equ  07F00H ;CharCode =    0  00H   ScanCode =  127  7fH
  300. K_A_9            equ  08000H ;CharCode =    0  00H   ScanCode =  128  80H
  301. K_A_0            equ  08100H ;CharCode =    0  00H   ScanCode =  129  81H
  302. K_A_Q            equ  01000H ;CharCode =    0  00H   ScanCode =   16  10H
  303. K_A_W            equ  01100H ;CharCode =    0  00H   ScanCode =   17  11H
  304. K_A_E            equ  01200H ;CharCode =    0  00H   ScanCode =   18  12H
  305. K_A_R            equ  01300H ;CharCode =    0  00H   ScanCode =   19  13H
  306. K_A_T            equ  01400H ;CharCode =    0  00H   ScanCode =   20  14H
  307. K_A_Y            equ  01500H ;CharCode =    0  00H   ScanCode =   21  15H
  308. K_A_U            equ  01600H ;CharCode =    0  00H   ScanCode =   22  16H
  309. K_A_I            equ  01700H ;CharCode =    0  00H   ScanCode =   23  17H
  310. K_A_O            equ  01800H ;CharCode =    0  00H   ScanCode =   24  18H
  311. K_A_P            equ  01900H ;CharCode =    0  00H   ScanCode =   25  19H
  312. K_A_A            equ  01300H ;CharCode =    0  00H   ScanCode =   30  1eH
  313. K_A_S            equ  0IF00H ;CharCode =    0  00H   ScanCode =   31  1fH
  314. K_A_D            equ  02000H ;CharCode =    0  00H   ScanCode =   32  20H
  315. K_A_F            equ  02100H ;CharCode =    0  00H   ScanCode =   33  21H
  316. K_A_G            equ  02200H ;CharCode =    0  00H   ScanCode =   34  22H
  317. K_A_H            equ  02300H ;CharCode =    0  00H   ScanCode =   35  23H
  318. K_A_J            equ  02400H ;CharCode =    0  00H   ScanCode =   36  24H
  319. K_A_K            equ  02500H ;CharCode =    0  00H   ScanCode =   37  25H
  320. K_A_L            equ  02600H ;CharCode =    0  00H   ScanCode =   38  26H
  321. K_A_Z            equ  02C00H ;CharCode =    0  00H   ScanCode =   44  2cH
  322. K_A_X            equ  02D00H ;CharCode =    0  00H   ScanCode =   45  2dH
  323. K_A_C            equ  02E00H ;CharCode =    0  00H   ScanCode =   46  2eH
  324. K_A_V            equ  02F00H ;CharCode =    0  00H   ScanCode =   47  2fH
  325. K_A_B            equ  03000H ;CharCode =    0  00H   ScanCode =   48  30H
  326. K_A_N            equ  03100H ;CharCode =    0  00H   ScanCode =   49  31H
  327. K_A_M            equ  03200H ;CharCode =    0  00H   ScanCode =   50  32H
  328. K_A_1            equ  07800H ;CharCode =    0  00H   ScanCode =  120  78H
  329. K_A_2            equ  07900H ;CharCode =    0  00H   ScanCode =  121  79H
  330. K_A_3            equ  07A00H ;CharCode =    0  00H   ScanCode =  122  7aH
  331. K_A_4            equ  07B00H ;CharCode =    0  00H   ScanCode =  123  7bH
  332. K_A_5            equ  07C00H ;CharCode =    0  00H   ScanCode =  124  7cH
  333. K_A_6            equ  07D00H ;CharCode =    0  00H   ScanCode =  125  7dH
  334. K_A_7            equ  07E00H ;CharCode =    0  00H   ScanCode =  126  7eH
  335. K_A_8            equ  07F00H ;CharCode =    0  00H   ScanCode =  127  7fH
  336. K_A_9            equ  08000H ;CharCode =    0  00H   ScanCode =  128  80H
  337. K_A_0            equ  08100H ;CharCode =    0  00H   ScanCode =  129  81H
  338. K_A_MINUS        equ  08200H ;CharCode =    0  00H   ScanCode =  130  82H
  339. K_A_EQUAL        equ  08300H ;CharCode =    0  00H   ScanCode =  131  83H
  340. K_A_SPACE        equ  03920H ;CharCode =   32  20H   ScanCode =   57  39H same as K_A_SPACE
  341. K_A_F1           equ  06800H ;CharCode =    0  00H   ScanCode =  104  68H
  342. K_A_F2           equ  06900H ;CharCode =    0  00H   ScanCode =  105  69H
  343. K_A_F3           equ  06A00H ;CharCode =    0  00H   ScanCode =  106  6aH
  344. K_A_F4           equ  06B00H ;CharCode =    0  00H   ScanCode =  107  6bH
  345. K_A_F5           equ  06C00H ;CharCode =    0  00H   ScanCode =  108  6cH
  346. K_A_F6           equ  06D00H ;CharCode =    0  00H   ScanCode =  109  6dH
  347. K_A_F7           equ  06E00H ;CharCode =    0  00H   ScanCode =  110  6eH
  348. K_A_F8           equ  06F00H ;CharCode =    0  00H   ScanCode =  111  6fH
  349. K_A_F9           equ  07000H ;CharCode =    0  00H   ScanCode =  112  70H
  350. K_A_F10          equ  07100H ;CharCode =    0  00H   ScanCode =  113  71H
  351. K_A_F11          equ  08B00H ;CharCode =    0  00H   ScanCode =  139  8bH
  352. K_A_F12          equ  08C00H ;CharCode =    0  00H   ScanCode =  140  8cH
  353. K_A_ESC          equ  00000H ;CharCode =       00H   ScanCode =
  354. K_A_BACKQUOTE    equ  02900H ;CharCode =    0  00H   ScanCode =   41  29H
  355. K_A_BACKSPACE    equ  00E00H ;CharCode =    0  00H   ScanCode =   14  0eH
  356. K_A_TAB          equ  00000H ;CharCode =             ScanCode =
  357. K_A_OPENBRKT     equ  01A00H ;CharCode =    0  00H   ScanCode =   26  1aH
  358. K_A_CLOSEBRKT    equ  01B00H ;CharCode =    0  00H   ScanCode =   27  1bH
  359. K_A_BACKSLASH    equ  02B00H ;CharCode =    0  00H   ScanCode =   43  2bH
  360. K_A_SEMICOLON    equ  02700H ;CharCode =    0  00H   ScanCode =   39  27H
  361. K_A_QUOTE        equ  02800H ;CharCode =    0  00H   ScanCode =   40  28H
  362. K_A_ENTER        equ  01C00H ;CharCode =    0  00H   ScanCode =   28  1cH
  363. K_A_COMMA        equ  03300H ;CharCode =    0  00H   ScanCode =   51  33H
  364. K_A_PERIOD       equ  03400H ;CharCode =    0  00H   ScanCode =   52  34H
  365. K_A_SLASH        equ  03500H ;CharCode =    0  00H   ScanCode =   53  35H
  366. K_A_UP           equ  00800H ;CharCode =    0  00H   ScanCode =    8  08H
  367. K_A_LEFT         equ  00400H ;CharCode =    0  00H   ScanCode =    4  04H
  368. K_A_DOWN         equ  00200H ;CharCode =    0  00H   ScanCode =    2  02H
  369. K_A_RIGHT        equ  00600H ;CharCode =    0  00H   ScanCode =    6  06H
  370. ;K_A_DEL          equ  0      ;CharCode =    0  00H   ScanCode =
  371. K_A_CENTER       equ  00005H ;CharCode =    5  00H   ScanCode =    0  00H
  372. K_A_END          equ  00100H ;CharCode =    0  00H   ScanCode =    1  01H
  373. K_A_PGDN         equ  00200H ;CharCode =    0  00H   ScanCode =    3  02H
  374. K_A_PGUP         equ  09000H ;CharCode =    0  00H   ScanCode =    9  09H
  375. ;K_A_INS          equ  0      ;CharCode =    0  00H   ScanCode =
  376. K_A_HOME         equ  00700H ;CharCode =    0  00H   ScanCode =    7  07H
  377. K_A_GRAY_INS     equ  0A200H ;CharCode =    0  00H   ScanCode =  162  a2H
  378. K_A_GRAY_HOME    equ  09700H ;CharCode =    0  00H   ScanCode =  151  97H
  379. K_A_GRAY_PGUP    equ  09900H ;CharCode =    0  00H   ScanCode =  153  99H
  380. K_A_GRAY_DEL     equ  0A300H ;CharCode =    0  00H   ScanCode =  163  a3H
  381. K_A_GRAY_CENTER  equ  00005H ;CharCode =    5  00H   ScanCode =    0  00H
  382. K_A_GRAY_END     equ  09F00H ;CharCode =    0  00H   ScanCode =  159  9fH
  383. K_A_GRAY_PGDN    equ  0A100H ;CharCode =    0  00H   ScanCode =  161  a1H
  384. K_A_GRAY_UP      equ  09800H ;CharCode =    0  00H   ScanCode =  152  98H
  385. K_A_GRAY_LEFT    equ  09B00H ;CharCode =    0  00H   ScanCode =  155  9bH
  386. K_A_GRAY_DOWN    equ  0A000H ;CharCode =    0  00H   ScanCode =  160  a0H
  387. K_A_GRAY_RIGHT   equ  09D00H ;CharCode =    0  00H   ScanCode =  157  9dH
  388. K_A_GRAY_STAR    equ  03700H ;CharCode =    0  00H   ScanCode =   55  37H
  389. K_A_GRAY_SLASH   equ  0A400H ;CharCode =    0  00H   ScanCode =  164  a4H
  390. K_A_GRAY_MINUS   equ  04A00H ;CharCode =    0  00H   ScanCode =   74  4aH
  391. K_A_GRAY_ENTER   equ  0A600H ;CharCode =    0  00H   ScanCode =  166  a6H
  392. K_A_GRAY_PLUS    equ  04E00H ;CharCode =    0  00H   ScanCode =   78  4eH
  393.  
  394. ;--------- CONTROL KEYS
  395. ;K_C_PRTSC        equ         ;CharCode =    0  00H   ScanCode =
  396. K_C_SPACE        equ  03920H ;CharCode =   32  20H   ScanCode =   57  39H same as K_A_SPACE
  397. K_C_ENTER        equ  01C0AH ;CharCode =   10  0aH   ScanCode =   28  1cH
  398. K_C_LEFT         equ  07300H ;CharCode =    0  00H   ScanCode =  115  73H
  399. K_C_RIGHT        equ  07400H ;CharCode =    0  00H   ScanCode =  116  74H
  400. K_C_END          equ  07500H ;CharCode =    0  00H   ScanCode =  117  75H
  401. K_C_PGDN         equ  07600H ;CharCode =    0  00H   ScanCode =  118  76H
  402. K_C_HOME         equ  07700H ;CharCode =    0  00H   ScanCode =  119  77H
  403. K_C_PGUP         equ  08400H ;CharCode =    0  00H   ScanCode =  132  84H
  404. K_C_UP           equ  08D00H ;CharCode =    0  00H   ScanCode =  141  8dH
  405. K_C_DOWN         equ  09100H ;CharCode =    0  00H   ScanCode =  145  91H
  406. K_C_CENTER       equ  08F00H ;CharCode =    0  00H   ScanCode =  143  8fH
  407. K_C_INS          equ  02E00H ;CharCode =    0  00H   ScanCode =  146  2eH
  408. K_C_DEL          equ  02F00H ;CharCode =    0  00H   ScanCode =  147  2fH
  409. K_C_F1           equ  05E00H ;CharCode =    0  00H   ScanCode =   94  5eH
  410. K_C_F2           equ  05F00H ;CharCode =    0  00H   ScanCode =   95  5fH
  411. K_C_F3           equ  06000H ;CharCode =    0  00H   ScanCode =   96  60H
  412. K_C_F4           equ  06100H ;CharCode =    0  00H   ScanCode =   97  61H
  413. K_C_F5           equ  06200H ;CharCode =    0  00H   ScanCode =   98  62H
  414. K_C_F6           equ  06300H ;CharCode =    0  00H   ScanCode =   99  63H
  415. K_C_F7           equ  06400H ;CharCode =    0  00H   ScanCode =  100  64H
  416. K_C_F8           equ  06500H ;CharCode =    0  00H   ScanCode =  101  65H
  417. K_C_F9           equ  06600H ;CharCode =    0  00H   ScanCode =  102  66H
  418. K_C_F10          equ  06700H ;CharCode =    0  00H   ScanCode =  103  67H
  419. K_C_F11          equ  08900H ;CharCode =    0  00H   ScanCode =  137  89H
  420. K_C_F12          equ  08A00H ;CharCode =    0  00H   ScanCode =  138  8aH
  421. K_C_GRAY_HOME    equ  07700H ;CharCode =  224  e0H   ScanCode =  119  77H
  422. K_C_GRAY_END     equ  07500H ;CharCode =  224  e0H   ScanCode =  117  75H
  423. K_C_GRAY_LEFT    equ  07300H ;CharCode =  224  e0H   ScanCode =  115  73H
  424. K_C_GRAY_RIGHT   equ  07400H ;CharCode =  224  e0H   ScanCode =  116  74H
  425. K_C_GRAY_UP      equ  08DE0H ;CharCode =  224  e0H   ScanCode =  141  8df
  426. K_C_GRAY_DOWN    equ  091E0H ;CharCode =  224  e0H   ScanCode =  145  91H
  427. K_C_GRAY_PGDN    equ  07600H ;CharCode =  224  e0H   ScanCode =  118  76H
  428. K_C_GRAY_PGUP    equ  08400H ;CharCode =  224  e0H   ScanCode =  132  84H
  429. K_C_GRAY_CENTER  equ  08F00H ;CharCode =  224  e0H   ScanCode =  143  8fH
  430. K_C_GRAY_INS     equ  092E0H ;CharCode =  224  e0H   ScanCode =  146  92H
  431. K_C_GRAY_DEL     equ  093E0H ;CharCode =  224  e0H   ScanCode =  147  93H
  432. K_C_GRAY_SLASH   equ  09500H ;CharCode =    0  00H   ScanCode =  149  95H
  433. K_C_GRAY_STAR    equ  09600H ;CharCode =    0  00H   ScanCode =  150  96H
  434. K_C_GRAY_MINUS   equ  08E00H ;CharCode =    0  00H   ScanCode =  142  8eH
  435. K_C_GRAY_PLUS    equ  09000H ;CharCode =    0  00H   ScanCode =  144  90H
  436. K_C_GRAY_ENTER   equ  0E010H ;CharCode =   10  00H   ScanCode =  224  E0H
  437.  
  438. ;--------- SHIFT KEYS
  439. K_S_F1           equ  05400H ;CharCode =    0  00H   ScanCode =   84  54H
  440. K_S_F2           equ  05500H ;CharCode =    0  00H   ScanCode =   85  55H
  441. K_S_F3           equ  05600H ;CharCode =    0  00H   ScanCode =   86  56H
  442. K_S_F4           equ  05700H ;CharCode =    0  00H   ScanCode =   87  57H
  443. K_S_F5           equ  05800H ;CharCode =    0  00H   ScanCode =   88  58H
  444. K_S_F6           equ  05900H ;CharCode =    0  00H   ScanCode =   89  59H
  445. K_S_F7           equ  05A00H ;CharCode =    0  00H   ScanCode =   90  5aH
  446. K_S_F8           equ  05B00H ;CharCode =    0  00H   ScanCode =   91  5bH
  447. K_S_F9           equ  05C00H ;CharCode =    0  00H   ScanCode =   92  5cH
  448. K_S_F10          equ  05D00H ;CharCode =    0  00H   ScanCode =   93  5dH
  449. K_S_F11          equ  08700H ;CharCode =    0  00H   ScanCode =  135  87H
  450. K_S_F12          equ  08800H ;CharCode =    0  00H   ScanCode =  136  88H
  451. ;K_S_NUL          equ  0      ;CharCode =             ScanCode =
  452. K_S_TAB          equ  00F00H ;CharCode =    0  00H   ScanCode =   15  0fH
  453. K_S_ENTER        equ  01C0AH ;CharCode =   10  0aH   ScanCode =   28  1cH
  454. K_S_LEFT         equ  04B34H ;CharCode =   52  34H   ScanCode =   75  4bH
  455. K_S_RIGHT        equ  04D36H ;CharCode =   54  36H   ScanCode =   77  4dH
  456. K_S_END          equ  04F31H ;CharCode =   49  31H   ScanCode =   79  4fH
  457. K_S_PGDN         equ  05133H ;CharCode =   51  33H   ScanCode =   81  51H
  458. K_S_HOME         equ  04737H ;CharCode =   55  37H   ScanCode =   71  47H
  459. K_S_PGUP         equ  04939H ;CharCode =   57  39H   ScanCode =   73  49H
  460. K_S_INS          equ  05230H ;CharCode =   48  30H   ScanCode =   82  52H
  461. K_S_DEL          equ  0532EH ;CharCode =   46  2eH   ScanCode =   83  53H
  462. K_S_UP           equ  04838H ;CharCode =   56  38H   ScanCode =   72  48H
  463. K_S_DOWN         equ  05032H ;CharCode =   50  32H   ScanCode =   80  50H
  464. K_S_CENTER       equ  04C35H ;CharCode =   53  35H   ScanCode =   76  4cH
  465. K_S_GRAY_ENTER   equ  01CE0H ;CharCode =  224  e0H   ScanCode =   28  1cH
  466. K_S_GRAY_LEFT    equ  04BE0H ;CharCode =  224  e0H   ScanCode =   75  4bH
  467. K_S_GRAY_RIGHT   equ  04DE0H ;CharCode =  224  e0H   ScanCode =   77  4dH
  468. K_S_GRAY_END     equ  04FE0H ;CharCode =  224  e0H   ScanCode =   79  4fH
  469. K_S_GRAY_PGDN    equ  051E0H ;CharCode =  224  e0H   ScanCode =   81  51H
  470. K_S_GRAY_HOME    equ  047E0H ;CharCode =  224  e0H   ScanCode =   71  47H
  471. K_S_GRAY_PGUP    equ  049E0H ;CharCode =  224  e0H   ScanCode =   73  49H
  472. K_S_GRAY_INS     equ  052E0H ;CharCode =  224  e0H   ScanCode =   82  52H
  473. K_S_GRAY_DEL     equ  053E0H ;CharCode =  224  e0H   ScanCode =   83  53H
  474. K_S_GRAY_UP      equ  048E0H ;CharCode =  224  e0H   ScanCode =   72  48H
  475. K_S_GRAY_DOWN    equ  050E0H ;CharCode =  224  e0H   ScanCode =   80  50H
  476. K_S_GRAY_CENTER  equ  0E013H ;CharCode =   13  0dH   ScanCode =  224  E0H
  477.  
  478.