Added new HID_DESCRIPTOR_MOUSE, HID_DESCRIPTOR_KEYBOARD and HID_DESCRIPTOR_JOYSTICK...
[pub/lufa.git] / Demos / Device / ClassDriver / Joystick / Descriptors.c
index 09f12f0..e421d3f 100644 (file)
  *  more details on HID report descriptors.
  */ 
 USB_Descriptor_HIDReport_Datatype_t PROGMEM JoystickReport[] =
  *  more details on HID report descriptors.
  */ 
 USB_Descriptor_HIDReport_Datatype_t PROGMEM JoystickReport[] =
-{
-       HID_RI_USAGE_PAGE(8, 0x01), /* Generic Desktop */
-       HID_RI_USAGE(8, 0x04), /* Joystick */
-       HID_RI_COLLECTION(8, 0x01), /* Application */
-           HID_RI_USAGE(8, 0x01), /* Pointer */
-           HID_RI_COLLECTION(8, 0x00), /* Physical */
-               HID_RI_USAGE(8, 0x30), /* Usage X */
-               HID_RI_USAGE(8, 0x31), /* Usage Y */
-               HID_RI_LOGICAL_MINIMUM(8, -100),
-               HID_RI_LOGICAL_MAXIMUM(8, 100),
-               HID_RI_REPORT_SIZE(8, 0x08),
-               HID_RI_REPORT_COUNT(8, 0x02),
-               HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
-           HID_RI_END_COLLECTION(0),
-           HID_RI_USAGE_PAGE(8, 0x09), /* Button */
-           HID_RI_USAGE_MINIMUM(8, 0x01),
-           HID_RI_USAGE_MAXIMUM(8, 0x02),
-           HID_RI_LOGICAL_MINIMUM(8, 0x00),
-           HID_RI_LOGICAL_MAXIMUM(8, 0x01),
-           HID_RI_REPORT_SIZE(8, 0x01),
-           HID_RI_REPORT_COUNT(8, 0x02),
-           HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
-           HID_RI_REPORT_SIZE(8, 0x06),
-           HID_RI_REPORT_COUNT(8, 0x01),
-           HID_RI_INPUT(8, HID_IOF_CONSTANT),
-       HID_RI_END_COLLECTION(0),
-};
+       {
+               /* Use the HID class driver's standard Joystick report.
+                *   Min X/Y Axis values: -100
+                *   Max X/Y Axis values:  100
+                *   Buttons: 2
+                */
+               HID_DESCRIPTOR_JOYSTICK(-100, 100, 2)
+       };
 
 /** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall
  *  device characteristics, including the supported USB version, control endpoint size and the
 
 /** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall
  *  device characteristics, including the supported USB version, control endpoint size and the