|
126 | 126 | #define HID_KEY_SHIFT_RIGHT 0xE5 |
127 | 127 | #define HID_KEY_ALT_RIGHT 0xE6 |
128 | 128 | #define HID_KEY_GUI_RIGHT 0xE7 |
| 129 | + |
129 | 130 | #endif |
| 131 | + |
| 132 | + |
| 133 | + |
| 134 | +/// HID Usage Table - Table 6: Generic Desktop Page |
| 135 | +enum { |
| 136 | + HID_USAGE_DESKTOP_POINTER = 0x01, |
| 137 | + HID_USAGE_DESKTOP_MOUSE = 0x02, |
| 138 | + HID_USAGE_DESKTOP_JOYSTICK = 0x04, |
| 139 | + HID_USAGE_DESKTOP_GAMEPAD = 0x05, |
| 140 | + HID_USAGE_DESKTOP_KEYBOARD = 0x06, |
| 141 | + HID_USAGE_DESKTOP_KEYPAD = 0x07, |
| 142 | + HID_USAGE_DESKTOP_MULTI_AXIS_CONTROLLER = 0x08, |
| 143 | + HID_USAGE_DESKTOP_TABLET_PC_SYSTEM = 0x09, |
| 144 | + HID_USAGE_DESKTOP_X = 0x30, |
| 145 | + HID_USAGE_DESKTOP_Y = 0x31, |
| 146 | + HID_USAGE_DESKTOP_Z = 0x32, |
| 147 | + HID_USAGE_DESKTOP_RX = 0x33, |
| 148 | + HID_USAGE_DESKTOP_RY = 0x34, |
| 149 | + HID_USAGE_DESKTOP_RZ = 0x35, |
| 150 | + HID_USAGE_DESKTOP_SLIDER = 0x36, |
| 151 | + HID_USAGE_DESKTOP_DIAL = 0x37, |
| 152 | + HID_USAGE_DESKTOP_WHEEL = 0x38, |
| 153 | + HID_USAGE_DESKTOP_HAT_SWITCH = 0x39, |
| 154 | + HID_USAGE_DESKTOP_COUNTED_BUFFER = 0x3a, |
| 155 | + HID_USAGE_DESKTOP_BYTE_COUNT = 0x3b, |
| 156 | + HID_USAGE_DESKTOP_MOTION_WAKEUP = 0x3c, |
| 157 | + HID_USAGE_DESKTOP_START = 0x3d, |
| 158 | + HID_USAGE_DESKTOP_SELECT = 0x3e, |
| 159 | + HID_USAGE_DESKTOP_VX = 0x40, |
| 160 | + HID_USAGE_DESKTOP_VY = 0x41, |
| 161 | + HID_USAGE_DESKTOP_VZ = 0x42, |
| 162 | + HID_USAGE_DESKTOP_VBRX = 0x43, |
| 163 | + HID_USAGE_DESKTOP_VBRY = 0x44, |
| 164 | + HID_USAGE_DESKTOP_VBRZ = 0x45, |
| 165 | + HID_USAGE_DESKTOP_VNO = 0x46, |
| 166 | + HID_USAGE_DESKTOP_FEATURE_NOTIFICATION = 0x47, |
| 167 | + HID_USAGE_DESKTOP_RESOLUTION_MULTIPLIER = 0x48, |
| 168 | + HID_USAGE_DESKTOP_SYSTEM_CONTROL = 0x80, |
| 169 | + HID_USAGE_DESKTOP_SYSTEM_POWER_DOWN = 0x81, |
| 170 | + HID_USAGE_DESKTOP_SYSTEM_SLEEP = 0x82, |
| 171 | + HID_USAGE_DESKTOP_SYSTEM_WAKE_UP = 0x83, |
| 172 | + HID_USAGE_DESKTOP_SYSTEM_CONTEXT_MENU = 0x84, |
| 173 | + HID_USAGE_DESKTOP_SYSTEM_MAIN_MENU = 0x85, |
| 174 | + HID_USAGE_DESKTOP_SYSTEM_APP_MENU = 0x86, |
| 175 | + HID_USAGE_DESKTOP_SYSTEM_MENU_HELP = 0x87, |
| 176 | + HID_USAGE_DESKTOP_SYSTEM_MENU_EXIT = 0x88, |
| 177 | + HID_USAGE_DESKTOP_SYSTEM_MENU_SELECT = 0x89, |
| 178 | + HID_USAGE_DESKTOP_SYSTEM_MENU_RIGHT = 0x8A, |
| 179 | + HID_USAGE_DESKTOP_SYSTEM_MENU_LEFT = 0x8B, |
| 180 | + HID_USAGE_DESKTOP_SYSTEM_MENU_UP = 0x8C, |
| 181 | + HID_USAGE_DESKTOP_SYSTEM_MENU_DOWN = 0x8D, |
| 182 | + HID_USAGE_DESKTOP_SYSTEM_COLD_RESTART = 0x8E, |
| 183 | + HID_USAGE_DESKTOP_SYSTEM_WARM_RESTART = 0x8F, |
| 184 | + HID_USAGE_DESKTOP_DPAD_UP = 0x90, |
| 185 | + HID_USAGE_DESKTOP_DPAD_DOWN = 0x91, |
| 186 | + HID_USAGE_DESKTOP_DPAD_RIGHT = 0x92, |
| 187 | + HID_USAGE_DESKTOP_DPAD_LEFT = 0x93, |
| 188 | + HID_USAGE_DESKTOP_SYSTEM_DOCK = 0xA0, |
| 189 | + HID_USAGE_DESKTOP_SYSTEM_UNDOCK = 0xA1, |
| 190 | + HID_USAGE_DESKTOP_SYSTEM_SETUP = 0xA2, |
| 191 | + HID_USAGE_DESKTOP_SYSTEM_BREAK = 0xA3, |
| 192 | + HID_USAGE_DESKTOP_SYSTEM_DEBUGGER_BREAK = 0xA4, |
| 193 | + HID_USAGE_DESKTOP_APPLICATION_BREAK = 0xA5, |
| 194 | + HID_USAGE_DESKTOP_APPLICATION_DEBUGGER_BREAK = 0xA6, |
| 195 | + HID_USAGE_DESKTOP_SYSTEM_SPEAKER_MUTE = 0xA7, |
| 196 | + HID_USAGE_DESKTOP_SYSTEM_HIBERNATE = 0xA8, |
| 197 | + HID_USAGE_DESKTOP_SYSTEM_DISPLAY_INVERT = 0xB0, |
| 198 | + HID_USAGE_DESKTOP_SYSTEM_DISPLAY_INTERNAL = 0xB1, |
| 199 | + HID_USAGE_DESKTOP_SYSTEM_DISPLAY_EXTERNAL = 0xB2, |
| 200 | + HID_USAGE_DESKTOP_SYSTEM_DISPLAY_BOTH = 0xB3, |
| 201 | + HID_USAGE_DESKTOP_SYSTEM_DISPLAY_DUAL = 0xB4, |
| 202 | + HID_USAGE_DESKTOP_SYSTEM_DISPLAY_TOGGLE_INT_EXT = 0xB5, |
| 203 | + HID_USAGE_DESKTOP_SYSTEM_DISPLAY_SWAP_PRIMARY_SECONDARY = 0xB6, |
| 204 | + HID_USAGE_DESKTOP_SYSTEM_DISPLAY_LCD_AUTOSCALE = 0xB7 |
| 205 | +}; |
| 206 | + |
| 207 | +enum |
| 208 | +{ |
| 209 | + // Generic Control |
| 210 | + HID_USAGE_CONSUMER_CONTROL = 0x0001, |
| 211 | + |
| 212 | + // Power Control |
| 213 | + HID_USAGE_CONSUMER_POWER = 0x0030, |
| 214 | + HID_USAGE_CONSUMER_RESET = 0x0031, |
| 215 | + HID_USAGE_CONSUMER_SLEEP = 0x0032, |
| 216 | + |
| 217 | + // Screen Brightness |
| 218 | + HID_USAGE_CONSUMER_BRIGHTNESS_INCREMENT = 0x006F, |
| 219 | + HID_USAGE_CONSUMER_BRIGHTNESS_DECREMENT = 0x0070, |
| 220 | + |
| 221 | + // These HID usages operate only on mobile systems (battery powered) and |
| 222 | + // require Windows 8 (build 8302 or greater). |
| 223 | + HID_USAGE_CONSUMER_WIRELESS_RADIO_CONTROLS = 0x000C, |
| 224 | + HID_USAGE_CONSUMER_WIRELESS_RADIO_BUTTONS = 0x00C6, |
| 225 | + HID_USAGE_CONSUMER_WIRELESS_RADIO_LED = 0x00C7, |
| 226 | + HID_USAGE_CONSUMER_WIRELESS_RADIO_SLIDER_SWITCH = 0x00C8, |
| 227 | + |
| 228 | + // Media Control |
| 229 | + HID_USAGE_CONSUMER_PLAY_PAUSE = 0x00CD, |
| 230 | + HID_USAGE_CONSUMER_SCAN_NEXT = 0x00B5, |
| 231 | + HID_USAGE_CONSUMER_SCAN_PREVIOUS = 0x00B6, |
| 232 | + HID_USAGE_CONSUMER_STOP = 0x00B7, |
| 233 | + HID_USAGE_CONSUMER_VOLUME = 0x00E0, |
| 234 | + HID_USAGE_CONSUMER_MUTE = 0x00E2, |
| 235 | + HID_USAGE_CONSUMER_BASS = 0x00E3, |
| 236 | + HID_USAGE_CONSUMER_TREBLE = 0x00E4, |
| 237 | + HID_USAGE_CONSUMER_BASS_BOOST = 0x00E5, |
| 238 | + HID_USAGE_CONSUMER_VOLUME_INCREMENT = 0x00E9, |
| 239 | + HID_USAGE_CONSUMER_VOLUME_DECREMENT = 0x00EA, |
| 240 | + HID_USAGE_CONSUMER_BASS_INCREMENT = 0x0152, |
| 241 | + HID_USAGE_CONSUMER_BASS_DECREMENT = 0x0153, |
| 242 | + HID_USAGE_CONSUMER_TREBLE_INCREMENT = 0x0154, |
| 243 | + HID_USAGE_CONSUMER_TREBLE_DECREMENT = 0x0155, |
| 244 | + |
| 245 | + // Application Launcher |
| 246 | + HID_USAGE_CONSUMER_AL_CONSUMER_CONTROL_CONFIGURATION = 0x0183, |
| 247 | + HID_USAGE_CONSUMER_AL_EMAIL_READER = 0x018A, |
| 248 | + HID_USAGE_CONSUMER_AL_CALCULATOR = 0x0192, |
| 249 | + HID_USAGE_CONSUMER_AL_LOCAL_BROWSER = 0x0194, |
| 250 | + |
| 251 | + // Browser/Explorer Specific |
| 252 | + HID_USAGE_CONSUMER_AC_SEARCH = 0x0221, |
| 253 | + HID_USAGE_CONSUMER_AC_HOME = 0x0223, |
| 254 | + HID_USAGE_CONSUMER_AC_BACK = 0x0224, |
| 255 | + HID_USAGE_CONSUMER_AC_FORWARD = 0x0225, |
| 256 | + HID_USAGE_CONSUMER_AC_STOP = 0x0226, |
| 257 | + HID_USAGE_CONSUMER_AC_REFRESH = 0x0227, |
| 258 | + HID_USAGE_CONSUMER_AC_BOOKMARKS = 0x022A, |
| 259 | + |
| 260 | + // Mouse Horizontal scroll |
| 261 | + HID_USAGE_CONSUMER_AC_PAN = 0x0238, |
| 262 | +}; |
| 263 | + |
| 264 | + |
130 | 265 | /*-------------------------------------------------------------------- |
131 | 266 | * KEYCODE to Ascii Conversion |
132 | 267 | * Expand to array of [128][2] (ascii without shift, ascii with shift) |
|
140 | 275 | *--------------------------------------------------------------------*/ |
141 | 276 |
|
142 | 277 |
|
| 278 | + |
| 279 | + |
| 280 | + |
143 | 281 | #define HID_KEYCODE_TO_ASCII \ |
144 | 282 | {0 , 0 }, /* 0x00 */ \ |
145 | 283 | {0 , 0 }, /* 0x01 */ \ |
|
0 commit comments