diff --git a/headers/os/drivers/usb/USB_hid.h b/headers/os/drivers/usb/USB_hid.h index 727ea65845..b4cc621775 100644 --- a/headers/os/drivers/usb/USB_hid.h +++ b/headers/os/drivers/usb/USB_hid.h @@ -42,4 +42,75 @@ typedef struct } _PACKED descriptor_info [1]; } _PACKED usb_hid_descriptor; + +/* + Usage Pages/IDs +*/ + +enum +{ + USAGE_PAGE_GENERIC_DESKTOP = 0x1, + USAGE_PAGE_SIMULATION, + USAGE_PAGE_VR, + USAGE_PAGE_SPORT, + USAGE_PAGE_GAME, + USAGE_PAGE_GENERIC, + USAGE_PAGE_KEYBOARD, + USAGE_PAGE_LED, + USAGE_PAGE_BUTTON, + USAGE_PAGE_ORDINAL, + USAGE_PAGE_TELEPHONY, + USAGE_PAGE_CONSUMER, + USAGE_PAGE_DIGITIZER, + USAGE_PAGE_PID = 0xf, + USAGE_PAGE_UNICODE, + USAGE_PAGE_ALPHANUM_DISPLAY = 0x14, + USAGE_PAGE_MEDICAL = 0x40 +}; + +/* Page 1: Generic Desktop */ + +enum +{ + USAGE_ID_POINTER = 0x1, + USAGE_ID_MOUSE, + USAGE_ID_JOYSTICK = 0x4, + USAGE_ID_GAMEPAD, + USAGE_ID_KEYBOARD, + USAGE_ID_KEYPAD, + USAGE_ID_MULTIAXIS = 0x8, + + USAGE_ID_X = 0x30, + USAGE_ID_Y, + USAGE_ID_Z, + USAGE_ID_RX, + USAGE_ID_RY, + USAGE_ID_RZ, + USAGE_ID_SLIDER, + USAGE_ID_DIAL, + USAGE_ID_WHEEL, + USAGE_ID_HAT_SWITCH, + USAGE_ID_COUNTED_BUFFER, + USAGE_ID_BYTE_COUNT, + USAGE_ID_MOTION_WAKEUP, + USAGE_ID_START, + USAGE_ID_SELECT, + USAGE_ID_VX = 0x40, + USAGE_ID_VY, + USAGE_ID_VZ, + USAGE_ID_VBRX, + USAGE_ID_VBRY, + USAGE_ID_VBRZ, + USAGE_ID_VNO, + USAGE_ID_FEATURE_NOTIFICATION +}; + +/* Page 2: Simulation */ + +enum +{ + USAGE_ID_RUDDER = 0xBA, + USAGE_ID_THROTTLE = 0xBB, +}; + #endif // USB_HID_H diff --git a/src/add-ons/kernel/drivers/input/hid/hidparse.c b/src/add-ons/kernel/drivers/input/hid/hidparse.c index e5563becbb..977c9ae0ae 100644 --- a/src/add-ons/kernel/drivers/input/hid/hidparse.c +++ b/src/add-ons/kernel/drivers/input/hid/hidparse.c @@ -32,6 +32,7 @@ #include +#include #include "hidparse.h" /* diff --git a/src/add-ons/kernel/drivers/input/hid/hidparse.h b/src/add-ons/kernel/drivers/input/hid/hidparse.h index e63a414ba5..b50781e9ab 100644 --- a/src/add-ons/kernel/drivers/input/hid/hidparse.h +++ b/src/add-ons/kernel/drivers/input/hid/hidparse.h @@ -169,51 +169,6 @@ int parse_report_descriptor size_t *total_report_size, int *first_report_id); -/* - Usage Pages/IDs -*/ - -enum -{ - USAGE_PAGE_GENERIC_DESKTOP = 1, - USAGE_PAGE_SIMULATION = 2, - USAGE_PAGE_GAME = 5, - USAGE_PAGE_KEYBOARD = 7, - USAGE_PAGE_LED, - USAGE_PAGE_BUTTONS, -}; - -/* Page 1: Generic Desktop */ - -enum -{ - USAGE_ID_POINTER = 1, - USAGE_ID_MOUSE = 2, - USAGE_ID_JOYSTICK = 4, - USAGE_ID_GAMEPAD, - USAGE_ID_KEYBOARD, - USAGE_ID_KEYPAD, - - USAGE_ID_X = 0x30, - USAGE_ID_Y, - USAGE_ID_Z, - USAGE_ID_RX, - USAGE_ID_RY, - USAGE_ID_RZ, - USAGE_ID_SLIDER, - USAGE_ID_DIAL, - USAGE_ID_WHEEL, - USAGE_ID_HAT_SWITCH, -}; - -/* Page 2: Simulation */ - -enum -{ - USAGE_ID_RUDDER = 0xBA, - USAGE_ID_THROTTLE = 0xBB, -}; - int count_controls (report_insn *insns, size_t num_insns,