Index: USB_hid_page_usb_monitor.h
===================================================================
--- USB_hid_page_usb_monitor.h	(revision 0)
+++ USB_hid_page_usb_monitor.h	(revision 0)
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_USB_MONITOR_H
+#define _USB_HID_PAGE_USB_MONITOR_H
+
+
+/* Reference:
+ *		HID Usage Page 0x80: USB MONITOR
+ *		USB Monitor Control Class Specification, Rev. 1.0
+ *		http://www.usb.org/developers/devclass_docs/usbmon10.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_MON_MONITOR_CONTROL = 0x01,
+	B_HID_UID_MON_EDID_INFORMATION,
+	B_HID_UID_MON_VDIF_INFORMATION,
+	B_HID_UID_MON_VESA_VERSION
+};
+
+
+#endif // _USB_HID_PAGE_USB_MONITOR_H
Index: USB_hid_page_keyboard.h
===================================================================
--- USB_hid_page_keyboard.h	(revision 0)
+++ USB_hid_page_keyboard.h	(revision 0)
@@ -0,0 +1,253 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_KEYBOARD_H
+#define _USB_HID_PAGE_KEYBOARD_H
+
+
+/* Reference:
+ *		HID Usage Page 0x07: KEYBOARD
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_KB_ERROR_ROLL_OVER = 0x01,
+	B_HID_UID_KB_POST_FAIL,
+	B_HID_UID_KB_ERROR_UNDEFINED,
+	
+	B_HID_UID_KB_a_AND_A = 0x04,
+	B_HID_UID_KB_b_AND_B,
+	B_HID_UID_KB_c_AND_C,
+	B_HID_UID_KB_d_AND_D,
+	B_HID_UID_KB_e_AND_E,
+	B_HID_UID_KB_f_AND_F,
+	B_HID_UID_KB_g_AND_G,
+	B_HID_UID_KB_h_AND_H,
+	B_HID_UID_KB_i_AND_I,
+	B_HID_UID_KB_j_AND_J,
+	B_HID_UID_KB_k_AND_K,
+	B_HID_UID_KB_l_AND_L,
+	B_HID_UID_KB_m_AND_M,
+	B_HID_UID_KB_n_AND_N,
+	B_HID_UID_KB_o_AND_O,
+	B_HID_UID_KB_p_AND_P,
+	B_HID_UID_KB_q_AND_Q,
+	B_HID_UID_KB_r_AND_R,
+	B_HID_UID_KB_s_AND_S,
+	B_HID_UID_KB_t_AND_T,
+	B_HID_UID_KB_u_AND_U,
+	B_HID_UID_KB_v_AND_V,
+	B_HID_UID_KB_w_AND_W,
+	B_HID_UID_KB_x_AND_X,
+	B_HID_UID_KB_y_AND_Y,
+	B_HID_UID_KB_z_AND_Z,
+	
+	B_HID_UID_KB_1_AND_EXCLAMATION_MARK = 0x1e,
+	B_HID_UID_KB_2_AND_AT,
+	B_HID_UID_KB_3_AND_HASH,
+	B_HID_UID_KB_4_AND_DOLLAR,
+	B_HID_UID_KB_5_AND_PERCENT,
+	B_HID_UID_KB_6_AND_CIRCUMFLEX,
+	B_HID_UID_KB_7_AND_AMPERSAND,
+	B_HID_UID_KB_8_AND_ASTERISK,
+	B_HID_UID_KB_9_AND_LPAREN,
+	B_HID_UID_KB_0_AND_RPAREN,
+	
+	B_HID_UID_KB_ENTER = 0x28,
+	B_HID_UID_KB_ESCAPE,
+	B_HID_UID_KB_DELETE,
+	B_HID_UID_KB_TAB,
+	B_HID_UID_KB_SPACEBAR,
+	B_HID_UID_KB_DASH_AND_UNDERSCORE,
+	B_HID_UID_KB_EQUAL_SIGN_AND_PLUS,
+	B_HID_UID_KB_LBRACKET_AND_LBRACE,
+	B_HID_UID_KB_RBRACKET_AND_RBRACE,
+	B_HID_UID_KB_BACKSLASH_AND_PIPE,
+	B_HID_UID_KB_NON_US_HASH_AND_TILDE,		// some notes
+	B_HID_UID_KB_SEMICOLON_AND_COLON,
+	B_HID_UID_KB_APOSTROPHE_AND_QUOTATION_MARK,
+	B_HID_UID_KB_GRAVE_ACCENT_AND_TILDE,
+	B_HID_UID_KB_COMMA_AND_LCHEVRON,
+	B_HID_UID_KB_PERIOD_AND_RCHEVRON,
+	B_HID_UID_KB_SLASH_AND_QUESTION_MARK,
+	B_HID_UID_KB_CAPS_LOCK,	
+	
+	B_HID_UID_KB_F1 = 0x3a,
+	B_HID_UID_KB_F2,
+	B_HID_UID_KB_F3,
+	B_HID_UID_KB_F4,
+	B_HID_UID_KB_F5,
+	B_HID_UID_KB_F6,
+	B_HID_UID_KB_F7,
+	B_HID_UID_KB_F8,
+	B_HID_UID_KB_F9,
+	B_HID_UID_KB_F10,
+	B_HID_UID_KB_F11,
+	B_HID_UID_KB_F12,
+	
+	B_HID_UID_KB_PRINT_SCREEN = 0x46,
+	B_HID_UID_KB_SCROLL_LOCK,
+	B_HID_UID_KB_PAUSE,
+	B_HID_UID_KB_INSERT,
+	B_HID_UID_KB_HOME,
+	B_HID_UID_KB_PAGE_UP,
+	B_HID_UID_KB_DELETE_FORWARD,
+	B_HID_UID_KB_END,
+	B_HID_UID_KB_PAGE_DOWN,
+	B_HID_UID_KB_RIGHT_ARROW,
+	B_HID_UID_KB_LEFT_ARROW,
+	B_HID_UID_KB_DOWN_ARROW,
+	B_HID_UID_KB_UP_ARROW,
+	B_HID_UID_KB_NUM_LOCK_AND_CLEAR,
+	
+	B_HID_UID_KP_DIVIDE = 0x54,
+	B_HID_UID_KP_MULTIPLY,
+	B_HID_UID_KP_SUBTRACT,
+	B_HID_UID_KP_ADD,
+	B_HID_UID_KP_ENTER,
+	B_HID_UID_KP_1_AND_END,
+	B_HID_UID_KP_2_AND_DOWN_ARROW,
+	B_HID_UID_KP_3_AND_PAGE_DOWN,
+	B_HID_UID_KP_4_AND_LEFT_ARROW,
+	B_HID_UID_KP_5,
+	B_HID_UID_KP_6_AND_RIGHT_ARROW,
+	B_HID_UID_KP_7_AND_HOME,
+	B_HID_UID_KP_8_AND_UP_ARROW,
+	B_HID_UID_KP_9_AND_PAGE_UP,
+	B_HID_UID_KP_0_AND_INSERT,
+	B_HID_UID_KP_PERIOD_AND_DELETE,
+	
+	B_HID_UID_KB_NON_US_BACKSLASH_AND_PIPE = 0x64,
+	B_HID_UID_KB_APPLICATION,
+	B_HID_UID_KB_POWER,
+	
+	B_HID_UID_KP_EQUAL_SIGN = 0x67,
+	B_HID_UID_KB_F13,
+	B_HID_UID_KB_F14,
+	B_HID_UID_KB_F15,
+	B_HID_UID_KB_F16,
+	B_HID_UID_KB_F17,
+	B_HID_UID_KB_F18,
+	B_HID_UID_KB_F19,
+	B_HID_UID_KB_F20,
+	B_HID_UID_KB_F21,
+	B_HID_UID_KB_F22,
+	B_HID_UID_KB_F23,
+	B_HID_UID_KB_F24,
+	
+	B_HID_UID_KB_EXECUTE = 0x74,
+	B_HID_UID_KB_HELP,
+	B_HID_UID_KB_MENU,
+	B_HID_UID_KB_SELECT,
+	B_HID_UID_KB_STOP,
+	B_HID_UID_KB_AGAIN,
+	B_HID_UID_KB_UNDO,
+	B_HID_UID_KB_CUT,
+	B_HID_UID_KB_COPY,
+	B_HID_UID_KB_PASTE,
+	B_HID_UID_KB_FIND,
+	B_HID_UID_KB_MUTE,
+	B_HID_UID_KB_VOLUME_UP,
+	B_HID_UID_KB_VOLUME_DOWN,
+	B_HID_UID_KB_LOCKING_CAPS_LOCK,
+	B_HID_UID_KB_LOCKING_NUM_LOCK,
+	B_HID_UID_KB_LOCKING_SCROLL_LOCK,
+	
+	B_HID_UID_KP_COMMA = 0x85,
+	B_HID_UID_KB_EQUAL_SIGN,
+	
+	B_HID_UID_KB_INTERNATIONAL_1 = 0x87,
+	B_HID_UID_KB_INTERNATIONAL_2,
+	B_HID_UID_KB_INTERNATIONAL_3,
+	B_HID_UID_KB_INTERNATIONAL_4,
+	B_HID_UID_KB_INTERNATIONAL_5,
+	B_HID_UID_KB_INTERNATIONAL_6,
+	B_HID_UID_KB_INTERNATIONAL_7,
+	B_HID_UID_KB_INTERNATIONAL_8,
+	
+	B_HID_UID_KB_LANG_1 = 0x90,
+	B_HID_UID_KB_LANG_2,
+	B_HID_UID_KB_LANG_3,
+	B_HID_UID_KB_LANG_4,
+	B_HID_UID_KB_LANG_5,
+	B_HID_UID_KB_LANG_6,
+	B_HID_UID_KB_LANG_7,
+	B_HID_UID_KB_LANG_8,
+	B_HID_UID_KB_LANG_9,
+	
+	B_HID_UID_KB_ALTERNATE_ERASE = 0x99,
+	B_HID_UID_KB_SYSREQ_ATTENTION,
+	B_HID_UID_KB_CANCEL,
+	B_HID_UID_KB_CLEAR,
+	B_HID_UID_KB_PRIOR,
+	B_HID_UID_KB_RETURN,
+	B_HID_UID_KB_SEPARATOR,
+	B_HID_UID_KB_OUT,
+	B_HID_UID_KB_OPER,
+	B_HID_UID_KB_CLEAR_AGAIN,
+	B_HID_UID_KB_CRSEL_PROPS,
+	B_HID_UID_KB_EXSEL,
+	
+	B_HID_UID_KB_00 = 0xb0,
+	B_HID_UID_KB_000,
+	B_HID_UID_KB_THOUSANDS_SEPARATOR,
+	B_HID_UID_KB_DECIMAL_SEPARATOR,
+	B_HID_UID_KB_CURRENCY_UNIT,
+	B_HID_UID_KB_CURRENCY_SUBUNIT,
+	
+	B_HID_UID_KP_LPAREN = 0xb6,
+	B_HID_UID_KP_RPAREN,
+	B_HID_UID_KP_LBRACE,
+	B_HID_UID_KP_RBRACE,
+	B_HID_UID_KP_TAB,
+	B_HID_UID_KP_BACKSPACE,
+	B_HID_UID_KP_A,
+	B_HID_UID_KP_B,
+	B_HID_UID_KP_C,
+	B_HID_UID_KP_D,
+	B_HID_UID_KP_E,
+	B_HID_UID_KP_F,
+	B_HID_UID_KP_XOR,
+	B_HID_UID_KP_CIRCUMFLEX,
+	B_HID_UID_KP_PERCENT,
+	B_HID_UID_KP_LCHEVRON,
+	B_HID_UID_KP_RCHEVRON,
+	B_HID_UID_KP_AMPERSAND,
+	B_HID_UID_KP_AMPERSAND2,
+	B_HID_UID_KP_PIPE,
+	B_HID_UID_KP_PIPE2,
+	B_HID_UID_KP_COLON,
+	B_HID_UID_KP_HASH,
+	B_HID_UID_KP_SPACE,
+	B_HID_UID_KP_AT,
+	B_HID_UID_KP_EXCLAMATION_MARK,
+	B_HID_UID_KP_MEMORY_STORE,
+	B_HID_UID_KP_MEMORY_RECALL,
+	B_HID_UID_KP_MEMORY_CLEAR,
+	B_HID_UID_KP_MEMORY_ADD,
+	B_HID_UID_KP_MEMORY_SUBTRACT,
+	B_HID_UID_KP_MEMORY_MULTIPLY,
+	B_HID_UID_KP_MEMORY_DIVIDE,
+	B_HID_UID_KP_PLUS_MINUS,
+	B_HID_UID_KP_CLEAR,
+	B_HID_UID_KP_CLEAR_ENTRY,
+	B_HID_UID_KP_BINARY,
+	B_HID_UID_KP_OCTAL,
+	B_HID_UID_KP_DECIMAL,
+	B_HID_UID_KP_HEXADECIMAL,
+	
+	B_HID_UID_KB_LEFT_CONTROL = 0xe0,
+	B_HID_UID_KB_LEFT_SHIFT,
+	B_HID_UID_KB_LEFT_ALT,
+	B_HID_UID_KB_LEFT_GUI,
+	B_HID_UID_KB_RIGHT_CONTROL,
+	B_HID_UID_KB_RIGHT_SHIFT,
+	B_HID_UID_KB_RIGHT_ALT,
+	B_HID_UID_KB_RIGHT_GUI
+};
+
+
+#endif // _USB_HID_PAGE_KEYBOARD_H
Index: USB_hid_page_led.h
===================================================================
--- USB_hid_page_led.h	(revision 0)
+++ USB_hid_page_led.h	(revision 0)
@@ -0,0 +1,97 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_LED_H
+#define _USB_HID_PAGE_LED_H
+
+
+/* Reference:
+ *		HID Usage Page 0x08: LED
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_LED_NUM_LOCK = 0x01,
+	B_HID_UID_LED_CAPS_LOCK,
+	B_HID_UID_LED_SCROLL_LOCK,
+	B_HID_UID_LED_COMPOSE,
+	B_HID_UID_LED_KANA,
+	B_HID_UID_LED_POWER,
+	B_HID_UID_LED_SHIFT,
+	B_HID_UID_LED_DO_NOT_DISTURB,
+	B_HID_UID_LED_MUTE,
+	B_HID_UID_LED_TONE_ENABLE,
+	B_HID_UID_LED_HIGH_CUT_FILTER,
+	B_HID_UID_LED_LOW_CUT_FILTER,
+	B_HID_UID_LED_EQUALIZER_ENABLE,
+	B_HID_UID_LED_SOUND_FIELD_ON,
+	B_HID_UID_LED_SURROUND_ON,
+	B_HID_UID_LED_REPEAT,
+	B_HID_UID_LED_STEREO,
+	B_HID_UID_LED_SAMPLING_RATE_DETECT,
+	B_HID_UID_LED_SPINNING,
+	B_HID_UID_LED_CAV,
+	B_HID_UID_LED_CAL,
+	B_HID_UID_LED_RECORDING_FORMAT_DETECT,
+	B_HID_UID_LED_OFF_HOOK,
+	B_HID_UID_LED_RING,
+	B_HID_UID_LED_MESSAGE_WAITING,
+	B_HID_UID_LED_DATA_MODE,
+	B_HID_UID_LED_BATTERY_OPERATION,
+	B_HID_UID_LED_BATTERY_OK,
+	B_HID_UID_LED_BATTERY_LOW,
+	B_HID_UID_LED_SPEAKER,
+	B_HID_UID_LED_HEAD_SET,
+	B_HID_UID_LED_HOLD,
+	B_HID_UID_LED_MICROPHONE,
+	B_HID_UID_LED_COVERAGE,
+	B_HID_UID_LED_NIGHT_MODE,
+	B_HID_UID_LED_SEND_CALLS,
+	B_HID_UID_LED_CALL_PICKUP,
+	B_HID_UID_LED_CONFERENCE,
+	B_HID_UID_LED_STAND_BY,
+	B_HID_UID_LED_CAMERA_ON,
+	B_HID_UID_LED_CAMERA_OFF,
+	B_HID_UID_LED_ON_LINE,
+	B_HID_UID_LED_OFF_LINE,
+	B_HID_UID_LED_BUSY,
+	B_HID_UID_LED_READY,
+	B_HID_UID_LED_PAPER_OUT,
+	B_HID_UID_LED_PAPER_JAM,
+	B_HID_UID_LED_REMOTE,
+	B_HID_UID_LED_FORWARD,
+	B_HID_UID_LED_REVERSE,
+	B_HID_UID_LED_STOP,
+	B_HID_UID_LED_REWIND,
+	B_HID_UID_LED_FAST_FORWARD,
+	B_HID_UID_LED_PLAY,
+	B_HID_UID_LED_PAUSE,
+	B_HID_UID_LED_RECORD,
+	B_HID_UID_LED_ERROR,
+	B_HID_UID_LED_USAGE_SELECTED_INDICATOR,
+	B_HID_UID_LED_USAGE_IN_USE_INDICATOR,
+	B_HID_UID_LED_USAGE_MULTI_MODE_INDICATOR,
+	B_HID_UID_LED_INDICATOR_ON,
+	B_HID_UID_LED_INDICATOR_FLASH,
+	B_HID_UID_LED_INDICATOR_SLOW_BLINK,
+	B_HID_UID_LED_INDICATOR_FAST_BLINK,
+	B_HID_UID_LED_INDICATOR_OFF,
+	B_HID_UID_LED_FLASH_ON_TIME,
+	B_HID_UID_LED_SLOW_BLINK_ON_TIME,
+	B_HID_UID_LED_SLOW_BLINK_OFF_TIME,
+	B_HID_UID_LED_FAST_BLINK_ON_TIME,
+	B_HID_UID_LED_FAST_BLINK_OFF_TIME,
+	B_HID_UID_LED_USAGE_INDICATOR_COLOR,
+	B_HID_UID_LED_USAGE_INDICATOR_RED,
+	B_HID_UID_LED_USAGE_INDICATOR_GREEN,
+	B_HID_UID_LED_USAGE_INDICATOR_AMBER,
+	B_HID_UID_LED_GENERIC_INDICATOR,
+	B_HID_UID_LED_SYSTEM_SUSPEND,
+	B_HID_UID_LED_EXTERNAL_POWER_CONNECTED	
+};
+
+
+#endif // _USB_HID_PAGE_LED_H
Index: USB_hid_page_generic_desktop.h
===================================================================
--- USB_hid_page_generic_desktop.h	(revision 0)
+++ USB_hid_page_generic_desktop.h	(revision 0)
@@ -0,0 +1,95 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_GENERIC_DESKTOP_H
+#define _USB_HID_PAGE_GENERIC_DESKTOP_H
+
+
+/* Reference:
+ *		HID Usage Page 0x01: GENERIC DESKTOP
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_GD_POINTER = 0x1,
+	B_HID_UID_GD_MOUSE,
+	
+	B_HID_UID_GD_JOYSTICK = 0x4,
+	B_HID_UID_GD_GAMEPAD,
+	B_HID_UID_GD_KEYBOARD,
+	B_HID_UID_GD_KEYPAD,
+	B_HID_UID_GD_MULTIAXIS,
+	B_HID_UID_GD_TABLET_PC_SYSTEM_CONTROLS,
+
+	B_HID_UID_GD_X = 0x30,
+	B_HID_UID_GD_Y,
+	B_HID_UID_GD_Z,
+	B_HID_UID_GD_RX,
+	B_HID_UID_GD_RY,
+	B_HID_UID_GD_RZ,
+	B_HID_UID_GD_SLIDER,
+	B_HID_UID_GD_DIAL,
+	B_HID_UID_GD_WHEEL,
+	B_HID_UID_GD_HAT_SWITCH,
+	B_HID_UID_GD_COUNTED_BUFFER,
+	B_HID_UID_GD_BYTE_COUNT,
+	B_HID_UID_GD_MOTION_WAKEUP,
+	B_HID_UID_GD_START,
+	B_HID_UID_GD_SELECT,
+	
+	B_HID_UID_GD_VX = 0x40,
+	B_HID_UID_GD_VY,
+	B_HID_UID_GD_VZ,
+	B_HID_UID_GD_VBRX,
+	B_HID_UID_GD_VBRY,
+	B_HID_UID_GD_VBRZ,
+	B_HID_UID_GD_VNO,
+	B_HID_UID_GD_FEATURE_NOTIFICATION,
+	B_HID_UID_GD_RESOLUTION_MULTIPLIER,
+	
+	B_HID_UID_GD_SYSTEM_CONTROL = 0x80,
+	B_HID_UID_GD_SYSTEM_POWER_DOWN,
+	B_HID_UID_GD_SYSTEM_SLEEP,
+	B_HID_UID_GD_SYSTEM_WAKE_UP,
+	B_HID_UID_GD_SYSTEM_CONTEXT_MENU,
+	B_HID_UID_GD_SYSTEM_MAIN_MENU,
+	B_HID_UID_GD_SYSTEM_APP_MENU,
+	B_HID_UID_GD_SYSTEM_MENU_HELP,
+	B_HID_UID_GD_SYSTEM_MENU_EXIT,
+	B_HID_UID_GD_SYSTEM_MENU_SELECT,
+	B_HID_UID_GD_SYSTEM_MENU_RIGHT,
+	B_HID_UID_GD_SYSTEM_MENU_LEFT,
+	B_HID_UID_GD_SYSTEM_MENU_UP,
+	B_HID_UID_GD_SYSTEM_MENU_DOWN,
+	B_HID_UID_GD_SYSTEM_COLD_RESTART,
+	B_HID_UID_GD_SYSTEM_WARM_RESTART,
+	B_HID_UID_GD_DPAD_UP,
+	B_HID_UID_GD_DPAD_DOWN,
+	B_HID_UID_GD_DPAD_RIGHT,
+	B_HID_UID_GD_DPAD_LEFT,
+	
+	B_HID_UID_GD_SYSTEM_DOCK = 0xa0,
+	B_HID_UID_GD_SYSTEM_UNDOCK,
+	B_HID_UID_GD_SYSTEM_SETUP,
+	B_HID_UID_GD_SYSTEM_BREAK,
+	B_HID_UID_GD_SYSTEM_DEBUGGER_BREAK,
+	B_HID_UID_GD_APPLICATION_BREAK,
+	B_HID_UID_GD_APPLICATION_DEBUGGER_BREAK,
+	B_HID_UID_GD_SYSTEM_SPEAKER_MUTE,
+	B_HID_UID_GD_SYSTEM_HIBERNATE,
+	
+	B_HID_UID_GD_SYSTEM_DISPLAY_INVERT = 0xb0,
+	B_HID_UID_GD_SYSTEM_DISPLAY_INTERNAL,
+	B_HID_UID_GD_SYSTEM_DISPLAY_EXTERNAL,
+	B_HID_UID_GD_SYSTEM_DISPLAY_BOTH,
+	B_HID_UID_GD_SYSTEM_DISPLAY_DUAL,
+	B_HID_UID_GD_SYSTEM_DISPLAY_TOGGLE,
+	B_HID_UID_GD_SYSTEM_DISPLAY_SWAP,
+	B_HID_UID_GD_SYSTEM_DISPLAY_LCD_AUTOSCALE
+};
+
+
+#endif // _USB_HID_PAGE_GENERIC_DESKTOP_H
Index: USB_hid_page_bar_code_scanner.h
===================================================================
--- USB_hid_page_bar_code_scanner.h	(revision 0)
+++ USB_hid_page_bar_code_scanner.h	(revision 0)
@@ -0,0 +1,230 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_BAR_CODE_SCANNER_H
+#define _USB_HID_PAGE_BAR_CODE_SCANNER_H
+
+
+/* Reference:
+ *		HID Usage Page 0x8C: BAR CODE SCANNER
+ *		HID Point of Sale Usage Tables Ver. 1.0
+ *		http://www.usb.org/developers/devclass_docs/pos1_02.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_BCS_BAR_CODE_BADGE_READER = 0x01,
+	B_HID_UID_BCS_BAR_CODE_SCANNER,
+	B_HID_UID_BCS_DUMB_BAR_CODE_SCANNER,
+	B_HID_UID_BCS_CORDLESS_SCANNER_BASE,
+	B_HID_UID_BCS_BAR_CODE_SCANNER_CRADLE,
+	
+	B_HID_UID_BCS_ATTRIBUTE_REPORT = 0x10,
+	B_HID_UID_BCS_SETTINGS_REPORT,
+	B_HID_UID_BCS_SCANNED_DATA_REPORT,
+	B_HID_UID_BCS_RAW_SCANNED_DATA_REPORT,
+	B_HID_UID_BCS_TRIGGER_REPORT,
+	B_HID_UID_BCS_STATUS_REPORT,
+	B_HID_UID_BCS_UPC_EAN_CONTROL_REPORT,
+	B_HID_UID_BCS_EAN_2_3_LABEL_CONTROL_REPORT,
+	B_HID_UID_BCS_CODE_39_CONTROL_REPORT,
+	B_HID_UID_BCS_INTERLEAVED_2_OF_5_CONTROL_REPORT,
+	B_HID_UID_BCS_STANDARD_2_OF_5_CONTROL_REPORT,
+	B_HID_UID_BCS_MSI_PLESSEY_CONTROL_REPORT,
+	B_HID_UID_BCS_CODABAR_CONTROL_REPORT,
+	B_HID_UID_BCS_CODE_128_CONTROL_REPORT,
+	B_HID_UID_BCS_MISC_1D_CONTROL_REPORT,
+	B_HID_UID_BCS_2D_CONTROL_REPORT,
+	
+	B_HID_UID_BCS_AIMING_POINTER_MODE = 0x30,
+	B_HID_UID_BCS_BAR_CODE_PRESENT_SENSOR,
+	B_HID_UID_BCS_CLASS_1A_LASER,
+	B_HID_UID_BCS_CLASS_2_LASER,
+	B_HID_UID_BCS_HEATER_PRESENT,
+	B_HID_UID_BCS_CONTACT_SCANNER,
+	B_HID_UID_BCS_ELECTRONIC_ARTICLE_SURVEILLANCE_NOTIFICATION,
+	B_HID_UID_BCS_CONSTANT_ELECTRONIC_ARTICLE_SURVEILLANCE,
+	B_HID_UID_BCS_ERROR_INDICATION,
+	B_HID_UID_BCS_FIXED_BEEPER,
+	B_HID_UID_BCS_GOOD_DECODE_INDICATION,
+	B_HID_UID_BCS_HANDS_FREE_SCANNING,
+	B_HID_UID_BCS_INTRINSICALLY_SAFE,
+	B_HID_UID_BCS_KLASSE_EINS_LASER,
+	B_HID_UID_BCS_LONG_RANGE_SCANNER,
+	B_HID_UID_BCS_MIRROR_SPEED_CONTROL,
+	B_HID_UID_BCS_NOT_ON_FILE_INDICATION,
+	B_HID_UID_BCS_PROGRAMMABLE_BEEPER,
+	B_HID_UID_BCS_TRIGGERLESS,
+	B_HID_UID_BCS_WAND,
+	B_HID_UID_BCS_WATER_RESISTANT,
+	B_HID_UID_BCS_MULTI_RANGE_SCANNER,
+	B_HID_UID_BCS_PROXIMITY_SENSOR,
+	
+	B_HID_UID_BCS_FRAGMENT_DECODING = 0x4d,
+	B_HID_UID_BCS_SCANNER_READ_CONFIDENCE,
+	B_HID_UID_BCS_DATA_PREFIX,
+	B_HID_UID_BCS_PREFIX_AIMI,
+	B_HID_UID_BCS_PREFIX_NONE,
+	B_HID_UID_BCS_PREFIX_PROPRIETARY,
+	
+	B_HID_UID_BCS_ACTIVE_TIME = 0x55,
+	B_HID_UID_BCS_AIMING_LASER_PATTERN,
+	B_HID_UID_BCS_BAR_CODE_PRESENT,
+	B_HID_UID_BCS_BEEPER_STATE,
+	B_HID_UID_BCS_LASER_ON_TIME,
+	B_HID_UID_BCS_LASER_STATE,
+	B_HID_UID_BCS_LOCKOUT_TIME,
+	B_HID_UID_BCS_MOTOR_STATE,
+	B_HID_UID_BCS_MOTOR_TIMEOUT,
+	B_HID_UID_BCS_POWER_ON_RESET_SCANNER,
+	B_HID_UID_BCS_PREVENT_READ_OF_BARCODES,
+	B_HID_UID_BCS_INITIATE_BARCODE_READ,
+	B_HID_UID_BCS_TRIGGER_STATE,
+	B_HID_UID_BCS_TRIGGER_MODE,
+	B_HID_UID_BCS_TRIGGER_MODE_BLINKING_LASER_ON,
+	B_HID_UID_BCS_TRIGGER_MODE_CONTINUOUS_LASER_ON,
+	B_HID_UID_BCS_TRIGGER_MODE_LASER_ON_WHILE_PULLED,
+	B_HID_UID_BCS_TRIGGER_MODE_LASER_STAYS_ON_AFTER_TRIGGER_RELEASE,
+	
+	B_HID_UID_BCS_COMMIT_PARAMETERS_TO_NVM = 0x6d,
+	B_HID_UID_BCS_PARAMETER_SCANNING,
+	B_HID_UID_BCS_PARAMETERS_CHANGED,
+	B_HID_UID_BCS_SET_PARAMETER_DEFAULT_VALUES,
+	
+	B_HID_UID_BCS_SCANNER_IN_CRADLE = 0x75,
+	B_HID_UID_BCS_SCANNER_IN_RANGE,
+	
+	B_HID_UID_BCS_AIM_DURATION = 0x7a,
+	B_HID_UID_BCS_GOOD_READ_LAMP_DURATION,
+	B_HID_UID_BCS_GOOD_READ_LAMP_INTENSITY,
+	B_HID_UID_BCS_GOOD_READ_LED,
+	B_HID_UID_BCS_GOOD_READ_TONE_FREQUENCY,
+	B_HID_UID_BCS_GOOD_READ_TONE_LENGTH,
+	B_HID_UID_BCS_GOOD_READ_TONE_VOLUME,
+	
+	B_HID_UID_BCS_NO_READ_MESSAGE = 0x82,
+	B_HID_UID_BCS_NOT_ON_FILE_VOLUME,
+	B_HID_UID_BCS_POWERUP_BEEP,
+	B_HID_UID_BCS_SOUND_ERROR_BEEP,
+	B_HID_UID_BCS_SOUND_NOT_ON_FILE_BEEP,
+	B_HID_UID_BCS_GOOD_READ_WHEN_TO_WRITE,
+	B_HID_UID_BCS_GRWTI_AFTER_DECODE,
+	B_HID_UID_BCS_GRWTI_BEEP_LAMP_AFTER_TRANSMIT,
+	B_HID_UID_BCS_GRWTI_NO_BEEP_LAMP_USE_AT_ALL,
+	
+	B_HID_UID_BCS_BOOKLAND_EAN = 0x91,
+	B_HID_UID_BCS_CONVERT_EAN_8_TO_13_TYPE,
+	B_HID_UID_BCS_CONVERT_UPC_A_TO_EAN_13,
+	B_HID_UID_BCS_CONVERT_UPC_E_TO_A,
+	B_HID_UID_BCS_EAN_13,
+	B_HID_UID_BCS_EAN_8,
+	B_HID_UID_BCS_EAN_99_128_MANDATORY,
+	B_HID_UID_BCS_EAN_99_P5_128_OPTIONAL,
+	
+	B_HID_UID_BCS_UPC_EAN = 0x9a,
+	B_HID_UID_BCS_UPC_EAN_COUPON_CODE,
+	B_HID_UID_BCS_UPC_EAN_PERIODICALS,
+	B_HID_UID_BCS_UPC_A,
+	B_HID_UID_BCS_UPC_A_WITH_128_MANDATORY,
+	B_HID_UID_BCS_UPC_A_WITH_128_OPTIONAL,
+	B_HID_UID_BCS_UPC_A_WITH_P5_OPTIONAL,
+	B_HID_UID_BCS_UPC_E,
+	B_HID_UID_BCS_UPC_E1,
+	
+	B_HID_UID_BCS_PERIODICAL = 0xa9,
+	B_HID_UID_BCS_PERIODICAL_AUTO_DISCRIMINATE_PLUS_2,
+	B_HID_UID_BCS_PERIODICAL_ONLY_DECODE_WITH_PLUS_2,
+	B_HID_UID_BCS_PERIODICAL_IGNORE_PLUS_2,
+	B_HID_UID_BCS_PERIODICAL_AUTO_DISCRIMINATE_PLUS_5,
+	B_HID_UID_BCS_PERIODICAL_ONLY_DECODE_WITH_PLUS_5,
+	B_HID_UID_BCS_PERIODICAL_IGNORE_PLUS_5,
+	B_HID_UID_BCS_CHECK,
+	B_HID_UID_BCS_CHECK_DISABLE_PRICE,
+	B_HID_UID_BCS_CHECK_ENABLE_4_DIGIT_PRICE,
+	B_HID_UID_BCS_CHECK_ENABLE_5_DIGIT_PRICE,
+	B_HID_UID_BCS_CHECK_ENABLE_EUROPEAN_4_DIGIT_PRICE,
+	B_HID_UID_BCS_CHECK_ENABLE_EUROPEAN_5_DIGIT_PRICE,
+	
+	B_HID_UID_BCS_EAN_TWO_LABEL = 0xb7,
+	B_HID_UID_BCS_EAN_THREE_LABEL,
+	B_HID_UID_BCS_EAN_8_FLAG_DIGIT_1,
+	B_HID_UID_BCS_EAN_8_FLAG_DIGIT_2,
+	B_HID_UID_BCS_EAN_8_FLAG_DIGIT_3,
+	B_HID_UID_BCS_EAN_13_FLAG_DIGIT_1,
+	B_HID_UID_BCS_EAN_13_FLAG_DIGIT_2,
+	B_HID_UID_BCS_EAN_13_FLAG_DIGIT_3,			
+	B_HID_UID_BCS_ADD_EAN_2_3_LABEL_DEFINITION,
+	B_HID_UID_BCS_CLEAR_ALL_EAN_2_3_LABEL_DEFINITIONS,
+	
+	B_HID_UID_BCS_CODABAR = 0xc3,
+	B_HID_UID_BCS_CODE_128,
+	
+	B_HID_UID_BCS_CODE_39 = 0xc7,
+	B_HID_UID_BCS_CODE_93,
+	B_HID_UID_BCS_FULL_ASCII_CONVERSION,
+	B_HID_UID_BCS_INTERLEAVED_2_OF_5,
+	B_HID_UID_BCS_ITALIAN_PHARMACY_CODE,
+	B_HID_UID_BCS_MSI_PLESSEY,
+	B_HID_UID_BCS_STANDARD_2_OF_5_IATA,
+	B_HID_UID_BCS_STANDARD_2_OF_5,
+	
+	B_HID_UID_BCS_TRANSMIT_START_STOP = 0xd3,
+	B_HID_UID_BCS_TRI_OPTIC,
+	B_HID_UID_BCS_UCC_EAN_128,
+	B_HID_UID_BCS_CHECK_DIGIT,
+	B_HID_UID_BCS_CHECK_DIGIT_DISABLE,
+	B_HID_UID_BCS_CHECK_DIGIT_ENABLE_INTERLEAVED_2_OF_5_OPCC,
+	B_HID_UID_BCS_CHECK_DIGIT_ENABLE_INTERLEAVED_2_OF_5_USS,
+	B_HID_UID_BCS_CHECK_DIGIT_ENABLE_STANDARD_2_OF_5_OPCC,
+	B_HID_UID_BCS_CHECK_DIGIT_ENABLE_STANDARD_2_OF_5_USS,
+	B_HID_UID_BCS_CHECK_DIGIT_ENABLE_ONE_MSI_PLESSEY,
+	B_HID_UID_BCS_CHECK_DIGIT_ENABLE_TWO_MSI_PLESSEY,
+	B_HID_UID_BCS_CHECK_DIGIT_CODABAR_ENABLE,
+	B_HID_UID_BCS_CHECK_DIGIT_CODE_39_ENABLE,
+	
+	B_HID_UID_BCS_DISABLE_CHECK_DIGIT_TRANSMIT = 0xf1,
+	B_HID_UID_BCS_ENABLE_CHECK_DIGIT_TRANSMIT,
+	
+	B_HID_UID_BCS_SYMBOLOGY_IDENTIFIER_1 = 0xfb,
+	B_HID_UID_BCS_SYMBOLOGY_IDENTIFIER_2,
+	B_HID_UID_BCS_SYMBOLOGY_IDENTIFIER_3,
+	B_HID_UID_BCS_DECODED_DATA,
+	B_HID_UID_BCS_DECODE_DATA_CONTINUED,
+	B_HID_UID_BCS_BAR_SPACE_DATA,
+	B_HID_UID_BCS_SCANNER_DATA_ACCURACY,
+	B_HID_UID_BCS_RAW_DATA_POLARITY,
+	B_HID_UID_BCS_POLARITY_INVERT_BAR_CODE,
+	B_HID_UID_BCS_POLARITY_NORMAL_BAR_CODE,
+	
+	B_HID_UID_BCS_MINIMUM_LENGTH_TO_DECODE = 0x106,
+	B_HID_UID_BCS_MAXIMUM_LENGTH_TO_DECODE,
+	B_HID_UID_BCS_FIRST_DISCRETE_LENGTH_TO_DECODE,
+	B_HID_UID_BCS_SECOND_DESCRETE_LENGTH_TO_DECODE,
+	B_HID_UID_BCS_DATA_LENGTH_METHOD,
+	B_HID_UID_BCS_DL_METHOD_READ_ANY,
+	B_HID_UID_BCS_DL_METHOD_CHECK_IN_RANGE,
+	B_HID_UID_BCS_DL_METHOD_CHECK_FOR_DISCRETE,
+	
+	B_HID_UID_BCS_AZTEC_CODE = 0x110,
+	B_HID_UID_BCS_BC412,
+	B_HID_UID_BCS_CHANNEL_CODE,
+	B_HID_UID_BCS_CODE_16,
+	B_HID_UID_BCS_CODE_32,
+	B_HID_UID_BCS_CODE_49,
+	B_HID_UID_BCS_CODE_ONE,
+	B_HID_UID_BCS_COLORCODE,
+	B_HID_UID_BCS_DATA_MATRIX,
+	B_HID_UID_BCS_MAXI_CODE,
+	B_HID_UID_BCS_MICRO_PDF,
+	B_HID_UID_BCS_PDF_417,
+	B_HID_UID_BCS_POSI_CODE,
+	B_HID_UID_BCS_QR_CODE,
+	B_HID_UID_BCS_SUPER_CODE,
+	B_HID_UID_BCS_ULTRA_CODE,
+	B_HID_UID_BCS_USD_5_SLUG_CODE,
+	B_HID_UID_BCS_VERI_CODE
+};
+
+
+#endif // _USB_HID_PAGE_BAR_CODE_SCANNER_H
Index: USB_hid_page_telephony.h
===================================================================
--- USB_hid_page_telephony.h	(revision 0)
+++ USB_hid_page_telephony.h	(revision 0)
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_TELEPHONY_H
+#define _USB_HID_PAGE_TELEPHONY_H
+
+
+/* Reference:
+ *		HID Usage Page 0x0B: TELEPHONY
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_TEL_PHONE = 0x1,
+	B_HID_UID_TEL_ANSWERING_MACHINE,
+	B_HID_UID_TEL_MESSAGE_CONTROLS,
+	B_HID_UID_TEL_HANDSET,
+	B_HID_UID_TEL_HEADSET,
+	B_HID_UID_TEL_TELEPHONY_KEY_PAD,
+	B_HID_UID_TEL_PROGRAMMABLE_BUTTON,
+	
+	B_HID_UID_TEL_HOOK_SWITCH = 0x20,
+	B_HID_UID_TEL_FLASH,
+	B_HID_UID_TEL_FEATURE,
+	B_HID_UID_TEL_HOLD,
+	B_HID_UID_TEL_REDIAL,
+	B_HID_UID_TEL_TRANSFER,
+	B_HID_UID_TEL_DROP,
+	B_HID_UID_TEL_PARK,
+	B_HID_UID_TEL_FORWARD_CALLS,
+	B_HID_UID_TEL_ALTERNATE_FUNCTION,
+	B_HID_UID_TEL_LINE,
+	B_HID_UID_TEL_SPEAKER_PHONE,
+	B_HID_UID_TEL_CONFERENCE,
+	B_HID_UID_TEL_RING_ENABLE,
+	B_HID_UID_TEL_RING_SELECT,
+	B_HID_UID_TEL_PHONE_MUTE,
+	B_HID_UID_TEL_CALLER_ID,
+	B_HID_UID_TEL_SEND,
+	
+	B_HID_UID_TEL_SPEED_DIAL = 0x50,
+	B_HID_UID_TEL_STORE_NUMBER,
+	B_HID_UID_TEL_RECALL_NUMBER,
+	B_HID_UID_TEL_PHONE_DIRECTORY,
+
+	B_HID_UID_TEL_VOICE_MAIL = 0x70,
+	B_HID_UID_TEL_SCREEN_CALLS,
+	B_HID_UID_TEL_DO_NOT_DISTURB,
+	B_HID_UID_TEL_MESSAGE,
+	B_HID_UID_TEL_ANSWER_ON_OFF,
+	
+	B_HID_UID_TEL_INSIDE_DIAL_TONE = 0x90,
+	B_HID_UID_TEL_OUTSIDE_DIAL_TONE,
+	B_HID_UID_TEL_INSIDE_RING_TONE,
+	B_HID_UID_TEL_OUTSIDE_RING_TONE,
+	B_HID_UID_TEL_PRIORITY_RING_TONE,
+	B_HID_UID_TEL_INSIDE_RING_BACK,
+	B_HID_UID_TEL_PRIORITY_RING_BACK,
+	B_HID_UID_TEL_LINE_BUSY_TONE,
+	B_HID_UID_TEL_REORDER_TONE,
+	B_HID_UID_TEL_CALL_WAITING_TONE,
+	B_HID_UID_TEL_CONFIRMATION_TONE_1,
+	B_HID_UID_TEL_CONFIRMATION_TONE_2,
+	B_HID_UID_TEL_TONES_OFF,
+	B_HID_UID_TEL_OUTSIDE_RINGBACK,
+	B_HID_UID_TEL_RINGER,
+	
+	B_HID_UID_TEL_PHONE_KEY_0 = 0xb0,
+	B_HID_UID_TEL_PHONE_KEY_1,
+	B_HID_UID_TEL_PHONE_KEY_2,
+	B_HID_UID_TEL_PHONE_KEY_3,
+	B_HID_UID_TEL_PHONE_KEY_4,
+	B_HID_UID_TEL_PHONE_KEY_5,
+	B_HID_UID_TEL_PHONE_KEY_6,
+	B_HID_UID_TEL_PHONE_KEY_7,
+	B_HID_UID_TEL_PHONE_KEY_8,
+	B_HID_UID_TEL_PHONE_KEY_9,
+	
+	B_HID_UID_TEL_PHONE_KEY_STAR = 0xba,
+	B_HID_UID_TEL_PHONE_KEY_POUND,
+	B_HID_UID_TEL_PHONE_KEY_A,
+	B_HID_UID_TEL_PHONE_KEY_B,
+	B_HID_UID_TEL_PHONE_KEY_C,
+	B_HID_UID_TEL_PHONE_KEY_D	
+};
+
+
+#endif // _USB_HID_PAGE_TELEPHONY_H
Index: USB_hid_page_vr_controls.h
===================================================================
--- USB_hid_page_vr_controls.h	(revision 0)
+++ USB_hid_page_vr_controls.h	(revision 0)
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_GAME_CONTROLS_H
+#define _USB_HID_PAGE_GAME_CONTROLS_H
+
+
+/* Reference:
+ *		HID Usage Page 0x05: Game Controls
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_GAM_3D_GAME_CONTROLLER = 0x01,
+	B_HID_UID_GAM_PINBALL_DEVICE,
+	B_HID_UID_GAM_GUN_DEVICE,
+	
+	B_HID_UID_GAM_POINT_OF_VIEW = 0x20,
+	B_HID_UID_GAM_TURN_RIGHT_LEFT,
+	B_HID_UID_GAM_PITCH_FORWARD_BACKWARD,
+	B_HID_UID_GAM_ROLL_RIGHT_LEFT,
+	B_HID_UID_GAM_MOVE_RIGHT_LEFT,
+	B_HID_UID_GAM_MOVE_FORWARD_BACKWARD,
+	B_HID_UID_GAM_MOVE_UP_DOWN,
+	B_HID_UID_GAM_LEAN_RIGHT_LEFT,
+	B_HID_UID_GAM_LEAN_FORWARD_BACKWARD,
+	B_HID_UID_GAM_HEIGHT_OF_POV,
+	B_HID_UID_GAM_FLIPPER,
+	B_HID_UID_GAM_SECONDARY_FLIPPER,
+	B_HID_UID_GAM_BUMP,
+	B_HID_UID_GAM_NEW_GAME,
+	B_HID_UID_GAM_SHOOT_BALL,
+	B_HID_UID_GAM_PLAYER,
+	B_HID_UID_GAM_GUN_BOLT,
+	B_HID_UID_GAM_GUN_CLIP,
+	B_HID_UID_GAM_GUN_SELECTOR,
+	B_HID_UID_GAM_GUN_SINGLE_SHOT,
+	B_HID_UID_GAM_GUN_BURST,
+	B_HID_UID_GAM_GUN_AUTOMATIC,
+	B_HID_UID_GAM_GUN_SAFETY,
+	B_HID_UID_GAM_GAMEPAD_FIRE_JUMP,
+	B_HID_UID_GAM_GAMEPAD_TRIGGER
+};
+
+
+#endif // _USB_HID_PAGE_GAME_CONTROLS_H
Index: USB_hid_page_power_device.h
===================================================================
--- USB_hid_page_power_device.h	(revision 0)
+++ USB_hid_page_power_device.h	(revision 0)
@@ -0,0 +1,104 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_POWER_DEVICE_H
+#define _USB_HID_PAGE_POWER_DEVICE_H
+
+
+/* Reference:
+ *		HID Usage Page 0x84: POWER DEVICE
+ *		Universal Serial Bus Usage Tables for HID Power Devices Ver. 1.0
+ *		http://www.usb.org/developers/devclass_docs/pdcv10.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_POW_INAME = 0x01,
+	B_HID_UID_POW_PRESENT_STATUS,
+	B_HID_UID_POW_CHANGED_STATUS,
+	B_HID_UID_POW_UPS,
+	B_HID_UID_POW_POWER_SUPPLY,
+	
+	B_HID_UID_POW_BATTERY_SYSTEM = 0x10,
+	B_HID_UID_POW_BATTERY_SYSTEM_ID,
+	B_HID_UID_POW_BATTERY,
+	B_HID_UID_POW_BATERY_ID,
+	B_HID_UID_POW_CHARGER,
+	B_HID_UID_POW_CHARGER_ID,
+	B_HID_UID_POW_POWER_CONVERTER,
+	B_HID_UID_POW_POWER_CONVERTER_ID,
+	B_HID_UID_POW_OUTLET_SYSTEM,
+	B_HID_UID_POW_OUTLET_SYSTEM_ID,
+	B_HID_UID_POW_INPUT,
+	B_HID_UID_POW_INPUT_ID,
+	B_HID_UID_POW_OUTPUT,
+	B_HID_UID_POW_OUTPUT_ID,
+	B_HID_UID_POW_FLOW,
+	B_HID_UID_POW_FLOW_ID,
+	B_HID_UID_POW_OUTLET,
+	B_HID_UID_POW_OUTLET_ID,
+	B_HID_UID_POW_GANG,
+	B_HID_UID_POW_GANG_ID,
+	B_HID_UID_POW_POWER_SUMMARY,
+	B_HID_UID_POW_POWER_SUMMARY_ID,
+	
+	B_HID_UID_POW_VOLTAGE = 0x30,
+	B_HID_UID_POW_CURRENT,
+	B_HID_UID_POW_FREQUENCY,
+	B_HID_UID_POW_APPARENT_POWER,
+	B_HID_UID_POW_ACTIVE_POWER,
+	B_HID_UID_POW_PERCENT_LOAD,
+	B_HID_UID_POW_TEMPERATURE,
+	B_HID_UID_POW_HUMIDITY,
+	B_HID_UID_POW_BAD_COUNT,
+	
+	B_HID_UID_POW_CONFIG_VOLTAGE = 0x40,
+	B_HID_UID_POW_CONFIG_CURRENT,
+	B_HID_UID_POW_CONFIG_FREQUENCY,
+	B_HID_UID_POW_CONFIG_APPARENT_POWER,
+	B_HID_UID_POW_CONFIG_ACTIVE_POWER,
+	B_HID_UID_POW_CONFIG_PERCENT_LOAD,
+	B_HID_UID_POW_CONFIG_TEMPERATURE,
+	B_HID_UID_POW_CONFIG_HUMIDITY,
+	
+	B_HID_UID_POW_SWITCH_ON_CONTROL = 0x50,
+	B_HID_UID_POW_SWITCH_OFF_CONTROL,
+	B_HID_UID_POW_TOGGLE_CONTROL,
+	B_HID_UID_POW_LOW_VOLTAGE_TRANSFER,
+	B_HID_UID_POW_HIGH_VOLTAGE_TRANSFER,
+	B_HID_UID_POW_DELAY_BEFORE_REBOOT,
+	B_HID_UID_POW_DELAY_BEFORE_STARTUP,
+	B_HID_UID_POW_DELAY_BEFORE_SHUTDOWN,
+	B_HID_UID_POW_TEST,
+	B_HID_UID_POW_MODULE_RESET,
+	B_HID_UID_POW_AUDIBLE_ALARM_CONTROL,
+	
+	B_HID_UID_POW_PRESENT = 0x60,
+	B_HID_UID_POW_GOOD,
+	B_HID_UID_POW_INTERNAL_FAILURE,
+	B_HID_UID_POW_VOLTAGE_OUT_OF_RANGE,
+	B_HID_UID_POW_FREQUENCY_OUT_OF_RANGE,
+	B_HID_UID_POW_OVERLOAD,
+	B_HID_UID_POW_OVER_CHARGED,
+	B_HID_UID_POW_OVER_TEMPERATURE,
+	B_HID_UID_POW_SHUTDOWN_REQUEST,
+	B_HID_UID_POW_SHUTDOWN_IMMINENT,
+	
+	B_HID_UID_POW_SWITCH_ON_OFF  =0x6b,
+	B_HID_UID_POW_SWITCHABLE,
+	B_HID_UID_POW_USED,
+	B_HID_UID_POW_BOOST,
+	B_HID_UID_POW_BUCK,
+	B_HID_UID_POW_INITIALIZED,
+	B_HID_UID_POW_TESTED,
+	B_HID_UID_POW_AWAITING_POWER,
+	B_HID_UID_POW_COMMUNICATION_LOST,
+	
+	B_HID_UID_POW_IMANUFACTURER = 0xfd,
+	B_HID_UID_POW_IPRODUCT,
+	B_HID_UID_POW_ISERIAL_NUMBER
+};
+
+
+#endif // _USB_HID_PAGE_POWER_DEVICE_H
Index: USB_hid_page_pid.h
===================================================================
--- USB_hid_page_pid.h	(revision 0)
+++ USB_hid_page_pid.h	(revision 0)
@@ -0,0 +1,130 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_PHYSICAL_INTERFACE_DEVICE_H
+#define _USB_HID_PAGE_PHYSICAL_INTERFACE_DEVICE_H
+
+
+/* Reference:
+ *		HID Usage Page 0x0F: PHYSICAL INTERFACE DEVICE
+ *		Device Class Definition for Physical Interface Deviced (PID) Ver. 1.0
+ *		http://www.usb.org/developers/devclass_docs/pid1_01.pdf
+ */
+
+// UsageIDs
+enum {
+	B_HID_UID_PID_PHYSICAL_INTERFACE_DEVICE = 0x01,
+	
+	B_HID_UID_PID_NORMAL = 0x20,
+	B_HID_UID_PID_SET_EFFECT_REPORT,
+	B_HID_UID_PID_EFFECT_BLOCK_INDEX,
+	B_HID_UID_PID_PARAMETER_BLOCK_OFFSET,
+	B_HID_UID_PID_ROM_FLAG,
+	B_HID_UID_PID_EFFECT_TYPE,
+	B_HID_UID_PID_ET_CONSTANT_FORCE_DATA,
+	
+	B_HID_UID_PID_ET_SQUARE = 0x30,
+	B_HID_UID_PID_ET_SINE,
+	B_HID_UID_PID_ET_TRIANGLE,
+	B_HID_UID_PID_ET_SAWTOOTH_UP,
+	B_HID_UID_PID_ET_SAWTOOTH_DOWN,
+	
+	B_HID_UID_PID_ET_SPRING,
+	B_HID_UID_PID_ET_DAMPER,
+	B_HID_UID_PID_ET_INERTIA,
+	B_HID_UID_PID_ET_FRICTION,
+	
+	B_HID_UID_PID_DURATION = 0x50,
+	B_HID_UID_PID_SAMPLE_PERIOD,
+	B_HID_UID_PID_GAIN,
+	B_HID_UID_PID_TRIGGER_BUTTON,
+	B_HID_UID_PID_TRIGGER_REPEAT_INTERVAL,
+	B_HID_UID_PID_AXES_ENABLE,
+	B_HID_UID_PID_DIRECTION_ENABLE,
+	B_HID_UID_PID_DIRECTION,
+	B_HID_UID_PID_TYPE_SPECIFIC_BLOCK_OFFSET,
+	B_HID_UID_PID_BLOCK_TYPE,
+	B_HID_UID_PID_SET_ENVELOPE_REPORT,
+	B_HID_UID_PID_ATTACK_LEVEL,
+	B_HID_UID_PID_ATTACK_TIME,
+	B_HID_UID_PID_FADE_LEVEL,
+	B_HID_UID_PID_FADE_TIME,
+	B_HID_UID_PID_SET_CONDITION_REPORT,
+	B_HID_UID_PID_CP_OFFSET,
+	B_HID_UID_PID_POSITIVE_COEFFICIENT,
+	B_HID_UID_PID_NEGATIVE_COEFFICIENT,
+	B_HID_UID_PID_POSITIVE_SATURATION,
+	B_HID_UID_PID_NEGATIVE_SATURATION,
+	B_HID_UID_PID_DEAD_BAND,
+	B_HID_UID_PID_DOWNLOAD_FORCE_SAMPLE,
+	B_HID_UID_PID_ISOCH_CUSTOM_FORCE_ENABLE,
+	B_HID_UID_PID_CUSTOM_FORCE_DATA_REPORT,
+	B_HID_UID_PID_CUSTOM_FORCE_DATA,
+	B_HID_UID_PID_CUSTOM_FORCE_VENDOR_DEFINED_DATA,
+	B_HID_UID_PID_SET_CUSTOM_FORCE_REPORT,
+	B_HID_UID_PID_CUSTOM_FORCE_DATA_OFFSET,
+	B_HID_UID_PID_SAMPLE_COUNT,
+	B_HID_UID_PID_SET_PERIODIC_REPORT,
+	B_HID_UID_PID_OFFSET,
+	B_HID_UID_PID_MAGNITUDE,
+	B_HID_UID_PID_PHASE,
+	B_HID_UID_PID_PERIOD,
+	B_HID_UID_PID_SET_CONSTANT_FORCE_REPORT,
+	B_HID_UID_PID_SET_RAMP_FORCE_REPORT,
+	B_HID_UID_PID_RAMP_START,
+	B_HID_UID_PID_RAMP_END,
+	B_HID_UID_PID_EFFECT_OPERATION_REPORT,
+	B_HID_UID_PID_EFFECT_OPERATION,
+	B_HID_UID_PID_OP_EFFECT_START,
+	B_HID_UID_PID_OP_EFFECT_START_SOLO,
+	B_HID_UID_PID_OP_EFFECT_STOP,
+	B_HID_UID_PID_LOOP_COUNT,
+	B_HID_UID_PID_DEVICE_GAIN_REPORT,
+	B_HID_UID_PID_DEVICE_GAIN,
+	B_HID_UID_PID_PID_POOL_REPORT,
+	B_HID_UID_PID_RAM_POOL_SIZE,
+	B_HID_UID_PID_ROM_POOL_SIZE,
+	B_HID_UID_PID_ROM_EFFECT_BLOCK_COUNT,
+	B_HID_UID_PID_SIMULTANEOUS_EFFECTS_MAX,
+	B_HID_UID_PID_POOL_ALIGNMENT,
+	B_HID_UID_PID_PID_POOL_MOVE_REPORT,
+	B_HID_UID_PID_MOVE_SOURCE,
+	B_HID_UID_PID_MOVE_DESTINATION,
+	B_HID_UID_PID_MOVE_LENGTH,
+	B_HID_UID_PID_PID_BLOCK_LOAD_REPORT,
+	
+	B_HID_UID_PID_BLOCK_LOAD_STATUS = 0x8b,
+	B_HID_UID_PID_BLOCK_LOAD_SUCCESS,
+	B_HID_UID_PID_BLOCK_LOAD_FULL,
+	B_HID_UID_PID_BLOCK_LOAD_ERROR,
+	B_HID_UID_PID_BLOCK_HANDLE,
+	B_HID_UID_PID_PID_BLOCK_FREE_REPORT,
+	B_HID_UID_PID_TYPE_SPECIFIC_BLOCK_HANDLE,
+	B_HID_UID_PID_PID_STATE_REPORT,
+	
+	B_HID_UID_PID_PID_DEVICE_CONTROL_REPORT = 0x95,
+	B_HID_UID_PID_PID_DEVICE_CONTROL,
+	B_HID_UID_PID_DC_ENABLE_ACTUATORS,
+	B_HID_UID_PID_DC_DISABLE_ACTUATORS,
+	B_HID_UID_PID_DC_STOP_ALL_EFFECTS,
+	B_HID_UID_PID_DC_DEVICE_RESET,
+	B_HID_UID_PID_DC_DEVICE_PAUSE,
+	B_HID_UID_PID_DC_DEVICE_CONTINUE,
+	
+	B_HID_UID_PID_DEVICE_PAUSED = 0x9f,
+	B_HID_UID_PID_ACTUATORS_ENABLED,
+	
+	B_HID_UID_PID_SAFETY_SWITCH = 0xa4,
+	B_HID_UID_PID_ACTUATOR_OVERRIDE_SWITCH,
+	B_HID_UID_PID_ACTUATOR_POWER,
+	B_HID_UID_PID_START_DELAY,
+	B_HID_UID_PID_PARAMETER_BLOCK_SIZE,
+	B_HID_UID_PID_DEVICE_MANAGED_POOL,
+	B_HID_UID_PID_SHARED_PARAMETER_BLOCKS,
+	B_HID_UID_PID_CREATE_NEW_EFFECT_REPORT,
+	B_HID_UID_PID_RAM_POOL_AVAILABLE
+};
+
+
+#endif // _USB_HID_PAGE_PHYSICAL_INTERFACE_DEVICE_H
Index: USB_hid_page_digitizers.h
===================================================================
--- USB_hid_page_digitizers.h	(revision 0)
+++ USB_hid_page_digitizers.h	(revision 0)
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_DIGITIZERS_H
+#define _USB_HID_PAGE_DIGITIZERS_H
+
+
+/* Reference:
+ *		HID Usage Page 0x0D: DIGITIZERS
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_DIG_DIGITIZER = 0x1,
+	B_HID_UID_DIG_PEN,
+	B_HID_UID_DIG_LIGHT_PEN,
+	B_HID_UID_DIG_TOUCH_SCREEN,
+	B_HID_UID_DIG_TOUCH_PAD,
+	B_HID_UID_DIG_WHITE_BOARD,
+	B_HID_UID_DIG_COORDINATE_MEASURING_MACHINE,
+	B_HID_UID_DIG_3D_DIGITIZER,
+	B_HID_UID_DIG_STEREO_PLOTTER,
+	B_HID_UID_DIG_ARTICULATED_ARM,
+	B_HID_UID_DIG_ARMATURE,
+	B_HID_UID_DIG_MULTIPLE_POINT_DIGITIZER,
+	B_HID_UID_DIG_FREE_SPACE_WAND,
+	
+	B_HID_UID_DIG_STYLUS = 0x20,
+	B_HID_UID_DIG_PUCK,
+	B_HID_UID_DIG_FINGER,
+	
+	B_HID_UID_DIG_TIP_PRESSURE = 0x30,
+	B_HID_UID_DIG_BARREL_PRESSURE,
+	B_HID_UID_DIG_IN_RANGE,
+	B_HID_UID_DIG_TOUCH,
+	B_HID_UID_DIG_UNTOUCH,
+	B_HID_UID_DIG_TAP,
+	B_HID_UID_DIG_QUALITY,
+	B_HID_UID_DIG_DATA_VALID,
+	B_HID_UID_DIG_TRANSDUCER_INDEX,
+	B_HID_UID_DIG_TABLET_FUNCTION_KEYS,
+	B_HID_UID_DIG_PROGRAM_CHANGE_KEYS,
+	B_HID_UID_DIG_BATTERY_STRENGTH,
+	B_HID_UID_DIG_INVERT,
+	B_HID_UID_DIG_X_TILT,
+	B_HID_UID_DIG_Y_TILT,
+	B_HID_UID_DIG_AZIMUTH,
+	B_HID_UID_DIG_ALTITUDE,
+	B_HID_UID_DIG_TWIST,
+	B_HID_UID_DIG_TIP_SWITCH,
+	B_HID_UID_DIG_SECONDARY_TIP_SWITCH,
+	B_HID_UID_DIG_BARREL_SWITCH,
+	B_HID_UID_DIG_ERASER,
+	B_HID_UID_DIG_TABLET_PICK
+};
+
+
+#endif // _USB_HID_PAGE_DIGITIZERS_H
Index: USB_hid_page_generic_device_controls.h
===================================================================
--- USB_hid_page_generic_device_controls.h	(revision 0)
+++ USB_hid_page_generic_device_controls.h	(revision 0)
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_GENERIC_DEVICE_CONTROLS_H
+#define _USB_HID_PAGE_GENERIC_DEVICE_CONTROLS_H
+
+
+/* Reference:
+ *		HID Usage Page 0x06: GENERIC DEVICE CONTROLS
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_GDEV_BATTERY_STRENGTH = 0x20,
+	B_HID_UID_GDEV_WIRELESS_CHANNEL,
+	B_HID_UID_GDEV_WIRELESS_ID,
+	B_HID_UID_GDEV_DISCOVER_WIRELESS_CONTROL,
+	B_HID_UID_GDEV_SECURITY_CODE_CHARACTER_ENTERED,
+	B_HID_UID_GDEV_SECURITY_CODE_CHARACTER_ERASED,
+	B_HID_UID_GDEV_SECURITY_CODE_CLEARED
+};
+
+
+#endif // _USB_HID_PAGE_GENERIC_DEVICE_CONTROLS_H
Index: USB_hid_page_battery_system.h
===================================================================
--- USB_hid_page_battery_system.h	(revision 0)
+++ USB_hid_page_battery_system.h	(revision 0)
@@ -0,0 +1,119 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_BATTERY_SYSTEM_H
+#define _USB_HID_PAGE_BATTERY_SYSTEM_H
+
+
+/* Reference:
+ *		HID Usage Page 0x85: BATTERY SYSTEM
+ *		Universal Serial Bus Usage Tables for HID Power Devices Ver. 1.0
+ *		http://www.usb.org/developers/devclass_docs/pdcv10.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_BAT_SMB_BATTERY_MODE = 0x01,
+	B_HID_UID_BAT_SMB_BATTERY_STATUS,
+	B_HID_UID_BAT_SMB_ALARM_WARNING,
+	B_HID_UID_BAT_SMB_CHARGER_MODE,
+	B_HID_UID_BAT_SMB_CHARGER_STATUS,
+	B_HID_UID_BAT_SMB_CHARGER_SPEC_INFO,
+	B_HID_UID_BAT_SMB_SELECTOR_STATE,
+	B_HID_UID_BAT_SMB_SELECTOR_PRESETS,
+	B_HID_UID_BAT_SMB_SELECTOR_INFO,
+	
+	B_HID_UID_BAT_OPTIONAL_MFG_FUNCTION1 = 0x10,
+	B_HID_UID_BAT_OPTIONAL_MFG_FUNCTION2,
+	B_HID_UID_BAT_OPTIONAL_MFG_FUNCTION3,
+	B_HID_UID_BAT_OPTIONAL_MFG_FUNCTION4,
+	B_HID_UID_BAT_OPTIONAL_MFG_FUNCTION5,
+	B_HID_UID_BAT_CONNECTION_TO_SM_BUS,
+	B_HID_UID_BAT_OUTPUT_CONNECTION,
+	B_HID_UID_BAT_CHARGER_CONNECTION,
+	B_HID_UID_BAT_BATTERY_INSERTION,
+	B_HID_UID_BAT_USE_NEXT,
+	B_HID_UID_BAT_OK_TO_USE,
+	B_HID_UID_BAT_BATTERY_SUPPORTED,
+	B_HID_UID_BAT_SELECTOR_REVISION,
+	B_HID_UID_BAT_CHARGING_INDICATOR,
+	
+	B_HID_UID_BAT_MANUFACTURER_ACCESS = 0x28,
+	B_HID_UID_BAT_REMAINING_CAPACITY_LIMIT,
+	B_HID_UID_BAT_REMAINING_TIME_LIMIT,
+	B_HID_UID_BAT_AT_RATE,
+	B_HID_UID_BAT_CAPACITY_MODE,
+	B_HID_UID_BAT_BROADCAST_TO_CHARGER,
+	B_HID_UID_BAT_PRIMARY_BATTERY,
+	B_HID_UID_BAT_CHARGE_CONTROLLER,
+	
+	B_HID_UID_BAT_TERMINATE_CHARGE = 0x40,
+	B_HID_UID_BAT_TERMINATE_DISCHARGE,
+	B_HID_UID_BAT_BELOW_REMAINING_CAPACITY_LIMIT,
+	B_HID_UID_BAT_REMAINING_TIME_LIMIT_EXPIRED,
+	B_HID_UID_BAT_CHARGING,
+	B_HID_UID_BAT_DISCHARGING,
+	B_HID_UID_BAT_FULLY_CHARGED,
+	B_HID_UID_BAT_FULLY_DISCHARGED,
+	B_HID_UID_BAT_CONDITIONAL_FLAG,
+	B_HID_UID_BAT_AT_RATE_OK,
+	B_HID_UID_BAT_SMB_ERROR_CODE,
+	B_HID_UID_BAT_NEED_REPLACEMENT,
+	
+	B_HID_UID_BAT_AT_RATE_TIME_TO_FULL = 0x60,
+	B_HID_UID_BAT_AT_RATE_TIME_TO_EMPTY,
+	B_HID_UID_BAT_AVERAGE_CURRENT,
+	B_HID_UID_BAT_MAX_ERROR,
+	B_HID_UID_BAT_RELATIVE_STATE_OF_CHARGE,
+	B_HID_UID_BAT_ABSOLUTE_STATE_OF_CHARGE,
+	B_HID_UID_BAT_REMAINING_CAPACITY,
+	B_HID_UID_BAT_FULL_CHARGE_CAPACITY,
+	B_HID_UID_BAT_RUN_TIME_TO_EMPTY,
+	B_HID_UID_BAT_AVERAGE_TIME_TO_EMPTY,
+	B_HID_UID_BAT_AVERAGE_TIME_TO_FULL,
+	B_HID_UID_BAT_CYCLE_COUNT,
+	
+	B_HID_UID_BAT_BATT_PACK_MODEL_LEVEL = 0x80,
+	B_HID_UID_BAT_INTERNAL_CHARGE_CONTROLLER,
+	B_HID_UID_BAT_PRIMARY_BATTERY_SUPPORT,
+	B_HID_UID_BAT_DESIGN_CAPACITY,
+	B_HID_UID_BAT_SPECIFICATION_INFO,
+	B_HID_UID_BAT_MANUFACTURER_DATE,
+	B_HID_UID_BAT_SERIAL_NUMBER,
+	B_HID_UID_BAT_IMANUFACTURER_NAME,
+	B_HID_UID_BAT_IDEVICE_NAME,
+	B_HID_UID_BAT_IDEVICE_CHEMISTRY,
+	B_HID_UID_BAT_MANUFACTURER_DATA,
+	B_HID_UID_BAT_RECHARGABLE,
+	B_HID_UID_BAT_WARNING_CAPACITY_LIMIT,
+	B_HID_UID_BAT_CAPACITY_GRANULARITY_1,
+	B_HID_UID_BAT_CAPACITY_GRANULARITY_2,
+	B_HID_UID_BAT_IOEM_INFORMATION,
+	
+	B_HID_UID_BAT_INHIBIT_CHARGE = 0xc0,
+	B_HID_UID_BAT_ENABLE_POLLING,
+	B_HID_UID_BAT_RESET_TO_ZERO,
+	
+	B_HID_UID_BAT_AC_PRESENT = 0xd0,
+	B_HID_UID_BAT_BATTERY_PRESENT,
+	B_HID_UID_BAT_POWER_FAIL,
+	B_HID_UID_BAT_ALARM_INHIBITED,
+	B_HID_UID_BAT_THERMISTOR_UNDER_RANGE,
+	B_HID_UID_BAT_THERMISTOR_HOT,
+	B_HID_UID_BAT_THERMISTOR_COLD,
+	B_HID_UID_BAT_THERMISTOR_OVER_RANGE,
+	B_HID_UID_BAT_VOLTAGE_OUT_OF_RANGE,
+	B_HID_UID_BAT_CURRENT_OUT_OF_RANGE,
+	B_HID_UID_BAT_CURRENT_NOT_REGULATED,
+	B_HID_UID_BAT_VOLTAGE_NOT_REGULATED,
+	B_HID_UID_BAT_MASTER_MODE,
+	
+	B_HID_UID_BAT_CHARGER_SELECTOR_SUPPORT = 0xf0,
+	B_HID_UID_BAT_CHARGER_SPEC,
+	B_HID_UID_BAT_LEVEL_2,
+	B_HID_UID_BAT_LEVEL_3
+};
+
+
+#endif // _USB_HID_PAGE_BATTERY_SYSTEM_H
Index: USB_hid_page_arcade.h
===================================================================
--- USB_hid_page_arcade.h	(revision 0)
+++ USB_hid_page_arcade.h	(revision 0)
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_ARCADE_H
+#define _USB_HID_PAGE_ARCADE_H
+
+
+/* Reference:
+ *		HID Usage Page 24: ARCADE
+ *		Open Arcade Architecture Device (OAAD) -
+ *		Data Format Specification Rev. 1.100
+ *		http://www.usb.org/developers/devclass_docs/oaaddataformatsv6.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_ARC_GENERAL_PURPOSE_IO_CARD = 0x01,
+	B_HID_UID_ARC_COIN_DOOR,
+	B_HID_UID_ARC_WATCHDOG_TIMER,
+	
+	B_HID_UID_ARC_GENERAL_PURPOSE_ANALOG_INPUT_STATE = 0x30,
+	B_HID_UID_ARC_GENERAL_PURPOSE_DIGITAL_INPUT_STATE,
+	B_HID_UID_ARC_GENERAL_OPTICAL_INPUT_STATE,
+	B_HID_UID_ARC_GENERAL_DIGITAL_OUTPUT_STATE,
+	B_HID_UID_ARC_NUMBER_OF_COIN_DOORS,
+	B_HID_UID_ARC_COIN_DRAWER_DROP_COUNT,
+	B_HID_UID_ARC_COIN_DRAWER_START,
+	B_HID_UID_ARC_COIN_DRAWER_SERVICE,
+	B_HID_UID_ARC_COIN_DRAWER_TILT,
+	B_HID_UID_ARC_COIN_DOOR_TEST,
+	B_HID_UID_ARC_COIN_DOOR_LOCKOUT,
+	B_HID_UID_ARC_WATCHDOG_TIMEOUT,
+	B_HID_UID_ARC_WATCHDOG_REBOOT,
+	B_HID_UID_ARC_WATCHDOG_RESTART,
+	B_HID_UID_ARC_ALARM_INPUT,
+	B_HID_UID_ARC_COIN_DOOR_COUNTER,
+	B_HID_UID_ARC_IO_DIRECTION_MAPPING,
+	B_HID_UID_ARC_SET_IO_DIRECTION,
+	B_HID_UID_ARC_EXTENDED_OPTICAL_INPUT_STATE,
+	B_HID_UID_ARC_PIN_PAD_INPUT_STATE,
+	B_HID_UID_ARC_PIN_PAD_STATUS,
+	B_HID_UID_ARC_PIN_PAD_OUTPUT,
+	B_HID_UID_ARC_PIN_PAD_COMMAND	
+};
+
+
+#endif // _USB_HID_PAGE_ARCADE_H
Index: USB_hid_page_weighing_device.h
===================================================================
--- USB_hid_page_weighing_device.h	(revision 0)
+++ USB_hid_page_weighing_device.h	(revision 0)
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_WEIGHING_DEVICE_H
+#define _USB_HID_PAGE_WEIGHING_DEVICE_H
+
+
+/* Reference:
+ *		HID Usage Page 0x8D: WEIGHING DEVICES
+ *		HID Point of Sale Usage Tables Ver. 1.0
+ *		http://www.usb.org/developers/devclass_docs/pos1_02.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_WD_WEIGHING_DEVICE = 0x01,
+	
+	B_HID_UID_WD_SCALE_DEVICE = 0x20,
+	B_HID_UID_WD_SCALE_CLASS_I_METRIC,
+	B_HID_UID_WD_SCALE_CLASS_II_METRIC,
+	B_HID_UID_WD_SCALE_CLASS_III_METRIC,
+	B_HID_UID_WD_SCALE_CLASS_IIIL_METRIC,
+	B_HID_UID_WD_SCALE_CLASS_IV_METRIC,
+	B_HID_UID_WD_SCALE_CLASS_III_ENGLISH,
+	B_HID_UID_WD_SCALE_CLASS_IIIL_ENGLISH,
+	B_HID_UID_WD_SCALE_CLASS_IV_ENGLISH,
+	B_HID_UID_WD_SCALE_CLASS_GENERIC,
+	
+	B_HID_UID_WD_SCALE_ATTRIBUTE_REPORT = 0x30,
+	B_HID_UID_WD_SCALE_CONTROL_REPORT,
+	B_HID_UID_WD_SCALE_DATA_REPORT,
+	B_HID_UID_WD_SCALE_STATUS_REPORT,
+	B_HID_UID_WD_SCALE_WEIGHT_LIMIT_REPORT,
+	B_HID_UID_WD_SCALE_STATISTICS_REPORT,
+	
+	B_HID_UID_WD_DATA_WEIGHT = 0x40,
+	B_HID_UID_WD_DATA_SCALING,
+	
+	B_HID_UID_WD_WEIGHT_UNIT = 0x50,
+	B_HID_UID_WD_WEIGHT_UNIT_MILLIGRAM,
+	B_HID_UID_WD_WEIGHT_UNIT_GRAM,
+	B_HID_UID_WD_WEIGHT_UNIT_KILOGRAM,
+	B_HID_UID_WD_WEIGHT_UNIT_CARATS,
+	B_HID_UID_WD_WEIGHT_UNIT_TAELS,
+	B_HID_UID_WD_WEIGHT_UNIT_GRAINS,
+	B_HID_UID_WD_WEIGHT_UNIT_PENNYWEIGHTS,
+	B_HID_UID_WD_WEIGHT_UNIT_METRIC_TON,
+	B_HID_UID_WD_WEIGHT_UNIT_AVOIR_TON,
+	B_HID_UID_WD_WEIGHT_UNIT_TROY_OUNCE,
+	B_HID_UID_WD_WEIGHT_UNIT_OUNCE,
+	B_HID_UID_WD_WEIGHT_UNIT_POUND,
+	
+	B_HID_UID_WD_CALIBRATION_COUNT = 0x60,
+	B_HID_UID_WD_REZERO_COUNT,
+	
+	B_HID_UID_WD_SCALE_STATUS = 0x70,
+	B_HID_UID_WD_SCALE_STATUS_FAULT,
+	B_HID_UID_WD_SCALE_STATUS_STABLE_AT_CENTER_OF_ZERO,
+	B_HID_UID_WD_SCALE_STATUS_IN_MOTION,
+	B_HID_UID_WD_SCALE_STATUS_WEIGHT_STABLE,
+	B_HID_UID_WD_SCALE_STATUS_UNDER_ZERO,
+	B_HID_UID_WD_SCALE_STATUS_OVER_WEIGHT_LIMIT,
+	B_HID_UID_WD_SCALE_STATUS_REQUIRES_CALIBRATION,
+	B_HID_UID_WD_SCALE_STATUS_REQUIRES_REZEROING,
+	
+	B_HID_UID_WD_ZERO_SCALE = 0x80,
+	B_HID_UID_WD_ENFORCED_ZERO_RETURN
+};
+
+
+#endif // _USB_HID_PAGE_WEIGHING_DEVICE_H
Index: USB_hid.h
===================================================================
--- USB_hid.h	(revision 37017)
+++ USB_hid.h	(working copy)
@@ -1,5 +1,5 @@
 /*
- * Copyright 2004-2009, Haiku Inc. All Rights Reserved.
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
  * Distributed under the terms of the MIT License.
  */
 #ifndef _USB_HID_H
