SpacePoint Fusion plugin 1.0

hid/hidusage.h

00001 /*++
00002 
00003 Copyright (c) 1996, 1997      Microsoft Corporation
00004 
00005 Module Name:
00006 
00007         HIDUSAGE.H
00008 
00009 Abstract:
00010 
00011    Public Definitions of HID USAGES.
00012 
00013 Environment:
00014 
00015     Kernel & user mode
00016 
00017 Revision History:
00018 
00019     Aug-1996 : created by Kenneth D. Ray
00020     Jun-1997 : updated by Robert Ingman to reflect final HID 1.0 spec
00021                and HID Usages Table 0.9 spec.
00022 
00023 --*/
00024 
00025 #ifndef   __HIDUSAGE_H__
00026 #define   __HIDUSAGE_H__
00027 
00028 //
00029 // Usage Pages
00030 //
00031 
00032 typedef USHORT USAGE, *PUSAGE;
00033 
00034 #define HID_USAGE_PAGE_GENERIC        ((USAGE) 0x01)
00035 #define HID_USAGE_PAGE_SIMULATION     ((USAGE) 0x02)
00036 #define HID_USAGE_PAGE_VR             ((USAGE) 0x03)
00037 #define HID_USAGE_PAGE_SPORT          ((USAGE) 0x04)
00038 #define HID_USAGE_PAGE_GAME           ((USAGE) 0x05)
00039 #define HID_USAGE_PAGE_KEYBOARD       ((USAGE) 0x07)
00040 #define HID_USAGE_PAGE_LED            ((USAGE) 0x08)
00041 #define HID_USAGE_PAGE_BUTTON         ((USAGE) 0x09)
00042 #define HID_USAGE_PAGE_ORDINAL        ((USAGE) 0x0A)
00043 #define HID_USAGE_PAGE_TELEPHONY      ((USAGE) 0x0B)
00044 #define HID_USAGE_PAGE_CONSUMER       ((USAGE) 0x0C)
00045 #define HID_USAGE_PAGE_DIGITIZER      ((USAGE) 0x0D)
00046 #define HID_USAGE_PAGE_UNICODE        ((USAGE) 0x10)
00047 #define HID_USAGE_PAGE_ALPHANUMERIC   ((USAGE) 0x14)
00048 
00049 
00050 //
00051 // Usages from Generic Desktop Page (0x01)
00052 //
00053 
00054 #define HID_USAGE_GENERIC_POINTER      ((USAGE) 0x01)
00055 #define HID_USAGE_GENERIC_MOUSE        ((USAGE) 0x02)
00056 #define HID_USAGE_GENERIC_JOYSTICK     ((USAGE) 0x04)
00057 #define HID_USAGE_GENERIC_GAMEPAD      ((USAGE) 0x05)
00058 #define HID_USAGE_GENERIC_KEYBOARD     ((USAGE) 0x06)
00059 #define HID_USAGE_GENERIC_KEYPAD       ((USAGE) 0x07)
00060 #define HID_USAGE_GENERIC_SYSTEM_CTL   ((USAGE) 0x80)
00061 
00062 #define HID_USAGE_GENERIC_X                        ((USAGE) 0x30)
00063 #define HID_USAGE_GENERIC_Y                        ((USAGE) 0x31)
00064 #define HID_USAGE_GENERIC_Z                        ((USAGE) 0x32)
00065 #define HID_USAGE_GENERIC_RX                       ((USAGE) 0x33)
00066 #define HID_USAGE_GENERIC_RY                       ((USAGE) 0x34)
00067 #define HID_USAGE_GENERIC_RZ                       ((USAGE) 0x35)
00068 #define HID_USAGE_GENERIC_SLIDER                   ((USAGE) 0x36)
00069 #define HID_USAGE_GENERIC_DIAL                     ((USAGE) 0x37)
00070 #define HID_USAGE_GENERIC_WHEEL                    ((USAGE) 0x38)
00071 #define HID_USAGE_GENERIC_HATSWITCH                ((USAGE) 0x39)
00072 #define HID_USAGE_GENERIC_COUNTED_BUFFER           ((USAGE) 0x3A)
00073 #define HID_USAGE_GENERIC_BYTE_COUNT               ((USAGE) 0x3B)
00074 #define HID_USAGE_GENERIC_MOTION_WAKEUP            ((USAGE) 0x3C)
00075 #define HID_USAGE_GENERIC_VX                       ((USAGE) 0x40)
00076 #define HID_USAGE_GENERIC_VY                       ((USAGE) 0x41)
00077 #define HID_USAGE_GENERIC_VZ                       ((USAGE) 0x42)
00078 #define HID_USAGE_GENERIC_VBRX                     ((USAGE) 0x43)
00079 #define HID_USAGE_GENERIC_VBRY                     ((USAGE) 0x44)
00080 #define HID_USAGE_GENERIC_VBRZ                     ((USAGE) 0x45)
00081 #define HID_USAGE_GENERIC_VNO                      ((USAGE) 0x46)
00082 #define HID_USAGE_GENERIC_SYSCTL_POWER             ((USAGE) 0x81)
00083 #define HID_USAGE_GENERIC_SYSCTL_SLEEP             ((USAGE) 0x82)
00084 #define HID_USAGE_GENERIC_SYSCTL_WAKE              ((USAGE) 0x83)
00085 #define HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU      ((USAGE) 0x84)
00086 #define HID_USAGE_GENERIC_SYSCTL_MAIN_MENU         ((USAGE) 0x85)
00087 #define HID_USAGE_GENERIC_SYSCTL_APP_MENU          ((USAGE) 0x86)
00088 #define HID_USAGE_GENERIC_SYSCTL_HELP_MENU         ((USAGE) 0x87)
00089 #define HID_USAGE_GENERIC_SYSCTL_MENU_EXIT         ((USAGE) 0x88)
00090 #define HID_USAGE_GENERIC_SYSCTL_MENU_SELECT       ((USAGE) 0x89)
00091 #define HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT        ((USAGE) 0x8A)
00092 #define HID_USAGE_GENERIC_SYSCTL_MENU_LEFT         ((USAGE) 0x8B)
00093 #define HID_USAGE_GENERIC_SYSCTL_MENU_UP           ((USAGE) 0x8C)
00094 #define HID_USAGE_GENERIC_SYSCTL_MENU_DOWN         ((USAGE) 0x8D)
00095 
00096 //
00097 // Usages from Simulation Controls Page (0x02)
00098 //
00099 
00100 #define HID_USAGE_SIMULATION_RUDDER                ((USAGE) 0xBA)
00101 #define HID_USAGE_SIMULATION_THROTTLE              ((USAGE) 0xBB)
00102 
00103 //
00104 // Virtual Reality Controls Page (0x03)
00105 //
00106 
00107 
00108 //
00109 // Sport Controls Page (0x04)
00110 //
00111 
00112 
00113 //
00114 // Game Controls Page (0x05)
00115 //
00116 
00117 
00118 //
00119 // Keyboard/Keypad Page (0x07)
00120 //
00121 
00122         // Error "keys"
00123 #define HID_USAGE_KEYBOARD_NOEVENT     ((USAGE) 0x00)
00124 #define HID_USAGE_KEYBOARD_ROLLOVER    ((USAGE) 0x01)
00125 #define HID_USAGE_KEYBOARD_POSTFAIL    ((USAGE) 0x02)
00126 #define HID_USAGE_KEYBOARD_UNDEFINED   ((USAGE) 0x03)
00127 
00128         // Letters
00129 #define HID_USAGE_KEYBOARD_aA          ((USAGE) 0x04)
00130 #define HID_USAGE_KEYBOARD_zZ          ((USAGE) 0x1D)
00131         // Numbers
00132 #define HID_USAGE_KEYBOARD_ONE         ((USAGE) 0x1E)
00133 #define HID_USAGE_KEYBOARD_ZERO        ((USAGE) 0x27)
00134         // Modifier Keys
00135 #define HID_USAGE_KEYBOARD_LCTRL       ((USAGE) 0xE0)
00136 #define HID_USAGE_KEYBOARD_LSHFT       ((USAGE) 0xE1)
00137 #define HID_USAGE_KEYBOARD_LALT        ((USAGE) 0xE2)
00138 #define HID_USAGE_KEYBOARD_LGUI        ((USAGE) 0xE3)
00139 #define HID_USAGE_KEYBOARD_RCTRL       ((USAGE) 0xE4)
00140 #define HID_USAGE_KEYBOARD_RSHFT       ((USAGE) 0xE5)
00141 #define HID_USAGE_KEYBOARD_RALT        ((USAGE) 0xE6)
00142 #define HID_USAGE_KEYBOARD_RGUI        ((USAGE) 0xE7)
00143 #define HID_USAGE_KEYBOARD_SCROLL_LOCK ((USAGE) 0x47)
00144 #define HID_USAGE_KEYBOARD_NUM_LOCK    ((USAGE) 0x53)
00145 #define HID_USAGE_KEYBOARD_CAPS_LOCK   ((USAGE) 0x39)
00146         // Funtion keys
00147 #define HID_USAGE_KEYBOARD_F1          ((USAGE) 0x3A)
00148 #define HID_USAGE_KEYBOARD_F12         ((USAGE) 0x45)
00149 
00150 #define HID_USAGE_KEYBOARD_RETURN      ((USAGE) 0x28)
00151 #define HID_USAGE_KEYBOARD_ESCAPE      ((USAGE) 0x29)
00152 #define HID_USAGE_KEYBOARD_DELETE      ((USAGE) 0x2A)
00153 
00154 #define HID_USAGE_KEYBOARD_PRINT_SCREEN ((USAGE) 0x46)
00155 
00156 // and hundreds more...
00157 
00158 //
00159 // LED Page (0x08)
00160 //
00161 
00162 #define HID_USAGE_LED_NUM_LOCK               ((USAGE) 0x01)
00163 #define HID_USAGE_LED_CAPS_LOCK              ((USAGE) 0x02)
00164 #define HID_USAGE_LED_SCROLL_LOCK            ((USAGE) 0x03)
00165 #define HID_USAGE_LED_COMPOSE                ((USAGE) 0x04)
00166 #define HID_USAGE_LED_KANA                   ((USAGE) 0x05)
00167 #define HID_USAGE_LED_POWER                  ((USAGE) 0x06)
00168 #define HID_USAGE_LED_SHIFT                  ((USAGE) 0x07)
00169 #define HID_USAGE_LED_DO_NOT_DISTURB         ((USAGE) 0x08)
00170 #define HID_USAGE_LED_MUTE                   ((USAGE) 0x09)
00171 #define HID_USAGE_LED_TONE_ENABLE            ((USAGE) 0x0A)
00172 #define HID_USAGE_LED_HIGH_CUT_FILTER        ((USAGE) 0x0B)
00173 #define HID_USAGE_LED_LOW_CUT_FILTER         ((USAGE) 0x0C)
00174 #define HID_USAGE_LED_EQUALIZER_ENABLE       ((USAGE) 0x0D)
00175 #define HID_USAGE_LED_SOUND_FIELD_ON         ((USAGE) 0x0E)
00176 #define HID_USAGE_LED_SURROUND_FIELD_ON      ((USAGE) 0x0F)
00177 #define HID_USAGE_LED_REPEAT                 ((USAGE) 0x10)
00178 #define HID_USAGE_LED_STEREO                 ((USAGE) 0x11)
00179 #define HID_USAGE_LED_SAMPLING_RATE_DETECT   ((USAGE) 0x12)
00180 #define HID_USAGE_LED_SPINNING               ((USAGE) 0x13)
00181 #define HID_USAGE_LED_CAV                    ((USAGE) 0x14)
00182 #define HID_USAGE_LED_CLV                    ((USAGE) 0x15)
00183 #define HID_USAGE_LED_RECORDING_FORMAT_DET   ((USAGE) 0x16)
00184 #define HID_USAGE_LED_OFF_HOOK               ((USAGE) 0x17)
00185 #define HID_USAGE_LED_RING                   ((USAGE) 0x18)
00186 #define HID_USAGE_LED_MESSAGE_WAITING        ((USAGE) 0x19)
00187 #define HID_USAGE_LED_DATA_MODE              ((USAGE) 0x1A)
00188 #define HID_USAGE_LED_BATTERY_OPERATION      ((USAGE) 0x1B)
00189 #define HID_USAGE_LED_BATTERY_OK             ((USAGE) 0x1C)
00190 #define HID_USAGE_LED_BATTERY_LOW            ((USAGE) 0x1D)
00191 #define HID_USAGE_LED_SPEAKER                ((USAGE) 0x1E)
00192 #define HID_USAGE_LED_HEAD_SET               ((USAGE) 0x1F)
00193 #define HID_USAGE_LED_HOLD                   ((USAGE) 0x20)
00194 #define HID_USAGE_LED_MICROPHONE             ((USAGE) 0x21)
00195 #define HID_USAGE_LED_COVERAGE               ((USAGE) 0x22)
00196 #define HID_USAGE_LED_NIGHT_MODE             ((USAGE) 0x23)
00197 #define HID_USAGE_LED_SEND_CALLS             ((USAGE) 0x24)
00198 #define HID_USAGE_LED_CALL_PICKUP            ((USAGE) 0x25)
00199 #define HID_USAGE_LED_CONFERENCE             ((USAGE) 0x26)
00200 #define HID_USAGE_LED_STAND_BY               ((USAGE) 0x27)
00201 #define HID_USAGE_LED_CAMERA_ON              ((USAGE) 0x28)
00202 #define HID_USAGE_LED_CAMERA_OFF             ((USAGE) 0x29)
00203 #define HID_USAGE_LED_ON_LINE                ((USAGE) 0x2A)
00204 #define HID_USAGE_LED_OFF_LINE               ((USAGE) 0x2B)
00205 #define HID_USAGE_LED_BUSY                   ((USAGE) 0x2C)
00206 #define HID_USAGE_LED_READY                  ((USAGE) 0x2D)
00207 #define HID_USAGE_LED_PAPER_OUT              ((USAGE) 0x2E)
00208 #define HID_USAGE_LED_PAPER_JAM              ((USAGE) 0x2F)
00209 #define HID_USAGE_LED_REMOTE                 ((USAGE) 0x30)
00210 #define HID_USAGE_LED_FORWARD                ((USAGE) 0x31)
00211 #define HID_USAGE_LED_REVERSE                ((USAGE) 0x32)
00212 #define HID_USAGE_LED_STOP                   ((USAGE) 0x33)
00213 #define HID_USAGE_LED_REWIND                 ((USAGE) 0x34)
00214 #define HID_USAGE_LED_FAST_FORWARD           ((USAGE) 0x35)
00215 #define HID_USAGE_LED_PLAY                   ((USAGE) 0x36)
00216 #define HID_USAGE_LED_PAUSE                  ((USAGE) 0x37)
00217 #define HID_USAGE_LED_RECORD                 ((USAGE) 0x38)
00218 #define HID_USAGE_LED_ERROR                  ((USAGE) 0x39)
00219 #define HID_USAGE_LED_SELECTED_INDICATOR     ((USAGE) 0x3A)
00220 #define HID_USAGE_LED_IN_USE_INDICATOR       ((USAGE) 0x3B)
00221 #define HID_USAGE_LED_MULTI_MODE_INDICATOR   ((USAGE) 0x3C)
00222 #define HID_USAGE_LED_INDICATOR_ON           ((USAGE) 0x3D)
00223 #define HID_USAGE_LED_INDICATOR_FLASH        ((USAGE) 0x3E)
00224 #define HID_USAGE_LED_INDICATOR_SLOW_BLINK   ((USAGE) 0x3F)
00225 #define HID_USAGE_LED_INDICATOR_FAST_BLINK   ((USAGE) 0x40)
00226 #define HID_USAGE_LED_INDICATOR_OFF          ((USAGE) 0x41)
00227 #define HID_USAGE_LED_FLASH_ON_TIME          ((USAGE) 0x42)
00228 #define HID_USAGE_LED_SLOW_BLINK_ON_TIME     ((USAGE) 0x43)
00229 #define HID_USAGE_LED_SLOW_BLINK_OFF_TIME    ((USAGE) 0x44)
00230 #define HID_USAGE_LED_FAST_BLINK_ON_TIME     ((USAGE) 0x45)
00231 #define HID_USAGE_LED_FAST_BLINK_OFF_TIME    ((USAGE) 0x46)
00232 #define HID_USAGE_LED_INDICATOR_COLOR        ((USAGE) 0x47)
00233 #define HID_USAGE_LED_RED                    ((USAGE) 0x48)
00234 #define HID_USAGE_LED_GREEN                  ((USAGE) 0x49)
00235 #define HID_USAGE_LED_AMBER                  ((USAGE) 0x4A)
00236 #define HID_USAGE_LED_GENERIC_INDICATOR      ((USAGE) 0x3B)
00237 
00238 //
00239 //  Button Page (0x09)
00240 //
00241 //  There is no need to label these usages.
00242 //
00243 
00244 
00245 //
00246 //  Ordinal Page (0x0A)
00247 //
00248 //  There is no need to label these usages.
00249 //
00250 
00251 
00252 //
00253 //  Telephony Device Page (0x0B)
00254 //
00255 
00256 #define HID_USAGE_TELEPHONY_PHONE                  ((USAGE) 0x01)
00257 #define HID_USAGE_TELEPHONY_ANSWERING_MACHINE      ((USAGE) 0x02)
00258 #define HID_USAGE_TELEPHONY_MESSAGE_CONTROLS       ((USAGE) 0x03)
00259 #define HID_USAGE_TELEPHONY_HANDSET                ((USAGE) 0x04)
00260 #define HID_USAGE_TELEPHONY_HEADSET                ((USAGE) 0x05)
00261 #define HID_USAGE_TELEPHONY_KEYPAD                 ((USAGE) 0x06)
00262 #define HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON    ((USAGE) 0x07)
00263 
00264 //
00265 // and others...
00266 //
00267 
00268 
00269 #endif
00270