home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 330_02 / kbd.h < prev    next >
Text File  |  1990-10-12  |  6KB  |  166 lines

  1. /*
  2.    --- Version 2.1 90-10-12 10:34 ---
  3.  
  4.    KBD.H - CTask - Keyboard hotkey scan-code and flag definitions.
  5.  
  6.    Public Domain Software written by
  7.       Thomas Wagner
  8.       Ferrari electronic Gmbh
  9.       Beusselstrasse 27
  10.       D-1000 Berlin 21
  11.       Germany
  12. */
  13.  
  14.  
  15. /* flags1: Keyboard flag byte 1 (at 0040:0017) */
  16.  
  17. #define KF1_RIGHTSHIFT   0x01     /* right shift key down */
  18. #define KF1_LEFTSHIFT    0x02     /* left shift key down */
  19. #define KF1_CONTROL      0x04     /* either control key down */
  20. #define KF1_ALT          0x08     /* either alt key down */
  21. #define KF1_SCROLLOCK    0x10     /* scroll lock toggle */
  22. #define KF1_NUMLOCK      0x20     /* num lock toggle */
  23. #define KF1_CAPSLOCK     0x40     /* caps lock toggle */
  24. #define KF1_INSLOCK      0x80     /* ins toggle */
  25.  
  26. /* flags2: Keyboard flag byte 2 (at 0040:0018) */
  27.  
  28. #define KF2_LEFT_CTL     0x01     /* left control key down */
  29. #define KF2_LEFT_ALT     0x02     /* left alt key down */
  30. #define KF2_SYSREQKEY    0x04     /* sys req key down */
  31. #define KF2_PAUSELOCK    0x08     /* pause toggle */
  32. #define KF2_SCRLOCKKEY   0x10     /* scroll lock key down */
  33. #define KF2_NUMLOCKKEY   0x20     /* num lock key down */
  34. #define KF2_CAPSKEY      0x40     /* caps lock key down */
  35. #define KF2_INSKEY       0x80     /* ins key down */
  36.  
  37. /* flags3: AT enhanced BIOS only keyboard flags at 0040:0096 */
  38.  
  39. #define KF3_LAST_E1      0x01     /* Last scancode was E1 prefix */
  40. #define KF3_LAST_E0      0x02     /* Last scancode was E0 prefix */
  41. #define KF3_RIGHT_CTL    0x04     /* right control key down */
  42. #define KF3_RIGHT_ALT    0x08     /* right alt key (AltGr key) down */
  43. #define KF3_IS_101       0x10     /* 101/102-key keyboard present */
  44. #define KF3_FORCE_NUML   0x20     /* force numlock (init only) */
  45. #define KF3_LAST_FIRSTID 0x40     /* last was read first ID (init only) */
  46. #define KF3_READ_ID      0x80     /* read ID (init only) */
  47.  
  48. /* AT only keyboard flags at 0040:0097 (not used for hotkeys) */
  49.  
  50. #define KF4_LED_SCRLOCK  0x01     /* scroll lock LED state */
  51. #define KF4_LED_NUMLOCK  0x02     /* num lock LED state */
  52. #define KF4_LED_CAPLOCK  0x04     /* caps lock LED state */
  53. #define KF4_USKEYB       0x08     /* US layout (some KEYBxx drivers) */
  54. #define KF4_ACK          0x10     /* ACK received */
  55. #define KF4_RESEND       0x20     /* Resend received */
  56. #define KF4_LED_UPD      0x40     /* LED update in progress */
  57. #define KF4_XMIT_ERR     0x80     /* Transmit error */
  58.  
  59.  
  60. /* Keyboard scan codes */
  61.  
  62. #define SCAN_ESC        0x01
  63.                         
  64. #define SCAN_1          0x02
  65. #define SCAN_2          0x03
  66. #define SCAN_3          0x04
  67. #define SCAN_4          0x05
  68. #define SCAN_5          0x06
  69. #define SCAN_6          0x07
  70. #define SCAN_7          0x08
  71. #define SCAN_8          0x09
  72. #define SCAN_9          0x0a
  73. #define SCAN_0          0x0b
  74.                         
  75. #define SCAN_MINUS      0x0c     /* Minus sign on US keyboard only */
  76. #define SCAN_EQUAL      0x0d     /* Equals sign on US keyboard only */
  77.                         
  78. #define SCAN_BACKSPACE  0x0e
  79. #define SCAN_TAB        0x0f
  80.                         
  81. #define SCAN_Q          0x10
  82. #define SCAN_W          0x11
  83. #define SCAN_E          0x12
  84. #define SCAN_R          0x13
  85. #define SCAN_T          0x14
  86. #define SCAN_Y          0x15     /* Y on US keyboard, Z on German */
  87. #define SCAN_U          0x16
  88. #define SCAN_I          0x17
  89. #define SCAN_O          0x18
  90. #define SCAN_P          0x19
  91.                         
  92. #define SCAN_OBRACK     0x1a     /* Open bracket on US keyboard only */
  93. #define SCAN_CBRACK     0x1b     /* Close bracket on US keyboard only */
  94.                         
  95. #define SCAN_ENTER      0x1c
  96. #define SCAN_CONTROL    0x1d
  97.                         
  98. #define SCAN_A          0x1e
  99. #define SCAN_S          0x1f
  100. #define SCAN_D          0x20
  101. #define SCAN_F          0x21
  102. #define SCAN_G          0x22
  103. #define SCAN_H          0x23
  104. #define SCAN_J          0x24
  105. #define SCAN_K          0x25
  106. #define SCAN_L          0x26
  107.                         
  108. #define SCAN_SEMICOLON  0x27     /* Semicolon on US keyboard only */
  109. #define SCAN_SQUOTE     0x28     /* Single quote on US keyboard only */
  110. #define SCAN_BQUOTE     0x29     /* Back quote on US keyboard only */
  111.                         
  112. #define SCAN_LSHIFT     0x2a     /* Left shift */
  113.                         
  114. #define SCAN_BACKSLASH  0x2b     /* Back slash on US keyboard only */
  115.                         
  116. #define SCAN_Z          0x2c     /* Z on US keyboard, Y on German */
  117. #define SCAN_X          0x2d
  118. #define SCAN_C          0x2e
  119. #define SCAN_V          0x2f
  120. #define SCAN_B          0x30
  121. #define SCAN_N          0x31
  122. #define SCAN_M          0x32
  123.                         
  124. #define SCAN_COMMA      0x33     /* Comma on most keyboards */
  125. #define SCAN_DOT        0x34     /* Dot on most keyboards */
  126. #define SCAN_SLASH      0x35     /* Slash on US keyboard only */
  127.                         
  128. #define SCAN_RSHIFT     0x36     /* Right shift */
  129. #define SCAN_PRTSCR     0x37     /* Print screen */
  130. #define SCAN_ALT        0x38     /* Alt key */
  131. #define SCAN_SPACE      0x39     /* Space bar */
  132. #define SCAN_CAPLOCK    0x3a     /* Caps lock */
  133.                         
  134. #define SCAN_F1         0x3b
  135. #define SCAN_F2         0x3c
  136. #define SCAN_F3         0x3d
  137. #define SCAN_F4         0x3e
  138. #define SCAN_F5         0x3f
  139. #define SCAN_F6         0x40
  140. #define SCAN_F7         0x41
  141. #define SCAN_F8         0x42
  142. #define SCAN_F9         0x43
  143. #define SCAN_F10        0x44
  144.                         
  145. #define SCAN_NUMLOCK    0x45     /* Num lock */
  146. #define SCAN_SCRLOCK    0x46     /* Scroll lock */
  147.                         
  148. #define SCAN_HOME       0x47
  149. #define SCAN_CSRUP      0x48
  150. #define SCAN_PAGEUP     0x49
  151. #define SCAN_GRAY_MINUS 0x4a
  152. #define SCAN_CSRLEFT    0x4b
  153. #define SCAN_NUMPAD_5   0x4c
  154. #define SCAN_CSRRIGHT   0x4d
  155. #define SCAN_GRAY_PLUS  0x4e
  156. #define SCAN_END        0x4f
  157. #define SCAN_CSRDOWN    0x50
  158. #define SCAN_PAGEDOWN   0x51
  159.  
  160. #define SCAN_INS        0x52
  161. #define SCAN_DEL        0x53
  162.  
  163. #define SCAN_F11        0x57
  164. #define SCAN_F12        0x58
  165.  
  166.