@@ -7,38 +7,122 @@
 
 
 #include <SupportDefs.h>
+#include <usb/USB_hid_page_alphanumeric_display.h>
+#include <usb/USB_hid_page_arcade.h>
+#include <usb/USB_hid_page_bar_code_scanner.h>
+#include <usb/USB_hid_page_battery_system.h>
+#include <usb/USB_hid_page_consumer.h>
+#include <usb/USB_hid_page_digitizers.h>
+#include <usb/USB_hid_page_game_controls.h>
+#include <usb/USB_hid_page_generic_desktop.h>
+#include <usb/USB_hid_page_generic_device_controls.h>
+#include <usb/USB_hid_page_keyboard.h>
+#include <usb/USB_hid_page_led.h>
+#include <usb/USB_hid_page_magnetic_stripe_reader.h>
+#include <usb/USB_hid_page_medical_instrument.h>
+#include <usb/USB_hid_page_pid.h>
+#include <usb/USB_hid_page_power_device.h>
+#include <usb/USB_hid_page_simulation.h>
+#include <usb/USB_hid_page_telephony.h>
+#include <usb/USB_hid_page_usb_monitor.h>
+#include <usb/USB_hid_page_vesa_virtual_controls.h>
+#include <usb/USB_hid_page_vr_controls.h>
+#include <usb/USB_hid_page_weighing_device.h>
 
 
-// (Partial) USB Class Definitions for HID Devices, version 1.11
-// Reference: http://www.usb.org/developers/devclass_docs/hid1_11.pdf
+/* References:
+ *
+ *		Device Class Definition for Human Interface Devices	(HID) Ver. 1.11
+ *		http://www.usb.org/developers/devclass_docs/hid1_11.pdf
+ *
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ *
+ *		Device Class Definition for Physical Interface Deviced (PID) Ver. 1.0
+ *		http://www.usb.org/developers/devclass_docs/pid1_01.pdf
+ *
+ *		Universal Serial Bus Usage Tables for HID Power Devices Ver. 1.0
+ *		http://www.usb.org/developers/devclass_docs/pdcv10.pdf
+ *
+ *		HID Point of Sale Usage Tables Ver. 1.0
+ *		http://www.usb.org/developers/devclass_docs/pos1_02.pdf
+ *
+ *		USB Monitor Control Class Specification, Rev. 1.0
+ *		http://www.usb.org/developers/devclass_docs/usbmon10.pdf
+ *
+ *		Open Arcade Architecture Device (OAAD)
+ *		Data Format Specification Rev. 1.100
+ *		http://www.usb.org/developers/devclass_docs/oaaddataformatsv6.pdf
+ */
 
 #define USB_HID_DEVICE_CLASS 			0x03
 #define USB_HID_CLASS_VERSION			0x0100
 
 // HID Interface Subclasses
 enum {
-	USB_HID_INTERFACE_NO_SUBCLASS	= 0x00,	//  No Subclass
-	USB_HID_INTERFACE_BOOT_SUBCLASS			//	Boot Interface Subclass
+	B_USB_HID_INTERFACE_NO_SUBCLASS = 0x00,	//  No Subclass
+	B_USB_HID_INTERFACE_BOOT_SUBCLASS			//	Boot Interface Subclass
 };
 
 // HID Class-Specific descriptor subtypes
 enum {
-	USB_HID_DESCRIPTOR_HID			= 0x21,
-	USB_HID_DESCRIPTOR_REPORT,
-	USB_HID_DESCRIPTOR_PHYSICAL
+	B_USB_HID_DESCRIPTOR_HID = 0x21,
+	B_USB_HID_DESCRIPTOR_REPORT,
+	B_USB_HID_DESCRIPTOR_PHYSICAL
 };
 
 // HID Class-specific requests
 enum {
-	USB_REQUEST_HID_GET_REPORT		= 0x01,
-	USB_REQUEST_HID_GET_IDLE,
-	USB_REQUEST_HID_GET_PROTOCOL,
+	B_USB_REQUEST_HID_GET_REPORT = 0x01,
+	B_USB_REQUEST_HID_GET_IDLE,
+	B_USB_REQUEST_HID_GET_PROTOCOL,
 
-	USB_REQUEST_HID_SET_REPORT		= 0x09,
-	USB_REQUEST_HID_SET_IDLE,
-	USB_REQUEST_HID_SET_PROTOCOL
+	B_USB_REQUEST_HID_SET_REPORT = 0x09,
+	B_USB_REQUEST_HID_SET_IDLE,
+	B_USB_REQUEST_HID_SET_PROTOCOL
 };
 
