diff options
Diffstat (limited to 'Demos/Device/ClassDriver/Joystick')
-rw-r--r-- | Demos/Device/ClassDriver/Joystick/Descriptors.c | 35 | ||||
-rw-r--r-- | Demos/Device/ClassDriver/Joystick/Joystick.c | 2 |
2 files changed, 9 insertions, 28 deletions
diff --git a/Demos/Device/ClassDriver/Joystick/Descriptors.c b/Demos/Device/ClassDriver/Joystick/Descriptors.c index 09f12f06a..e421d3f02 100644 --- a/Demos/Device/ClassDriver/Joystick/Descriptors.c +++ b/Demos/Device/ClassDriver/Joystick/Descriptors.c @@ -44,33 +44,14 @@ * 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 diff --git a/Demos/Device/ClassDriver/Joystick/Joystick.c b/Demos/Device/ClassDriver/Joystick/Joystick.c index abb599248..6e9f4ee72 100644 --- a/Demos/Device/ClassDriver/Joystick/Joystick.c +++ b/Demos/Device/ClassDriver/Joystick/Joystick.c @@ -160,7 +160,7 @@ bool CALLBACK_HID_Device_CreateHIDReport(USB_ClassInfo_HID_Device_t* const HIDIn JoystickReport->X = 100; if (JoyStatus_LCL & JOY_PRESS) - JoystickReport->Button = (1 << 1); + JoystickReport->Button |= (1 << 1); if (ButtonStatus_LCL & BUTTONS_BUTTON1) JoystickReport->Button |= (1 << 0); |