Replace usb_device_hid_keyboard_struct_t with usb_keyboard_report_t
This commit is contained in:
@@ -12,16 +12,21 @@
|
||||
#include "usb_class_keyboard.h"
|
||||
#include "usb_descriptor_configuration.h"
|
||||
|
||||
static usb_device_hid_keyboard_struct_t UsbKeyboardDevice;
|
||||
static usb_keyboard_report_t UsbKeyboardReport;
|
||||
|
||||
static usb_status_t UsbKeyboardAction(void)
|
||||
{
|
||||
UsbKeyboardDevice.buffer[2] = 0x00U;
|
||||
UsbKeyboardReport.modifiers = 0;
|
||||
UsbKeyboardReport.reserved = 0;
|
||||
for (uint8_t scancode_idx=0; scancode_idx<USB_KEYBOARD_MAX_KEYS; scancode_idx++) {
|
||||
UsbKeyboardReport.scancodes[scancode_idx] = 0;
|
||||
}
|
||||
|
||||
if (!GPIO_ReadPinInput(BOARD_SW3_GPIO, BOARD_SW3_GPIO_PIN)) {
|
||||
UsbKeyboardDevice.buffer[2] = KEY_A;
|
||||
UsbKeyboardReport.scancodes[0] = KEY_A;
|
||||
}
|
||||
return USB_DeviceHidSend(UsbCompositeDevice.keyboardHandle, USB_KEYBOARD_ENDPOINT_ID,
|
||||
UsbKeyboardDevice.buffer, USB_KEYBOARD_REPORT_LENGTH);
|
||||
(uint8_t*)&UsbKeyboardReport, USB_KEYBOARD_REPORT_LENGTH);
|
||||
}
|
||||
|
||||
usb_status_t UsbKeyboardCallback(class_handle_t handle, uint32_t event, void *param)
|
||||
|
||||
@@ -1,15 +1,21 @@
|
||||
#ifndef __USB_DEVICE_HID_KEYBOARD_H__
|
||||
#define __USB_DEVICE_HID_KEYBOARD_H__
|
||||
|
||||
// Includes:
|
||||
|
||||
#include "usb_descriptor_keyboard_report.h"
|
||||
|
||||
// Macros:
|
||||
|
||||
#define USB_KEYBOARD_REPORT_LENGTH (0x08U)
|
||||
|
||||
// Typedefs:
|
||||
|
||||
typedef struct _usb_device_hid_keyboard_struct {
|
||||
uint8_t buffer[USB_KEYBOARD_REPORT_LENGTH];
|
||||
} usb_device_hid_keyboard_struct_t;
|
||||
typedef struct usb_keyboard_report {
|
||||
uint8_t modifiers;
|
||||
uint8_t reserved; // Always must be 0
|
||||
uint8_t scancodes[USB_KEYBOARD_MAX_KEYS];
|
||||
} __attribute__ ((packed)) usb_keyboard_report_t;
|
||||
|
||||
// Functions:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user