+// HID Usage Pages
+enum {
+	B_HID_USAGE_PAGE_GENERIC_DESKTOP = 0x1,
+	B_HID_USAGE_PAGE_SIMULATION,
+	B_HID_USAGE_PAGE_VR,
+	B_HID_USAGE_PAGE_SPORT,
+	B_HID_USAGE_PAGE_GAME,
+	B_HID_USAGE_PAGE_GENERIC,
+	B_HID_USAGE_PAGE_KEYBOARD,
+	B_HID_USAGE_PAGE_LED,
+	B_HID_USAGE_PAGE_BUTTON,
+	B_HID_USAGE_PAGE_ORDINAL,
+	B_HID_USAGE_PAGE_TELEPHONY,
+	B_HID_USAGE_PAGE_CONSUMER,
+	B_HID_USAGE_PAGE_DIGITIZER,
+	
+	B_HID_USAGE_PAGE_PID = 0xf,
+	B_HID_USAGE_PAGE_UNICODE,
+	B_HID_USAGE_PAGE_ALPHANUM_DISPLAY = 0x14,
+	B_HID_USAGE_PAGE_MEDICAL = 0x40,
+
+	B_HID_USAGE_PAGE_USB_MONITOR = 0x80,  	// alt. B_HID_USAGE_PAGE_MONITOR_0,
+	B_HID_USAGE_PAGE_USB_ENUMERATED_VALUES,	// alt. B_HID_USAGE_PAGE_MONITOR_1,
+	B_HID_USAGE_PAGE_VESA_VIRTUAL_CONTROLS,	// alt. B_HID_USAGE_PAGE_MONITOR_2,
+	B_HID_USAGE_PAGE_MONITOR_3,
+	
+	B_HID_USAGE_PAGE_POWER_DEVICE = 0x84,	// alt. B_HID_USAGE_PAGE_POWER_0,
+	B_HID_USAGE_PAGE_BATTERY_SYSTEM,		// alt. B_HID_USAGE_PAGE_POWER_1,
+	B_HID_USAGE_PAGE_POWER_2,
+	B_HID_USAGE_PAGE_POWER_3,
+	
+	B_HID_USAGE_PAGE_BAR_CODE_SCANNER = 0x8c,
+	B_HID_USAGE_PAGE_WEIGHING_DEVICES,		// alt. B_HID_USAGE_PAGE_SCALE,
+	B_HID_USAGE_PAGE_MAGNETIC_STRIPE_READER,
+	B_HID_USAGE_PAGE_RESERVED_POS_PAGE,
+	B_HID_USAGE_PAGE_CAMERA_CONTROL,
+	B_HID_USAGE_PAGE_ARCADE,
+	
+	B_HID_USAGE_PAGE_MICROSOFT = 0xff00
+};
+
 typedef struct {
 	uint8	length;
 	uint8	descriptor_type;
@@ -52,91 +136,4 @@
 } _PACKED usb_hid_descriptor;
 
 
