|
|
@@ -105,39 +105,24 @@ uint8_t HID_Buffer[64];
|
|
|
/** Usb HID report descriptor. */
|
|
|
__ALIGN_BEGIN static uint8_t CUSTOM_HID_ReportDesc_FS[USBD_CUSTOM_HID_REPORT_DESC_SIZE] __ALIGN_END =
|
|
|
{
|
|
|
- 0x05, 0x01, // USAGE_PAGE (Generic Desktop)
|
|
|
- 0x09, 0x06, // USAGE (Keyboard)
|
|
|
- 0xA1, 0x01, // COLLECTION (Application)
|
|
|
- 0x05, 0x07, // USAGE_PAGE (Keyboard)
|
|
|
- 0x19, 0xE0, // USAGE_MINIMUM (Keyboard LeftControl)
|
|
|
- 0x29, 0xE7, // USAGE_MAXIMUM (Keyboard Right GUI)
|
|
|
- 0x15, 0x00, // LOGICAL_MINIMUM (0)
|
|
|
- 0x25, 0x01, // LOGICAL_MAXIMUM (1)
|
|
|
- 0x75, 0x01, // REPORT_SIZE (1)
|
|
|
- 0x95, 0x08, // REPORT_COUNT (8)
|
|
|
- 0x81, 0x02, // INPUT (Data,Var,Abs)
|
|
|
- 0x95, 0x01, // REPORT_COUNT (1)
|
|
|
- 0x75, 0x08, // REPORT_SIZE (8)
|
|
|
- 0x81, 0x03, // INPUT (Cnst,Var,Abs)
|
|
|
- 0x95, 0x05, // REPORT_COUNT (5)
|
|
|
- 0x75, 0x01, // REPORT_SIZE (1)
|
|
|
- 0x05, 0x08, // USAGE_PAGE (LEDs)
|
|
|
- 0x19, 0x01, // USAGE_MINIMUM (Num Lock)
|
|
|
- 0x29, 0x05, // USAGE_MAXIMUM (Kana)
|
|
|
- 0x91, 0x02, // OUTPUT (Data,Var,Abs)
|
|
|
- 0x95, 0x01, // REPORT_COUNT (1)
|
|
|
- 0x75, 0x03, // REPORT_SIZE (3)
|
|
|
- 0x91, 0x03, // OUTPUT (Cnst,Var,Abs)
|
|
|
- 0x95, 0x06, // REPORT_COUNT (6)
|
|
|
- 0x75, 0x08, // REPORT_SIZE (8)
|
|
|
- 0x15, 0x00, // LOGICAL_MINIMUM (0)
|
|
|
- 0x25, 0x65, // LOGICAL_MAXIMUM (101)
|
|
|
- 0x05, 0x07, // USAGE_PAGE (Keyboard)
|
|
|
- 0x19, 0x00, // USAGE_MINIMUM (Reserved (no event indicated))
|
|
|
- 0x29, 0x65, // USAGE_MAXIMUM (Keyboard Application)
|
|
|
- 0x81, 0x00, // INPUT (Data,Ary,Abs)
|
|
|
- 0xC0 // END_COLLECTION
|
|
|
-};
|
|
|
+ 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00)
|
|
|
+ 0x09, 0x00, // Usage (0x00)
|
|
|
+ 0xA1, 0x01, // Collection (Application)
|
|
|
+ 0x09, 0x01, // Usage (0x01)
|
|
|
+ 0x15, 0x00, // Logical Minimum (0)
|
|
|
+ 0x26, 0xFF, 0x00, // Logical Maximum (255)
|
|
|
+ 0x75, 0x08, // Report Size (8)
|
|
|
+ 0x95, 0x40, // Report Count (64)
|
|
|
+ 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
|
|
|
+ 0x09, 0x02, // Usage (0x02)
|
|
|
+ 0x15, 0x00, // Logical Minimum (0)
|
|
|
+ 0x26, 0xFF, 0x00, // Logical Maximum (255)
|
|
|
+ 0x75, 0x08, // Report Size (8)
|
|
|
+ 0x95, 0x40, // Report Count (64)
|
|
|
+ 0x91, 0x00, // Output (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
|
|
|
+ 0xC0, // End Collection
|
|
|
+ // 34 bytes
|
|
|
+};
|
|
|
|
|
|
/* USER CODE BEGIN PRIVATE_VARIABLES */
|
|
|
|
|
|
@@ -209,7 +194,6 @@ static int8_t CUSTOM_HID_DeInit_FS(void)
|
|
|
return (USBD_OK);
|
|
|
/* USER CODE END 5 */
|
|
|
}
|
|
|
-
|
|
|
uint32_t size = 0;
|
|
|
uint8_t buff[64];
|
|
|
/**
|
|
|
@@ -232,13 +216,7 @@ static int8_t CUSTOM_HID_OutEvent_FS(uint8_t event_idx, uint8_t state)
|
|
|
}
|
|
|
|
|
|
USBD_CUSTOM_HID_SendReport(&hUsbDeviceFS, buff, size);
|
|
|
-
|
|
|
- // 开启下一次接收
|
|
|
-// if (USBD_CUSTOM_HID_ReceivePacket(&hUsbDeviceFS) != (uint8_t)USBD_OK)
|
|
|
-// {
|
|
|
-// return -1;
|
|
|
-// }
|
|
|
-
|
|
|
+ /* USER CODE BEGIN 6 */
|
|
|
return (USBD_OK);
|
|
|
/* USER CODE END 6 */
|
|
|
}
|