虚拟键盘成功
This commit is contained in:
@@ -4,16 +4,18 @@
|
||||
#include "esp_log.h"
|
||||
#include "tinyusb.h"
|
||||
#include "tusb.h"
|
||||
#include "tusb_config.h"
|
||||
#include "rust_app_wrapper.h"
|
||||
|
||||
static const char *TAG = "USB";
|
||||
|
||||
#define TUSB_DESC_TOTAL_LEN (TUD_CONFIG_DESC_LEN + CFG_TUD_HID * TUD_HID_DESC_LEN)
|
||||
#define REPORT_ID_KEYBOARD 1
|
||||
#define REPORT_ID_MOUSE 2
|
||||
|
||||
#define TUSB_DESC_TOTAL_LEN (TUD_CONFIG_DESC_LEN + TUD_HID_DESC_LEN)
|
||||
|
||||
#define USB_VID 0x30D8
|
||||
#define USB_PID 0x50A6
|
||||
#define USB_BCD 0x0100
|
||||
#define USB_BCD 0x0200
|
||||
|
||||
static tusb_desc_device_t const desc_device =
|
||||
{
|
||||
@@ -26,7 +28,7 @@ static tusb_desc_device_t const desc_device =
|
||||
.bMaxPacketSize0 = CFG_TUD_ENDPOINT0_SIZE,
|
||||
.idVendor = USB_VID,
|
||||
.idProduct = USB_PID,
|
||||
.bcdDevice = USB_BCD,
|
||||
.bcdDevice = 0x0100,
|
||||
.iManufacturer = 0x01,
|
||||
.iProduct = 0x02,
|
||||
.iSerialNumber = 0x03,
|
||||
@@ -35,8 +37,8 @@ static tusb_desc_device_t const desc_device =
|
||||
|
||||
uint8_t const desc_hid_report[] =
|
||||
{
|
||||
TUD_HID_REPORT_DESC_KEYBOARD(HID_REPORT_ID(HID_ITF_PROTOCOL_KEYBOARD)),
|
||||
TUD_HID_REPORT_DESC_MOUSE(HID_REPORT_ID(HID_ITF_PROTOCOL_MOUSE))
|
||||
TUD_HID_REPORT_DESC_KEYBOARD(HID_REPORT_ID(REPORT_ID_KEYBOARD)),
|
||||
TUD_HID_REPORT_DESC_MOUSE(HID_REPORT_ID(REPORT_ID_MOUSE))
|
||||
};
|
||||
|
||||
uint8_t const * tud_hid_descriptor_report_cb(uint8_t instance)
|
||||
@@ -45,21 +47,44 @@ uint8_t const * tud_hid_descriptor_report_cb(uint8_t instance)
|
||||
return desc_hid_report;
|
||||
}
|
||||
|
||||
static char const *hid_string_descriptor[5] = {
|
||||
static char const *hid_string_descriptor[] = {
|
||||
(char[]){0x09, 0x04},
|
||||
"JoyD",
|
||||
"Virtual Keyboard Mouse",
|
||||
"123456",
|
||||
"HID Interface",
|
||||
};
|
||||
|
||||
static uint8_t const hid_configuration_descriptor[] = {
|
||||
TUD_CONFIG_DESCRIPTOR(1, 2, 0, TUSB_DESC_TOTAL_LEN, TUSB_DESC_CONFIG_ATT_REMOTE_WAKEUP, 100),
|
||||
|
||||
TUD_HID_DESCRIPTOR(0, 4, false, sizeof(desc_hid_report), 0x81, 64, 1),
|
||||
TUD_HID_DESCRIPTOR(2, 4, false, sizeof(desc_hid_report), 0x82, 64, 1),
|
||||
enum {
|
||||
ITF_NUM_HID,
|
||||
ITF_NUM_TOTAL
|
||||
};
|
||||
|
||||
#define EPNUM_HID 0x81
|
||||
|
||||
static uint8_t const hid_configuration_descriptor[] = {
|
||||
TUD_CONFIG_DESCRIPTOR(1, ITF_NUM_TOTAL, 0, TUSB_DESC_TOTAL_LEN, TUSB_DESC_CONFIG_ATT_REMOTE_WAKEUP, 100),
|
||||
TUD_HID_DESCRIPTOR(ITF_NUM_HID, 0, HID_ITF_PROTOCOL_NONE, sizeof(desc_hid_report), EPNUM_HID, CFG_TUD_HID_EP_BUFSIZE, 10)
|
||||
};
|
||||
|
||||
uint16_t tud_hid_get_report_cb(uint8_t instance, uint8_t report_id, hid_report_type_t report_type, uint8_t* buffer, uint16_t reqlen)
|
||||
{
|
||||
(void) instance;
|
||||
(void) report_id;
|
||||
(void) report_type;
|
||||
(void) buffer;
|
||||
(void) reqlen;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void tud_hid_set_report_cb(uint8_t instance, uint8_t report_id, hid_report_type_t report_type, uint8_t const* buffer, uint16_t bufsize)
|
||||
{
|
||||
(void) instance;
|
||||
(void) report_id;
|
||||
(void) report_type;
|
||||
(void) buffer;
|
||||
(void) bufsize;
|
||||
}
|
||||
|
||||
void app_main(void)
|
||||
{
|
||||
ESP_LOGI(TAG, "USB 初始化");
|
||||
|
||||
Reference in New Issue
Block a user