-/* Usage Pages/IDs */
-
-enum {
-	HID_USAGE_PAGE_GENERIC_DESKTOP = 0x1,
-	HID_USAGE_PAGE_SIMULATION,
-	HID_USAGE_PAGE_VR,
-	HID_USAGE_PAGE_SPORT,
-	HID_USAGE_PAGE_GAME,
-	HID_USAGE_PAGE_GENERIC,
-	HID_USAGE_PAGE_KEYBOARD,
-	HID_USAGE_PAGE_LED,
-	HID_USAGE_PAGE_BUTTON,
-	HID_USAGE_PAGE_ORDINAL,
-	HID_USAGE_PAGE_TELEPHONY,
-	HID_USAGE_PAGE_CONSUMER,
-	HID_USAGE_PAGE_DIGITIZER,
-	HID_USAGE_PAGE_PID = 0xf,
-	HID_USAGE_PAGE_UNICODE,
-	HID_USAGE_PAGE_ALPHANUM_DISPLAY = 0x14,
-	HID_USAGE_PAGE_MEDICAL = 0x40,
-	HID_USAGE_PAGE_MICROSOFT = 0xff00
-};
-
-/* Page 1: Generic Desktop */
-
-enum {
-	HID_USAGE_ID_POINTER = 0x1,
-	HID_USAGE_ID_MOUSE,
-	HID_USAGE_ID_JOYSTICK = 0x4,
-	HID_USAGE_ID_GAMEPAD,
-	HID_USAGE_ID_KEYBOARD,
-	HID_USAGE_ID_KEYPAD,
-	HID_USAGE_ID_MULTIAXIS = 0x8,
-
-	HID_USAGE_ID_X = 0x30,
-	HID_USAGE_ID_Y,
-	HID_USAGE_ID_Z,
-	HID_USAGE_ID_RX,
-	HID_USAGE_ID_RY,
-	HID_USAGE_ID_RZ,
-	HID_USAGE_ID_SLIDER,
-	HID_USAGE_ID_DIAL,
-	HID_USAGE_ID_WHEEL,
-	HID_USAGE_ID_HAT_SWITCH,
-	HID_USAGE_ID_COUNTED_BUFFER,
-	HID_USAGE_ID_BYTE_COUNT,
-	HID_USAGE_ID_MOTION_WAKEUP,
-	HID_USAGE_ID_START,
-	HID_USAGE_ID_SELECT,
-	HID_USAGE_ID_VX = 0x40,
-	HID_USAGE_ID_VY,
-	HID_USAGE_ID_VZ,
-	HID_USAGE_ID_VBRX,
-	HID_USAGE_ID_VBRY,
-	HID_USAGE_ID_VBRZ,
-	HID_USAGE_ID_VNO,
-	HID_USAGE_ID_FEATURE_NOTIFICATION
-};
-
-/* Page 2: Simulation */
-
-enum {
-	HID_USAGE_ID_RUDDER = 0xba,
-	HID_USAGE_ID_THROTTLE = 0xbb,
-};
-
-/* Page 7: Keyboard */
-
-enum {
-	HID_USAGE_ID_LEFT_CONTROL = 0xe0,
-	HID_USAGE_ID_LEFT_SHIFT,
-	HID_USAGE_ID_LEFT_ALT,
-	HID_USAGE_ID_LEFT_GUI,
-	HID_USAGE_ID_RIGHT_CONTROL,
-	HID_USAGE_ID_RIGHT_SHIFT,
-	HID_USAGE_ID_RIGHT_ALT,
-	HID_USAGE_ID_RIGHT_GUI
-};
-
-/* Page 8: LED */
-
-enum {
-	HID_USAGE_ID_LED_NUM_LOCK = 0x01,
-	HID_USAGE_ID_LED_CAPS_LOCK,
-	HID_USAGE_ID_LED_SCROLL_LOCK
-};
-
 #endif	// _USB_HID_H
