Mouse WORKS!11111 ...but only in boot mode, so no scroll wheel :(

USG_1.0
Robert Fisk 8 years ago
parent b7298c5f65
commit 9918cfcb19

@ -614,7 +614,7 @@ USBH_StatusTypeDef USBH_HID_SetProtocol(USBH_HandleTypeDef *phost,
phost->Control.setup.b.bRequest = USB_HID_SET_PROTOCOL; phost->Control.setup.b.bRequest = USB_HID_SET_PROTOCOL;
phost->Control.setup.b.wValue.w = protocol != 0 ? 0 : 1; phost->Control.setup.b.wValue.w = protocol == 0 ? 0 : 1;
phost->Control.setup.b.wIndex.w = 0; phost->Control.setup.b.wIndex.w = 0;
phost->Control.setup.b.wLength.w = 0; phost->Control.setup.b.wLength.w = 0;

@ -17,8 +17,9 @@
#define HID_MOUSE_DATA_LEN 4 #define HID_REPORT_DATA_LEN 8
#define HID_KEYBOARD_DATA_LEN 0 #define HID_MOUSE_DATA_LEN 3
#define HID_KEYBOARD_DATA_LEN 0
extern USBH_HandleTypeDef hUsbHostFS; //Hard-link ourselves to usb_host.c extern USBH_HandleTypeDef hUsbHostFS; //Hard-link ourselves to usb_host.c
@ -32,7 +33,7 @@ InterfaceCommandClassTypeDef Downstream_HID_ApproveConnectedDevice(void)
if (HID_Handle->Protocol == HID_MOUSE_BOOT_CODE) if (HID_Handle->Protocol == HID_MOUSE_BOOT_CODE)
{ {
if (HID_Handle->length == 8) if ((HID_Handle->length >= HID_MOUSE_DATA_LEN) && (HID_Handle->length <= HID_REPORT_DATA_LEN))
{ {
return COMMAND_CLASS_HID_MOUSE; return COMMAND_CLASS_HID_MOUSE;
} }

@ -17,8 +17,8 @@
#define HID_REPORT_DATA_LEN 8 #define HID_REPORT_DATA_LEN 8
#define HID_MOUSE_DATA_LEN 4 #define HID_MOUSE_DATA_LEN 3
#define HID_KEYBOARD_DATA_LEN 0
UpstreamPacketTypeDef* UpstreamHidPacket = NULL; UpstreamPacketTypeDef* UpstreamHidPacket = NULL;
@ -138,7 +138,7 @@ void Upstream_HID_GetNextReportReceiveCallback(UpstreamPacketTypeDef* receivedPa
return; return;
} }
for (i = dataLength; i > HID_REPORT_DATA_LEN; i++) for (i = dataLength; i < HID_REPORT_DATA_LEN; i++)
{ {
receivedPacket->Data[i] = 0; //Zero out unused bytes before we send report upstream receivedPacket->Data[i] = 0; //Zero out unused bytes before we send report upstream
} }

Loading…
Cancel
Save