From 440cd59182a962b7f987d990db6d43a6026877ba Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Tue, 28 Mar 2017 21:53:36 +0100 Subject: hid mouse pointer jiggler --- usb/hid.h | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 usb/hid.h (limited to 'usb/hid.h') diff --git a/usb/hid.h b/usb/hid.h new file mode 100644 index 0000000..949cf8e --- /dev/null +++ b/usb/hid.h @@ -0,0 +1,87 @@ +#ifndef USB_HID_H +#define USB_HID_H + +#define SHORT_ITEM(tag, type, size) (((tag) & 0xf) << 4 | \ + ((type) & 0x3) << 2 | \ + ((size) & 0x3) << 0) + +#define HR_MAIN_ITEM(tag, size) SHORT_ITEM(tag, 0, size) +#define HR_GLOBAL_ITEM(tag, size) SHORT_ITEM(tag, 1, size) +#define HR_LOCAL_ITEM(tag, size) SHORT_ITEM(tag, 2, size) + +#define HR_INPUT(size) HR_MAIN_ITEM(8, size) +#define HR_OUTPUT(size) HR_MAIN_ITEM(9, size) +#define HR_FEATURE(size) HR_MAIN_ITEM(11, size) +#define HR_COLLECTION(size) HR_MAIN_ITEM(10, size) +#define HR_END_COLLECTION(size) HR_MAIN_ITEM(12, size) + +#define HR_USAGE_PAGE(size) HR_GLOBAL_ITEM(0, size) +#define HR_LOGICAL_MINIMUM(size) HR_GLOBAL_ITEM(1, size) +#define HR_LOGICAL_MAXIMUM(size) HR_GLOBAL_ITEM(2, size) +#define HR_PHYSICAL_MINIMUM(size) HR_GLOBAL_ITEM(3, size) +#define HR_PHYSICAL_MAXIMUM(size) HR_GLOBAL_ITEM(4, size) +#define HR_UNIT_EXPONENT(size) HR_GLOBAL_ITEM(5, size) +#define HR_UNIT(size) HR_GLOBAL_ITEM(6, size) +#define HR_REPORT_SIZE(size) HR_GLOBAL_ITEM(7, size) +#define HR_REPORT_ID(size) HR_GLOBAL_ITEM(8, size) +#define HR_REPORT_COUNT(size) HR_GLOBAL_ITEM(9, size) +#define HR_PUSH(size) HR_GLOBAL_ITEM(10, size) +#define HR_POP(size) HR_GLOBAL_ITEM(11, size) + +#define HR_USAGE(size) HR_LOCAL_ITEM(0, size) +#define HR_USAGE_MINIMUM(size) HR_LOCAL_ITEM(0, size) +#define HR_USAGE_MAXIMUM(size) HR_LOCAL_ITEM(0, size) +#define HR_DESIGNATOR_INDEX(size) HR_LOCAL_ITEM(0, size) +#define HR_DESIGNATOR_MINIMUM(size) HR_LOCAL_ITEM(0, size) +#define HR_DESIGNATOR_MAXIMUM(size) HR_LOCAL_ITEM(0, size) +#define HR_STRING_INDEX(size) HR_LOCAL_ITEM(0, size) +#define HR_STRING_MINIMUM(size) HR_LOCAL_ITEM(0, size) +#define HR_STRING_MAXIMUM(size) HR_LOCAL_ITEM(0, size) +#define HR_DELIMITER(size) HR_LOCAL_ITEM(0, size) + +#define HR_PHYSICAL 0x00 +#define HR_APPLICATION 0x01 +#define HR_LOGICAL 0x02 +#define HR_REPORT 0x03 +#define HR_NAMED_ARRAY 0x04 +#define HR_USAGE_SWITCH 0x05 +#define HR_USAGE_MODIFIER 0x06 + +#define HR_GENERIC_DESKTOP 0x01 +#define HR_POINTER 0x01 +#define HR_MOUSE 0x02 +#define HR_KEYBOARD 0x06 +#define HR_X 0x30 +#define HR_Y 0x31 +#define HR_WHEEL 0x38 + +#define HR_BUTTON 0x09 + +#define HR_DATA (0) +#define HR_CONSTANT (1 << 0) + +#define HR_ARRAY (0) +#define HR_VARIABLE (1 << 1) + +#define HR_ABSOLUTE (0) +#define HR_RELATIVE (1 << 2) + +#define HR_NO_WRAP (0) +#define HR_WRAP (1 << 3) + +#define HR_LINEAR (0) +#define HR_NON_LINEAR (1 << 4) + +#define HR_PREFERRED_STATE (0) +#define HR_NO_PREFERRED (1 << 5) + +#define HR_NO_NULL_POSITION (0) +#define HR_NULL_STATE (1 << 6) + +#define HR_NON_VOLATILE (0) +#define HR_VOLATILE (1 << 7) + +#define HR_BIT_FIELD (0) +#define HR_BUFFERED_BYTES (1 << 8) + +#endif /* USB_HID_H */ -- cgit v1.2.3-54-g00ecf