Index: USB_hid_page_simulation.h
===================================================================
--- USB_hid_page_simulation.h	(revision 0)
+++ USB_hid_page_simulation.h	(revision 0)
@@ -0,0 +1,74 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_SIMULATION_H
+#define _USB_HID_PAGE_SIMULATION_H
+
+
+/* Reference:
+ *		HID Usage Page 0x02: SIMULATION
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_SIM_FLIGHT_SIMULATION_DEVICE = 0x1,
+	B_HID_UID_SIM_AUTOMOBILE_SIMULATION_DEVICE,
+	B_HID_UID_SIM_TANK_SIMULATION_DEVICE,
+	B_HID_UID_SIM_SPACESHIP_SIMULATION_DEVICE,
+	B_HID_UID_SIM_SUBMARINE_SIMULATION_DEVICE,
+	B_HID_UID_SIM_SAILING_SIMULATION_DEVICE,
+	B_HID_UID_SIM_MOTORCYCLE_SIMULATION_DEVICE,
+	B_HID_UID_SIM_SPORTS_SIMULATION_DEVICE,
+	B_HID_UID_SIM_AIRPLANE_SIMULATION_DEVICE,
+	B_HID_UID_SIM_HELICOPTER_SIMULATION_DEVICE,
+	B_HID_UID_SIM_MAGIC_CARPET_SIMULATION_DEVICE,
+	B_HID_UID_SIM_BICYCLE_SIMULATION_DEVICE,
+	
+	B_HID_UID_SIM_FLIGHT_CONTROL_STICK = 0x20,
+	B_HID_UID_SIM_FLIGHT_STICK,
+	B_HID_UID_SIM_CYCLIC_CONTROL,
+	B_HID_UID_SIM_CYCLIC_TRIM,
+	B_HID_UID_SIM_FLIGHT_YOKE,
+	B_HID_UID_SIM_TRACK_CONTROL,
+	
+	B_HID_UID_SIM_AILERON = 0xb0,
+	B_HID_UID_SIM_AILERON_TRIM,
+	B_HID_UID_SIM_ANTI_TORQUE_CONTROL,
+	B_HID_UID_SIM_AUTOPILOT_ENABLE,
+	B_HID_UID_SIM_CHAFF_RELEASE,
+	B_HID_UID_SIM_COLLECTIVE_CONTROL,
+	B_HID_UID_SIM_DIVE_BREAK,
+	B_HID_UID_SIM_ELECTRONIC_COUNTERMEASURES,
+	B_HID_UID_SIM_ELEVATOR,
+	B_HID_UID_SIM_ELEVATOR_TRIM,
+	B_HID_UID_SIM_RUDDER,
+	B_HID_UID_SIM_THROTTLE,
+	B_HID_UID_SIM_FLIGHT_COMMUNICATIONS,
+	B_HID_UID_SIM_FLARE_RELEASE,
+	B_HID_UID_SIM_LANDING_GEAR,
+	B_HID_UID_SIM_TOE_BRAKE,
+	
+	B_HID_UID_SIM_TRIGGER = 0xc0,
+	B_HID_UID_SIM_WEAPONS_ARM,
+	B_HID_UID_SIM_WEAPONS_SELECT,
+	B_HID_UID_SIM_WING_FLAPS,
+	B_HID_UID_SIM_ACCELERATOR,
+	B_HID_UID_SIM_BRAKE,
+	B_HID_UID_SIM_CLUTCH,
+	B_HID_UID_SIM_SHIFTER,
+	B_HID_UID_SIM_STEERING,
+	B_HID_UID_SIM_TURRET_DIRECTION,
+	B_HID_UID_SIM_BARREL_ELEVATION,
+	B_HID_UID_SIM_DIVE_PLANE,
+	B_HID_UID_SIM_BALLAST,
+	B_HID_UID_SIM_BICYCLE_CRANK,
+	B_HID_UID_SIM_HANDLE_BARS,
+	B_HID_UID_SIM_FRONT_BRAKE,
+	B_HID_UID_SIM_REAR_BRAKE
+};
+
+
+#endif // _USB_HID_PAGE_SIMULATION_H
Index: USB_hid_page_medical_instrument.h
===================================================================
--- USB_hid_page_medical_instrument.h	(revision 0)
+++ USB_hid_page_medical_instrument.h	(revision 0)
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_MEDICAL_INSTRUMENT_H
+#define _USB_HID_PAGE_MEDICAL_INSTRUMENT_H
+
+
+/* Reference:
+ *		HID Usage Page 0x40: MEDICAL INSTRUMENT
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_MI_ULTRASOUND = 0x01,
+	
+	B_HID_UID_MI_VCR_ACQUISITION = 0x20,
+	B_HID_UID_MI_FREEZE_THAW,
+	B_HID_UID_MI_SLIP_STORE,
+	B_HID_UID_MI_UPDATE,
+	B_HID_UID_MI_NEXT,
+	B_HID_UID_MI_SAVE,
+	B_HID_UID_MI_PRINT,
+	B_HID_UID_MI_MICROPHONE_ENABLE,
+	
+	B_HID_UID_MI_CINE = 0x40,
+	B_HID_UID_MI_TRANSMIT_POWER,
+	B_HID_UID_MI_VOLUME,
+	B_HID_UID_MI_FOCUS,
+	B_HID_UID_MI_DEPTH,
+	
+	B_HID_UID_MI_SOFT_STEP_PRIMARY = 0x60,
+	B_HID_UID_MI_SOFT_STEP_SECONDARY,
+	
+	B_HID_UID_MI_DEPTH_GAIN_COMPENSATION = 0x70,
+	
+	B_HID_UID_MI_ZOOM_SELECT = 0x80,
+	B_HID_UID_MI_ZOOM_ADJUST,
+	B_HID_UID_MI_SPECTRAL_DOPPLER_MODE_SELECT,
+	B_HID_UID_MI_SPECTRAL_DOPPLER_ADJUST,
+	B_HID_UID_MI_COLOR_DOPPLER_MODE_SELECT,
+	B_HID_UID_MI_COLOR_DOPPLER_ADJUST,
+	B_HID_UID_MI_MOTION_MODE_SELECT,
+	B_HID_UID_MI_MOTION_MODE_ADJUST,
+	B_HID_UID_MI_2D_MODE_SELECT,
+	B_HID_UID_MI_2D_MODE_ADJUST,
+	
+	B_HID_UID_MI_SOFT_CONTROL_SELECT = 0xa,
+	B_HID_UID_MI_SOFT_CONTROL_ADJUST
+};
+
+
+#endif // _USB_HID_PAGE_MEDICAL_INSTRUMENT_H
Index: USB_hid_page_vesa_virtual_controls.h
===================================================================
--- USB_hid_page_vesa_virtual_controls.h	(revision 0)
+++ USB_hid_page_vesa_virtual_controls.h	(revision 0)
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_VESA_VIRTUAL_CONTROLS_H
+#define _USB_HID_PAGE_VESA_VIRTUAL_CONTROLS_H
+
+
+/* Reference:
+ *		HID Usage Page 0x82: VESA VIRTUAL CONTROLS
+ *		USB Monitor Control Class Specification, Rev. 1.0
+ *		http://www.usb.org/developers/devclass_docs/usbmon10.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_VVC_DEGAUSS = 0x01,
+	
+	B_HID_UID_VVC_BRIGHTNESS = 0x10,
+	B_HID_UID_VVC_CONTRAST = 0x12,
+	B_HID_UID_VVC_RED_VIDEO_GAIN = 0x16,
+	B_HID_UID_VVC_GREEN_VIDEO_GAIN = 0x18,
+	B_HID_UID_VVC_BLUE_VIDEO_GAIN = 0x1a,
+	B_HID_UID_VVC_FOCUS = 0x1c,
+	B_HID_UID_VVC_HORIZONTAL_POSITION = 0x20,
+	B_HID_UID_VVC_HORIZONTAL_SIZE = 0x22,
+	B_HID_UID_VVC_HORIZONTAL_PINCUSHION = 0x24,
+	B_HID_UID_VVC_HORIZONTAL_PINCUSHION_BALANCE = 0x26,
+	B_HID_UID_VVC_HOROZONTAL_MISCONVERGENCE = 0x28,
+	B_HID_UID_VVC_HORIZONTAL_LINEARITY = 0x2a,
+	B_HID_UID_VVC_HORIZONTAL_LINEARITY_BALANCE = 0x2c,
+	B_HID_UID_VVC_VERTICAL_POSITION = 0x30,
+	B_HID_UID_VVC_VERTICAL_SIZE = 0x32,
+	B_HID_UID_VVC_VERTICAL_PINCUSHION = 0x34,
+	B_HID_UID_VVC_VERTICAL_PINCUSHION_BALANCE = 0x36,
+	B_HID_UID_VVC_VERTICAL_MISCONVERGENCE = 0x38,
+	B_HID_UID_VVC_VERTICAL_LINEARITY = 0x3a,
+	B_HID_UID_VVC_VERTICAL_LINEARITY_BALANCE = 0x3c,
+	B_HID_UID_VVC_PARALLELOGRAM_DISTORTION = 0x40,
+	B_HID_UID_VVC_TRAPEZOID_DISTORTION = 0x42,
+	B_HID_UID_VVC_TILT = 0x44,
+	B_HID_UID_VVC_TOP_CORNER_DISTORTION_CONTROL = 0x46,
+	B_HID_UID_VVC_TOP_CORNER_DISTORTION_BALANCE = 0x48,
+	B_HID_UID_VVC_BOTTOM_CORNER_DISTORTION_CONTROL = 0x4a,
+	B_HID_UID_VVC_BOTTOM_CORNER_DISTORTION_BALANCE = 0x4c,
+	B_HID_UID_VVC_HORIZONTAL_MOIRE = 0x56,
+	B_HID_UID_VVC_VERTICAL_MOIRE = 0x58,
+	B_HID_UID_VVC_RED_VIDEO_BLACK_LEVEL = 0x6c,
+	B_HID_UID_VVC_GREEN_VIDEO_BLACK_LEVEL = 0x6e,
+	B_HID_UID_VVC_BLUE_VIDEO_BLACK_LEVEL = 0x70,
+	
+	B_HID_UID_VVC_INPUT_LEVEL_SELECT = 0x5e,
+	B_HID_UID_VVC_INPUT_SOURCE_SELECT = 0x60,
+	B_HID_UID_VVC_ON_SCREEN_DISPLAY = 0xca,
+	B_HID_UID_VVC_STEREO_MODE = 0xd4,
+	B_HID_UID_VVC_AUTO_SIZE_CENTER = 0xa2,
+	B_HID_UID_VVC_POLARITY_HORIZONTAL_SYNCHRONIZATION = 0xa4,
+	B_HID_UID_VVC_POLARITY_VERTICAL_SYNCHRONIZATION = 0xa6,
+	B_HID_UID_VVC_SYNCHRONIZATION_TYPE = 0xa8,
+	B_HID_UID_VVC_SCREEN_ORIENTATION = 0xaa,
+	B_HID_UID_VVC_HORIZONTAL_FREQUENCY = 0xac,
+	B_HID_UID_VVC_VERTICAL_FREQUENCY = 0xae,
+	
+	B_HID_UID_VVC_SETTINGS = 0xb0
+};
+
+
+#endif // _USB_HID_PAGE_VESA_VIRTUAL_CONTROLS_H
Index: USB_hid_page_sport_controls.h
===================================================================
--- USB_hid_page_sport_controls.h	(revision 0)
+++ USB_hid_page_sport_controls.h	(revision 0)
@@ -0,0 +1,55 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_SPORT_CONTROLS_H
+#define _USB_HID_PAGE_SPORT_CONTROLS_H
+
+
+/* Reference:
+ *		HID Usage Page 0x04: SPORT CONTROLS
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_SPO_BASEBALL_BAT = 0x1,
+	B_HID_UID_SPO_GOLF_CLUB,
+	B_HID_UID_SPO_ROWING_MACHINE,
+	B_HID_UID_SPO_TREADMILL,
+	
+	B_HID_UID_SPO_OAR = 0x30,
+	B_HID_UID_SPO_SLOPE,
+	B_HID_UID_SPO_RATE,
+	B_HID_UID_SPO_STICK_SPEED,
+	B_HID_UID_SPO_STICK_FACE_ANGLE,
+	B_HID_UID_SPO_STICK_HEEL_TOE,
+	B_HID_UID_SPO_STICK_TEMPO,
+	B_HID_UID_SPO_STICK_TYPE,
+	B_HID_UID_SPO_STICK_HEIGHT,
+	
+	B_HID_UID_SPO_PUTTER = 0x50,
+	B_HID_UID_SPO_1_IRON,
+	B_HID_UID_SPO_2_IRON,
+	B_HID_UID_SPO_3_IRON,
+	B_HID_UID_SPO_4_IRON,
+	B_HID_UID_SPO_5_IRON,
+	B_HID_UID_SPO_6_IRON,
+	B_HID_UID_SPO_7_IRON,
+	B_HID_UID_SPO_8_IRON,
+	B_HID_UID_SPO_9_IRON,
+	B_HID_UID_SPO_10_IRON,
+	B_HID_UID_SPO_11_IRON,
+	B_HID_UID_SPO_SAND_WEDGE,
+	B_HID_UID_SPO_LOFT_WEDGE,
+	B_HID_UID_SPO_POWER_WEDGE,
+	B_HID_UID_SPO_1_WOOD,
+	B_HID_UID_SPO_3_WOOD,
+	B_HID_UID_SPO_5_WOOD,
+	B_HID_UID_SPO_7_WOOD,
+	B_HID_UID_SPO_9_WOOD
+};
+
+
+#endif // _USB_HID_PAGE_SPORT_CONTROLS_H
Index: USB_hid_page_consumer.h
===================================================================
--- USB_hid_page_consumer.h	(revision 0)
+++ USB_hid_page_consumer.h	(revision 0)
@@ -0,0 +1,400 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_CONSUMER_H
+#define _USB_HID_PAGE_CONSUMER_H
+
+
+/* Reference:
+ *		HID Usage Page 0x0C: CONSUMER
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_CON_CONSUMER_CONTROL = 0x01,
+	B_HID_UID_CON_NUMERIC_KEYPAD,
+	B_HID_UID_CON_PROGRAMMABLE_BUTTONS,
+	B_HID_UID_CON_MICROPHONE,
+	B_HID_UID_CON_HEADPHONE,
+	B_HID_UID_CON_GRAPHIC_EQUALIZER,
+	
+	B_HID_UID_CON_PLUS_10 = 0x20,
+	B_HID_UID_CON_PLUS_100,
+	B_HID_UID_CON_AM_PM,
+	
+	B_HID_UID_CON_POWER = 0x30,
+	B_HID_UID_CON_RESET,
+	B_HID_UID_CON_SLEEP,
+	B_HID_UID_CON_SLEEP_AFTER,
+	B_HID_UID_CON_SLEEP_MODE,
+	B_HID_UID_CON_ILLUMINATION,
+	B_HID_UID_CON_FUNCTION_BUTTONS,
+	
+	B_HID_UID_CON_MENU = 0x40,
+	B_HID_UID_CON_MENU_PICK,
+	B_HID_UID_CON_MENU_UP,
+	B_HID_UID_CON_MENU_DOWN,
+	B_HID_UID_CON_MENU_LEFT,
+	B_HID_UID_CON_MENU_RIGHT,
+	B_HID_UID_CON_MENU_ESCAPE,
+	B_HID_UID_CON_MENU_VALUE_INCREASE,
+	B_HID_UID_CON_MENU_VALUE_DECREASE,
+	
+	B_HID_UID_CON_DATA_ON_SCREEN = 0x60,
+	B_HID_UID_CON_CLOSED_CAPTION,
+	B_HID_UID_CON_CLOSED_CAPTION_SELECT,
+	B_HID_UID_CON_VCR_TV,
+	B_HID_UID_CON_BROADCAST_MODE,
+	B_HID_UID_CON_SNAPSHOT,
+	B_HID_UID_CON_STILL,
+	
+	B_HID_UID_CON_SELECTION = 0x80,
+	B_HID_UID_CON_ASSIGN_SELECTION,
+	B_HID_UID_CON_MODE_SETUP,
+	B_HID_UID_CON_RECALL_LIST,
+	B_HID_UID_CON_ENTER_CHANNEL,
+	B_HID_UID_CON_ORDER_MOVIE,
+	B_HID_UID_CON_CHANNEL,
+	B_HID_UID_CON_MEDIA_SELECTION,
+	B_HID_UID_CON_MEDIA_SELECT_COMPUTER,
+	B_HID_UID_CON_MEDIA_SELECT_TV,
+	B_HID_UID_CON_MEDIA_SELECT_WWW,
+	B_HID_UID_CON_MEDIA_SELECT_DVD,
+	B_HID_UID_CON_MEDIA_SELECT_TELEPHONE,
+	B_HID_UID_CON_MEDIA_SELECT_PROGRAM_GUIDE,
+	B_HID_UID_CON_MEDIA_SELECT_VIDEO_PHONE,
+	B_HID_UID_CON_MEDIA_SELECT_GAMES,
+	B_HID_UID_CON_MEDIA_SELECT_MESSAGES,
+	B_HID_UID_CON_MEDIA_SELECT_CD,
+	B_HID_UID_CON_MEDIA_SELECT_VCR,
+	B_HID_UID_CON_MEDIA_SELECT_TUNER,
+	B_HID_UID_CON_QUIT,
+	B_HID_UID_CON_HELP,
+	B_HID_UID_CON_MEDIA_SELECT_TAPE,
+	B_HID_UID_CON_MEDIA_SELECT_CABLE,
+	B_HID_UID_CON_MEDIA_SELECT_SATELLITE,
+	B_HID_UID_CON_MEDIA_SELECT_SECURITY,
+	B_HID_UID_CON_MEDIA_SELECT_HOME,
+	B_HID_UID_CON_MEDIA_SELECT_CALL,
+	B_HID_UID_CON_CHANNEL_INCREMENT,
+	B_HID_UID_CON_CHANNEL_DECREMENT,	
+	B_HID_UID_CON_MEDIA_SELECT_SAP,
+	
+	B_HID_UID_CON_VCR_PLUS = 0xa0,
+	B_HID_UID_CON_ONCE,
+	B_HID_UID_CON_DAILY,
+	B_HID_UID_CON_WEEKLY,
+	B_HID_UID_CON_MONTHLY,
+	
+	B_HID_UID_CON_PLAY = 0xb0,
+	B_HID_UID_CON_PAUSE,
+	B_HID_UID_CON_RECORD,
+	B_HID_UID_CON_FAST_FORWARD,
+	B_HID_UID_CON_REWIND,
+	B_HID_UID_CON_SCAN_NEXT_TRACK,
+	B_HID_UID_CON_SCAN_PREVIOUS_TRACK,
+	B_HID_UID_CON_STOP,
+	B_HID_UID_CON_EJECT,
+	B_HID_UID_CON_RANDOM_PLAY,
+	B_HID_UID_CON_SELECT_DISC,
+	B_HID_UID_CON_ENTER_DISC,
+	B_HID_UID_CON_REPEAT,
+	B_HID_UID_CON_TRACKING,
+	B_HID_UID_CON_TRACKING_NORMAL,
+	B_HID_UID_CON_SLOW_TRACKING,
+	B_HID_UID_CON_FRAME_FORWARD,
+	B_HID_UID_CON_FRAME_BACKWARD,
+	B_HID_UID_CON_MARK,
+	B_HID_UID_CON_CLEAR_MARK,
+	B_HID_UID_CON_REPEAT_FROM_MARK,
+	B_HID_UID_CON_RETURN_TO_MARK,
+	B_HID_UID_CON_SEARCH_MARK_FORWARD,
+	B_HID_UID_CON_SEARCH_MARK_BACKWARDS,
+	B_HID_UID_CON_COUNTER_RESET,
+	B_HID_UID_CON_SHOW_COUNTER,
+	B_HID_UID_CON_TRACKING_INCREMENT,
+	B_HID_UID_CON_TRACKING_DECREMENT,
+	B_HID_UID_CON_STOP_EJECT,
+	B_HID_UID_CON_PLAY_PAUSE,
+	B_HID_UID_CON_PLAY_SKIP,
+	
+	B_HID_UID_CON_VOLUME = 0xe0,
+	B_HID_UID_CON_BALANCE,
+	B_HID_UID_CON_MUTE,
+	B_HID_UID_CON_BASS,
+	B_HID_UID_CON_TREBLE,
+	B_HID_UID_CON_BASS_BOOST,
+	B_HID_UID_CON_SURROUND_MODE,
+	B_HID_UID_CON_LOUDNESS,
+	B_HID_UID_CON_MPX,
+	B_HID_UID_CON_VOLUME_INCREMENT,
+	B_HID_UID_CON_VOLUME_DECREMENT,
+	
+	B_HID_UID_CON_SPEED_SELECT = 0xf0,
+	B_HID_UID_CON_PLAYBACK_SPEED,
+	B_HID_UID_CON_STANDARD_PLAY,
+	B_HID_UID_CON_LONG_PLAY,
+	B_HID_UID_CON_EXTENDED_PLAY,
+	B_HID_UID_CON_SLOW,
+	
+	B_HID_UID_CON_FAN_ENABLE = 0x100,
+	B_HID_UID_CON_FAN_DISABLE,
+	B_HID_UID_CON_LIGHT_ENABLE,
+	B_HID_UID_CON_LIGHT_ILLUMINATION_LEVEL,
+	B_HID_UID_CON_CLIMATE_CONTROL_ENABLE,
+	B_HID_UID_CON_ROOM_TEMPERATURE,
+	B_HID_UID_CON_SECURITY_ENABLE,
+	B_HID_UID_CON_FIRE_ALARM,
+	B_HID_UID_CON_POLICE_ALARM,
+	B_HID_UID_CON_PROXIMITY,
+	B_HID_UID_CON_MOTION,
+	B_HID_UID_CON_DURESS_ALARM,
+	B_HID_UID_CON_HOLDUP_ALARM,
+	B_HID_UID_CON_MEDICAL_ALARM,
+	
+	B_HID_UID_CON_BALANCE_RIGHT = 0x150,
+	B_HID_UID_CON_BALANCE_LEFT,
+	B_HID_UID_CON_BASS_INCREMENT,
+	B_HID_UID_CON_BASS_DECREMENT,
+	B_HID_UID_CON_TREBLE_INCREMENT,
+	B_HID_UID_CON_TREBLE_DECREMENT,
+	
+	B_HID_UID_CON_SPEAKER_SYSTEM = 0x160,
+	B_HID_UID_CON_CHANNEL_LEFT,
+	B_HID_UID_CON_CHANNEL_RIGHT,
+	B_HID_UID_CON_CHANNEL_CENTER,
+	B_HID_UID_CON_CHANNEL_FRONT,
+	B_HID_UID_CON_CHANNEL_CENTER_FRONT,
+	B_HID_UID_CON_CHANNEL_SIDE,
+	B_HID_UID_CON_CHANNEL_SURROUND,
+	B_HID_UID_CON_CHANNEL_LOW_FREQUENCE_ENHANCEMENT,
+	B_HID_UID_CON_CHANNEL_TOP,
+	B_HID_UID_CON_CHANNEL_UNKNOWN,
+	
+	B_HID_UID_CON_SUBCHANNEL = 0x170,
+	B_HID_UID_CON_SUBCHANNEL_INCREMENT,
+	B_HID_UID_CON_SUBCHANNEL_DECREMENT,
+	B_HID_UID_CON_ALTERNATE_AUDIO_INCREMENT,
+	B_HID_UID_CON_ALTERNATE_AUDIO_DECREMENT,
+	
+	B_HID_UID_CON_APPLICATION_LAUNCH_BUTTONS = 0x180,
+	B_HID_UID_CON_AL_LAUNCH_BUTTON_CONFIGURATION_TOOL,
+	B_HID_UID_CON_AL_PROGRAMMABLE_BUTTON_CONFIGURATION,
+	B_HID_UID_CON_AL_CONSUMER_CONTROL_CONFIGURATION,
+	B_HID_UID_CON_AL_WORD_PROCESSOR,
+	B_HID_UID_CON_AL_TEXT_EDITOR,
+	B_HID_UID_CON_AL_SPREADSHEET,
+	B_HID_UID_CON_AL_GRAPHICS_EDITOR,
+	B_HID_UID_CON_AL_PRESENTATION_APP,
+	B_HID_UID_CON_AL_DATABASE_APP,
+	B_HID_UID_CON_AL_EMAIL_READER,
+	B_HID_UID_CON_AL_NEWSREADER,
+	B_HID_UID_CON_AL_VOICEMAIL,
+	B_HID_UID_CON_AL_CONTACTS_ADDRESS_BOOK,
+	B_HID_UID_CON_AL_CALENDER_SCHEDULE,
+	B_HID_UID_CON_AL_TASK_PROJECT_MANAGER,
+	B_HID_UID_CON_AL_LOG_JOURNAL_TIMECARD,
+	B_HID_UID_CON_AL_CHECKBOOK_FINANCE,
+	B_HID_UID_CON_AL_CALCULATOR,
+	B_HID_UID_CON_AL_AV_CAPTURE_PLAYBACK,
+	B_HID_UID_CON_AL_LOCAL_MACHINE_BROWSER,
+	B_HID_UID_CON_AL_LAN_WAN_BROWSER,
+	B_HID_UID_CON_AL_INTERNET_BROWSER,
+	B_HID_UID_CON_AL_REMOTE_NETWORKING_ISP_CONNECT,
+	B_HID_UID_CON_AL_NETWORK_CONFERENCE,
+	B_HID_UID_CON_AL_NETWORK_CHAT,
+	B_HID_UID_CON_AL_TELEPHONY_DIALER,
+	B_HID_UID_CON_AL_LOGON,
+	B_HID_UID_CON_AL_LOGOFF,
+	B_HID_UID_CON_AL_LOGON_LOGOFF,
+	B_HID_UID_CON_AL_TERMINAL_LOCK_SCREEN,
+	B_HID_UID_CON_AL_CONTROL_PANEL,
+	B_HID_UID_CON_AL_COMMAND_LINE_PROCESSOR_RUN,
+	B_HID_UID_CON_AL_PROCESS_TASK_MANAGER,
+	B_HID_UID_CON_AL_SELECT_TASK_APPLICATION,
+	B_HID_UID_CON_AL_NEXT_TASK_APPLICATION,
+	B_HID_UID_CON_AL_PREVIOUS_TASK_APPLICATION,
+	B_HID_UID_CON_AL_PREEMPTIVE_HALT_TASK_APPLICATION,
+	B_HID_UID_CON_AL_INTERGRATED_HELP_CENTER,
+	B_HID_UID_CON_AL_DOCUMENTS,
+	B_HID_UID_CON_AL_THESAURUS,
+	B_HID_UID_CON_AL_DICTIONARY,
+	B_HID_UID_CON_AL_DESKTOP,
+	B_HID_UID_CON_AL_SPELL_CHECK,
+	B_HID_UID_CON_AL_GRAMMAR_CHECK,
+	B_HID_UID_CON_AL_WIRELESS_STATUS,
+	B_HID_UID_CON_AL_KEYBOARD_LAYOUT,
+	B_HID_UID_CON_AL_VIRUS_PROTECTION,
+	B_HID_UID_CON_AL_ENCRYPTION,
+	B_HID_UID_CON_AL_SCREEN_SAVER,
+	B_HID_UID_CON_AL_ALARMS,
+	B_HID_UID_CON_AL_CLOCK,
+	B_HID_UID_CON_AL_FILE_BROWSER,
+	B_HID_UID_CON_AL_POWER_STATUS,
+	B_HID_UID_CON_AL_IMAGE_BROWSER,
+	B_HID_UID_CON_AL_AUDIO_BROWSER,
+	B_HID_UID_CON_AL_MOVIE_BROWSER,
+	B_HID_UID_CON_AL_DIGITAL_RIGHTS_MANAGER,
+	B_HID_UID_CON_AL_DIGITAL_WALLET,
+	
+	B_HID_UID_CON_AL_INSTANT_MESSAGING = 0x1bc,
+	B_HID_UID_CON_AL_OEM_FEATURES_TIPS_TUTORIAL_BROWSER,
+	B_HID_UID_CON_AL_OEM_HELP,
+	B_HID_UID_CON_AL_ONLINE_COMMUNITY,
+	B_HID_UID_CON_AL_ENTERTAINMENT_CONTENT_BROWSER,
+	B_HID_UID_CON_AL_ONLINE_SHOPPING_BROWSER,
+	B_HID_UID_CON_AL_SMARTCARD_INFORMATION_HELP,
+	B_HID_UID_CON_AL_MARKET_MONITOR_FINANCE_BROWSER,
+	B_HID_UID_CON_AL_CUSTOMIZED_CORPORATE_NEWS_BROWSER,
+	B_HID_UID_CON_AL_ONLINE_ACTIVITY_BROWSER,
+	B_HID_UID_CON_AL_RESEARCH_SEARCH_BROWSER,
+	B_HID_UID_CON_AL_AUDIO_PLAYER,
+	
+	B_HID_UID_CON_GENERIC_GUI_APPLICATION_CONTROLS = 0x200,
+	B_HID_UID_CON_AC_NEW,
+	B_HID_UID_CON_AC_OPEN,
+	B_HID_UID_CON_AC_CLOSE,
+	B_HID_UID_CON_AC_EXIT,
+	B_HID_UID_CON_AC_MAXIMIZE,
+	B_HID_UID_CON_AC_MINIMIZE,
+	B_HID_UID_CON_AC_SAVE,
+	B_HID_UID_CON_AC_PRINT,
+	B_HID_UID_CON_AC_PROPERTIES,
+	B_HID_UID_CON_AC_UNDO,
+	B_HID_UID_CON_AC_COPY,
+	B_HID_UID_CON_AC_CUT,
+	B_HID_UID_CON_AC_PASTE,
+	B_HID_UID_CON_AC_SELECT_ALL,
+	B_HID_UID_CON_AC_FIND,
+	B_HID_UID_CON_AC_FIND_AND_REPLACE,
+	B_HID_UID_CON_AC_SEARCH,
+	B_HID_UID_CON_AC_GO_TO,
+	B_HID_UID_CON_AC_HOME,
+	B_HID_UID_CON_AC_BACK,
+	B_HID_UID_CON_AC_FORWARD,
+	B_HID_UID_CON_AC_STOP,
+	B_HID_UID_CON_AC_REFRESH,
+	B_HID_UID_CON_AC_PREVIOUS_LINK,
+	B_HID_UID_CON_AC_NEXT_LINK,
+	B_HID_UID_CON_AC_BOOKMARKS,
+	B_HID_UID_CON_AC_HISTORY,
+	B_HID_UID_CON_AC_SUBSCRIPTIONS,
+	B_HID_UID_CON_AC_ZOOM_IN,
+	B_HID_UID_CON_AC_ZOOM_OUT,
+	B_HID_UID_CON_AC_ZOOM,
+	B_HID_UID_CON_AC_FULL_SCREEN_VIEW,
+	B_HID_UID_CON_AC_NORMAL_VIEW,
+	B_HID_UID_CON_AC_VIEW_TOGGLE,
+	B_HID_UID_CON_AC_SCROLL_UP,
+	B_HID_UID_CON_AC_SCROLL_DOWN,
+	B_HID_UID_CON_AC_SCROLL,
+	B_HID_UID_CON_AC_PAN_LEFT,
+	B_HID_UID_CON_AC_PAN_RIGHT,
+	B_HID_UID_CON_AC_PAN,
+	B_HID_UID_CON_AC_NEW_WINDOW,
+	B_HID_UID_CON_AC_TILE_HORIZONTALLY,
+	B_HID_UID_CON_AC_TILE_VERTICALLY,
+	B_HID_UID_CON_AC_FORMAT,
+	B_HID_UID_CON_AC_EDIT,
+	B_HID_UID_CON_AC_BOLD,
+	B_HID_UID_CON_AC_ITALICS,
+	B_HID_UID_CON_AC_UNDERLINE,
+	B_HID_UID_CON_AC_STRIKETHROUGH,
+	B_HID_UID_CON_AC_SUBSCRIPT,
+	B_HID_UID_CON_AC_SUPERSCRIPT,
+	B_HID_UID_CON_AC_ALL_CAPS,
+	B_HID_UID_CON_AC_ROTATE,
+	B_HID_UID_CON_AC_RESIZE,
+	B_HID_UID_CON_AC_FLIP_HORIZONTAL,
+	B_HID_UID_CON_AC_FLIP_VERTICAL,
+	B_HID_UID_CON_AC_MIRROR_HORIZONTAL,
+	B_HID_UID_CON_AC_MIRROR_VERTICAL,
+	B_HID_UID_CON_AC_FONT_SELECT,
+	B_HID_UID_CON_AC_FONT_COLOR,
+	B_HID_UID_CON_AC_FONT_SIZE,
+	B_HID_UID_CON_AC_JUSTIFY_LEFT,
+	B_HID_UID_CON_AC_JUSTIFY_CENTER_H,
+	B_HID_UID_CON_AC_JUSTIFY_RIGHT,
+	B_HID_UID_CON_AC_JUSTIFY_BLOCK_H,
+	B_HID_UID_CON_AC_JUSTIFY_TOP,
+	B_HID_UID_CON_AC_JUSTIFY_CENTER_V,
+	B_HID_UID_CON_AC_JUSTIFY_BOTTOM,
+	B_HID_UID_CON_AC_JUSTIFY_BLOCK_V,
+	B_HID_UID_CON_AC_INDENT_DECREASE,
+	B_HID_UID_CON_AC_INDENT_INCREASE,
+	B_HID_UID_CON_AC_NUMBERED_LIST,
+	B_HID_UID_CON_AC_RESTART_NUMBERING,
+	B_HID_UID_CON_AC_BULLETED_LIST,
+	B_HID_UID_CON_AC_PROMOTE,
+	B_HID_UID_CON_AC_DEMOTE,
+	B_HID_UID_CON_AC_YES,
+	B_HID_UID_CON_AC_NO,
+	B_HID_UID_CON_AC_CANCEL,
+	B_HID_UID_CON_AC_CATALOG,
+	B_HID_UID_CON_AC_BUY_CHECKOUT,
+	B_HID_UID_CON_AC_ADD_TO_CART,
+	B_HID_UID_CON_AC_EXPAND,
+	B_HID_UID_CON_AC_EXPAND_ALL,
+	B_HID_UID_CON_AC_COLLAPSE,
+	B_HID_UID_CON_AC_COLLAPSE_ALL,
+	B_HID_UID_CON_AC_PRINT_PREVIEW,
+	B_HID_UID_CON_AC_PASTE_SPECIAL,
+	B_HID_UID_CON_AC_INSERT_MODE,
+	B_HID_UID_CON_AC_DELETE,
+	B_HID_UID_CON_AC_LOCK,
+	B_HID_UID_CON_AC_UNLOCK,
+	B_HID_UID_CON_AC_PROTECT,
+	B_HID_UID_CON_AC_UNPROTECT,
+	B_HID_UID_CON_AC_ATTACH_COMMENT,
+	B_HID_UID_CON_AC_DELETE_COMMENT,
+	B_HID_UID_CON_AC_VIEW_COMMENT,
+	B_HID_UID_CON_AC_SELECT_WORD,
+	B_HID_UID_CON_AC_SELECT_SENTENCE,
+	B_HID_UID_CON_AC_SELECT_PARAGRAPH,
+	B_HID_UID_CON_AC_SELECT_COLUMN,
+	B_HID_UID_CON_AC_SELECT_ROW,
+	B_HID_UID_CON_AC_SELECT_TABLE,
+	B_HID_UID_CON_AC_SELECT_OBJECT,
+	B_HID_UID_CON_AC_REDO_REPEAT,
+	B_HID_UID_CON_AC_SORT,
+	B_HID_UID_CON_AC_SORT_ASCENDING,
+	B_HID_UID_CON_AC_SORT_DESCENDING,
+	B_HID_UID_CON_AC_FILTER,
+	B_HID_UID_CON_AC_SET_CLOCK,
+	B_HID_UID_CON_AC_VIEW_CLOCK,
+	B_HID_UID_CON_AC_SELECT_TIME_ZONE,
+	B_HID_UID_CON_AC_EDIT_TIME_ZONES,
+	B_HID_UID_CON_AC_SET_ALARM,
+	B_HID_UID_CON_AC_CLEAR_ALARM,
+	B_HID_UID_CON_AC_SNOOZE_ALARM,
+	B_HID_UID_CON_AC_RESET_ALARM,
+	B_HID_UID_CON_AC_SYNCHRONIZE,
+	B_HID_UID_CON_AC_SEND_RECEIVE,
+	B_HID_UID_CON_AC_SEND_TO,
+	B_HID_UID_CON_AC_REPLY,
+	B_HID_UID_CON_AC_REPLY_ALL,
+	B_HID_UID_CON_AC_FORWARD_MSG,
+	B_HID_UID_CON_AC_SEND,
+	B_HID_UID_CON_AC_ATTACH_FILE,
+	B_HID_UID_CON_AC_UPLOAD,
+	B_HID_UID_CON_AC_DOWNLOAD,
+	B_HID_UID_CON_AC_SET_BORDERS,
+	B_HID_UID_CON_AC_INSERT_ROW,
+	B_HID_UID_CON_AC_INSERT_COLUMN,
+	B_HID_UID_CON_AC_INSERT_FILE,
+	B_HID_UID_CON_AC_INSERT_PICTURE,
+	B_HID_UID_CON_AC_INSERT_OBJECT,
+	B_HID_UID_CON_AC_INSERT_SYMBOL,
+	B_HID_UID_CON_AC_SAVE_AND_CLOSE,
+	B_HID_UID_CON_AC_RENAME,
+	B_HID_UID_CON_AC_MERGE,
+	B_HID_UID_CON_AC_SPLIT,
+	B_HID_UID_CON_AC_DISTRIBUTE_HORIZONTALLY,
+	B_HID_UID_CON_AC_DISTRIBUTE_VERTICALLY
+};
+
+
+#endif // _USB_HID_PAGE_CONSUMER_H
Index: USB_hid_page_game_controls.h
===================================================================
--- USB_hid_page_game_controls.h	(revision 0)
+++ USB_hid_page_game_controls.h	(revision 0)
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_GAME_CONTROLS_H
+#define _USB_HID_PAGE_GAME_CONTROLS_H
+
+
+/* Reference:
+ *		HID Usage Page 0x05: GAME CONTROLS
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_GAM_3D_GAME_CONTROLLER = 0x01,
+	B_HID_UID_GAM_PINBALL_DEVICE,
+	B_HID_UID_GAM_GUN_DEVICE,
+	
+	B_HID_UID_GAM_POINT_OF_VIEW = 0x20,
+	B_HID_UID_GAM_TURN_RIGHT_LEFT,
+	B_HID_UID_GAM_PITCH_FORWARD_BACKWARD,
+	B_HID_UID_GAM_ROLL_RIGHT_LEFT,
+	B_HID_UID_GAM_MOVE_RIGHT_LEFT,
+	B_HID_UID_GAM_MOVE_FORWARD_BACKWARD,
+	B_HID_UID_GAM_MOVE_UP_DOWN,
+	B_HID_UID_GAM_LEAN_RIGHT_LEFT,
+	B_HID_UID_GAM_LEAN_FORWARD_BACKWARD,
+	B_HID_UID_GAM_HEIGHT_OF_POV,
+	B_HID_UID_GAM_FLIPPER,
+	B_HID_UID_GAM_SECONDARY_FLIPPER,
+	B_HID_UID_GAM_BUMP,
+	B_HID_UID_GAM_NEW_GAME,
+	B_HID_UID_GAM_SHOOT_BALL,
+	B_HID_UID_GAM_PLAYER,
+	B_HID_UID_GAM_GUN_BOLT,
+	B_HID_UID_GAM_GUN_CLIP,
+	B_HID_UID_GAM_GUN_SELECTOR,
+	B_HID_UID_GAM_GUN_SINGLE_SHOT,
+	B_HID_UID_GAM_GUN_BURST,
+	B_HID_UID_GAM_GUN_AUTOMATIC,
+	B_HID_UID_GAM_GUN_SAFETY,
+	B_HID_UID_GAM_GAMEPAD_FIRE_JUMP,
+	B_HID_UID_GAM_GAMEPAD_TRIGGER
+};
+
+
+#endif // _USB_HID_PAGE_GAME_CONTROLS_H
Index: USB_hid_page_alphanumeric_display.h
===================================================================
--- USB_hid_page_alphanumeric_display.h	(revision 0)
+++ USB_hid_page_alphanumeric_display.h	(revision 0)
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_ALPHANUMERIC_DISPLAY_H
+#define _USB_HID_PAGE_ALPHANUMERIC_DISPLAY_H
+
+
+/* Reference:
+ *		HID Usage Page 0x14: ALPHANUMERIC DISPLAY
+ *		HID Usage Tables Ver. 1.12
+ *		http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
+ */
+ 
+// Usage IDs
+enum {
+	B_HID_UID_AD_ALPHANUMERIC_DISPLAY = 0x01,
+	B_HID_UID_AD_BITMAPPED_DISPLAY,
+	
+	B_HID_UID_AD_DISPLAY_ATTRIBUTES_REPORT = 0x20,
+	B_HID_UID_AD_ASCII_CHARACTER_SET,
+	B_HID_UID_AD_DATA_READ_BACK,
+	B_HID_UID_AD_FONT_READ_BACK,
+	B_HID_UID_AD_DISPLAY_CONTROL_REPORT,
+	B_HID_UID_AD_CLEAR_DISPLAY,
+	B_HID_UID_AD_DISPLAY_ENABLE,
+	B_HID_UID_AD_SCREEN_SAVER_DELAY,
+	B_HID_UID_AD_SCREEN_SAVER_ENABLE,
+	B_HID_UID_AD_VERTICAL_SCROLL,
+	B_HID_UID_AD_HORIZONTAL_SCROLL,
+	B_HID_UID_AD_CHARACTER_REPORT,
+	B_HID_UID_AD_DISPLAY_DATA,
+	B_HID_UID_AD_DISPLAY_STATUS,
+	B_HID_UID_AD_STAT_NOT_READY,
+	B_HID_UID_AD_STAT_READY,
+	B_HID_UID_AD_ERR_NOT_A_LOADABLE_CHARACTER,
+	B_HID_UID_AD_ERR_FONT_DATA_CANNOT_BE_READ,
+	B_HID_UID_AD_CURSOR_POSITION_REPORT,
+	B_HID_UID_AD_ROW,
+	B_HID_UID_AD_COLUMN,
+	B_HID_UID_AD_ROWS,
+	B_HID_UID_AD_COLUMNS,
+	B_HID_UID_AD_CURSOR_PIXEL_POSITIONING,
+	B_HID_UID_AD_CURSOR_MODE,
+	B_HID_UID_AD_CURSOR_ENABLE,
+	B_HID_UID_AD_CURSOR_BLINK,
+	B_HID_UID_AD_FONT_REPORT,
+	B_HID_UID_AD_FONT_DATA,
+	B_HID_UID_AD_CHARACTER_WIDTH,
+	B_HID_UID_AD_CHARACTER_HEIGHT,
+	B_HID_UID_AD_CHARACTER_SPACING_HORIZONTAL,
+	B_HID_UID_AD_CHARACTER_SPACING_VERTICAL,
+	B_HID_UID_AD_UNICODE_CHARACTER,
+	B_HID_UID_AD_FONT_7_SEGMENT,
+	B_HID_UID_AD_7_SEGMENT_DIRECT_MAP,
+	B_HID_UID_AD_FONT_14_SEGMENT,
+	B_HID_UID_AD_14_SEGMENT_DIRECT_MAP,
+	B_HID_UID_AD_DISPLAY_BRIGHTNESS,
+	B_HID_UID_AD_DISPLAY_CONTRAST,
+	B_HID_UID_AD_CHARACTER_ATTRIBUTE,
+	B_HID_UID_AD_ATTRIBUTE_READBACK,
+	B_HID_UID_AD_ATTRIBUTE_DATA,
+	B_HID_UID_AD_CHAR_ATTR_ENHANCE,
+	B_HID_UID_AD_CHAR_ATTR_UNDERLINE,
+	B_HID_UID_AD_CHAR_ATTR_BLINK,
+	
+	B_HID_UID_AD_BITMAP_SIZE_X = 0x80,
+	B_HID_UID_AD_BITMAP_SIZE_Y,
+	
+	B_HID_UID_AD_BIT_DEPTH_FORMAT = 0x83,
+	B_HID_UID_AD_DISPLAY_ORIENTATION,
+	B_HID_UID_AD_PALETTE_REPORT,
+	B_HID_UID_AD_PALETTE_DATA_SIZE,
+	B_HID_UID_AD_PALETTE_DATA_OFFSET,
+	B_HID_UID_AD_PALETTE_DATA,
+	B_HID_UID_AD_BLIT_REPORT,
+	B_HID_UID_AD_BLIT_RECT_X1,
+	B_HID_UID_AD_BLIT_RECT_Y1,
+	B_HID_UID_AD_BLIT_RECT_X2,
+	B_HID_UID_AD_BLIT_RECT_Y2,
+	B_HID_UID_AD_BLIT_DATA,
+	B_HID_UID_AD_SOFT_BUTTON,
+	B_HID_UID_AD_SOFT_BUTTON_ID,
+	B_HID_UID_AD_SOFT_BUTTON_SIDE,
+	B_HID_UID_AD_SOFT_BUTTON_OFFSET_1,
+	B_HID_UID_AD_SOFT_BUTTON_OFFSET_2,
+	B_HID_UID_AD_SOFT_BUTTON_REPORT	
+};
+
+
+#endif // _USB_HID_PAGE_ALPHANUMERIC_DISPLAY_H
Index: USB_hid_page_magnetic_stripe_reader.h
===================================================================
--- USB_hid_page_magnetic_stripe_reader.h	(revision 0)
+++ USB_hid_page_magnetic_stripe_reader.h	(revision 0)
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2004-2010, Haiku Inc. All Rights Reserved.
+ * Distributed under the terms of the MIT License.
+ */
+#ifndef _USB_HID_PAGE_MAGNETIC_STRIPE_READER_H
+#define _USB_HID_PAGE_MAGNETIC_STRIPE_READER_H
+
+
+/* Reference:
+ *		HID Usage Page 0x8E: MAGENTIC STRIPE READER
+ *		HID Point of Sale Usage Tables Ver. 1.0
+ *		http://www.usb.org/developers/devclass_docs/pos1_02.pdf
+ */
+
+// Usage IDs
+enum {
+	B_HID_UID_MSR_DEVICE_READ_ONLY = 0x01,
+	
+	B_HID_UID_MSR_TRACK_1_LENGTH = 0x11,
+	B_HID_UID_MSR_TRACK_2_LENGTH,
+	B_HID_UID_MSR_TRACK_3_LENGTH,
+	B_HID_UID_MSR_TRACK_JIS_LENGTH,
+	
+	B_HID_UID_MSR_TRACK_DATA = 0x20,
+	B_HID_UID_MSR_TRACK_1_DATA,
+	B_HID_UID_MSR_TRACK_2_DATA,
+	B_HID_UID_MSR_TRACK_3_DATA,
+	B_HID_UID_MSR_TRACK_JIS_DATA	
+};
+
+
+#endif // _USB_HID_PAGE_MAGNETIC_STRIPE_READER_H
