tested boot mouse working
This commit is contained in:
parent
67e52af936
commit
71934228d2
|
@ -103,36 +103,7 @@ void virtual_com_task(void)
|
||||||
void usb_hid_task(void)
|
void usb_hid_task(void)
|
||||||
{
|
{
|
||||||
/*------------- Keyboard -------------*/
|
/*------------- Keyboard -------------*/
|
||||||
if ( tud_hid_keyboard_ready() )
|
// if ( tud_hid_keyboard_ready() )
|
||||||
{
|
|
||||||
// Poll every 10ms
|
|
||||||
static tu_timeout_t tm = { .start = 0, .interval = 10 };
|
|
||||||
|
|
||||||
if ( !tu_timeout_expired(&tm) ) return; // not enough time
|
|
||||||
tu_timeout_reset(&tm);
|
|
||||||
|
|
||||||
uint32_t const btn = board_buttons();
|
|
||||||
|
|
||||||
if ( btn )
|
|
||||||
{
|
|
||||||
uint8_t keycode[6] = { 0 };
|
|
||||||
|
|
||||||
for(uint8_t i=0; i < 6; i++)
|
|
||||||
{
|
|
||||||
if ( btn & (1 << i) ) keycode[i] = HID_KEY_A + i;
|
|
||||||
}
|
|
||||||
|
|
||||||
tud_hid_keyboard_keycode(0, keycode);
|
|
||||||
}else
|
|
||||||
{
|
|
||||||
// Null means all zeroes keycodes
|
|
||||||
tud_hid_keyboard_keycode(0, NULL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*------------- Mouse -------------*/
|
|
||||||
// if ( tud_hid_mouse_ready() )
|
|
||||||
// {
|
// {
|
||||||
// // Poll every 10ms
|
// // Poll every 10ms
|
||||||
// static tu_timeout_t tm = { .start = 0, .interval = 10 };
|
// static tu_timeout_t tm = { .start = 0, .interval = 10 };
|
||||||
|
@ -144,11 +115,38 @@ void usb_hid_task(void)
|
||||||
//
|
//
|
||||||
// if ( btn )
|
// if ( btn )
|
||||||
// {
|
// {
|
||||||
// hid_mouse_report_t report = { .buttons = 0, .x = 10, .y = 0, .wheel = 0 };
|
// uint8_t keycode[6] = { 0 };
|
||||||
// tud_hid_mouse_report(&report);
|
//
|
||||||
|
// for(uint8_t i=0; i < 6; i++)
|
||||||
|
// {
|
||||||
|
// if ( btn & (1 << i) ) keycode[i] = HID_KEY_A + i;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// tud_hid_keyboard_keycode(0, keycode);
|
||||||
|
// }else
|
||||||
|
// {
|
||||||
|
// // Null means all zeroes keycodes
|
||||||
|
// tud_hid_keyboard_keycode(0, NULL);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
/*------------- Mouse -------------*/
|
||||||
|
if ( tud_hid_mouse_ready() )
|
||||||
|
{
|
||||||
|
// Poll every 10ms
|
||||||
|
static tu_timeout_t tm = { .start = 0, .interval = 10 };
|
||||||
|
|
||||||
|
if ( !tu_timeout_expired(&tm) ) return; // not enough time
|
||||||
|
tu_timeout_reset(&tm);
|
||||||
|
|
||||||
|
uint32_t const btn = board_buttons();
|
||||||
|
|
||||||
|
if ( btn )
|
||||||
|
{
|
||||||
|
tud_hid_mouse_data(0, 10, 0, 0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -353,8 +353,6 @@ static tusb_error_t proc_control_request_st(uint8_t rhport, tusb_control_request
|
||||||
error = TUSB_ERROR_NONE;
|
error = TUSB_ERROR_NONE;
|
||||||
|
|
||||||
//------------- Standard Request e.g in enumeration -------------//
|
//------------- Standard Request e.g in enumeration -------------//
|
||||||
/* Microsoft Windows will awkwardly get HID Report Descriptor with
|
|
||||||
* Recipient = Device instead of Interface */
|
|
||||||
if( TUSB_REQ_RCPT_DEVICE == p_request->bmRequestType_bit.recipient &&
|
if( TUSB_REQ_RCPT_DEVICE == p_request->bmRequestType_bit.recipient &&
|
||||||
TUSB_REQ_TYPE_STANDARD == p_request->bmRequestType_bit.type )
|
TUSB_REQ_TYPE_STANDARD == p_request->bmRequestType_bit.type )
|
||||||
{
|
{
|
||||||
|
|
|
@ -118,7 +118,7 @@
|
||||||
// Keyboard Report Descriptor
|
// Keyboard Report Descriptor
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
#if CFG_TUD_HID_KEYBOARD
|
#if CFG_TUD_HID_KEYBOARD
|
||||||
ATTR_PACKED uint8_t const _desc_auto_hid_kbd_report[] = {
|
uint8_t const _desc_auto_hid_kbd_report[] = {
|
||||||
HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ),
|
HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ),
|
||||||
HID_USAGE ( HID_USAGE_DESKTOP_KEYBOARD ),
|
HID_USAGE ( HID_USAGE_DESKTOP_KEYBOARD ),
|
||||||
HID_COLLECTION ( HID_COLLECTION_APPLICATION ),
|
HID_COLLECTION ( HID_COLLECTION_APPLICATION ),
|
||||||
|
@ -170,7 +170,7 @@ ATTR_PACKED uint8_t const _desc_auto_hid_kbd_report[] = {
|
||||||
// Mouse Report Descriptor
|
// Mouse Report Descriptor
|
||||||
//--------------------------------------------------------------------+
|
//--------------------------------------------------------------------+
|
||||||
#if CFG_TUD_HID_MOUSE
|
#if CFG_TUD_HID_MOUSE
|
||||||
ATTR_PACKED uint8_t const _desc_auto_hid_mse_report[] = {
|
uint8_t const _desc_auto_hid_mse_report[] = {
|
||||||
HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ),
|
HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ),
|
||||||
HID_USAGE ( HID_USAGE_DESKTOP_MOUSE ),
|
HID_USAGE ( HID_USAGE_DESKTOP_MOUSE ),
|
||||||
HID_COLLECTION ( HID_COLLECTION_APPLICATION ),
|
HID_COLLECTION ( HID_COLLECTION_APPLICATION ),
|
||||||
|
@ -179,18 +179,18 @@ ATTR_PACKED uint8_t const _desc_auto_hid_mse_report[] = {
|
||||||
HID_COLLECTION ( HID_COLLECTION_PHYSICAL ),
|
HID_COLLECTION ( HID_COLLECTION_PHYSICAL ),
|
||||||
HID_USAGE_PAGE ( HID_USAGE_PAGE_BUTTON ),
|
HID_USAGE_PAGE ( HID_USAGE_PAGE_BUTTON ),
|
||||||
HID_USAGE_MIN ( 1 ),
|
HID_USAGE_MIN ( 1 ),
|
||||||
HID_USAGE_MAX ( 5 ),
|
HID_USAGE_MAX ( 3 ),
|
||||||
HID_LOGICAL_MIN ( 0 ),
|
HID_LOGICAL_MIN ( 0 ),
|
||||||
HID_LOGICAL_MAX ( 1 ),
|
HID_LOGICAL_MAX ( 1 ),
|
||||||
|
|
||||||
// Left, Right, Middle, Backward, Forward mouse buttons
|
// Left, Right, Middle, Backward, Forward mouse buttons
|
||||||
HID_REPORT_COUNT ( 5 ),
|
HID_REPORT_COUNT ( 3 ),
|
||||||
HID_REPORT_SIZE ( 1 ),
|
HID_REPORT_SIZE ( 1 ),
|
||||||
HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ),
|
HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ),
|
||||||
|
|
||||||
// 3 bit padding
|
// 3 bit padding
|
||||||
HID_REPORT_COUNT ( 1 ),
|
HID_REPORT_COUNT ( 1 ),
|
||||||
HID_REPORT_SIZE ( 3 ),
|
HID_REPORT_SIZE ( 5 ),
|
||||||
HID_INPUT ( HID_CONSTANT ),
|
HID_INPUT ( HID_CONSTANT ),
|
||||||
|
|
||||||
HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ),
|
HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ),
|
||||||
|
|
Loading…
Reference in New Issue