1#pragma once
2#include <drivers/usb/usb.h>
3#include <input/keyboard.h>
4
5struct usb_kbd_report {
6 uint8_t modifiers;
7 uint8_t reserved;
8 uint8_t keys[6];
9};
10
11struct usb_hid_keyboard {
12 struct usb_device *dev;
13 struct usb_endpoint *ep;
14
15 struct generic_keyboard gkbd;
16
17 struct usb_kbd_report last;
18 struct usb_kbd_report cur;
19
20 struct usb_request req;
21 atomic_bool worker_here;
22};
23