So if i created my own keyboard from scratch on a open hardware microcontroller, could i implement this?
The USB controller that interrupts the CPU lives on the other side of the connection, so you’d just be building hardware that responses to the polling. If you’re curious what that looks like, Ben Eater has a cool video looking at what that looks like for a USB 2 keyboard https://youtu.be/wdgULBpRoXk
There’s also the case of Bluetooth dongle keyboards not working in UEFI (except that one) but USB always do. Is it this or just the UEFI not having drivers?
I am no USB Keyboard expert, but through the power of looking it up it seems like most of these do not operate as a HID (human interface device, like mouse and keyboard) so need driver support, but some start up with a basic HID proxy which might be you have one that works. From an older thread about BIOSes rather than UEIFs
A keyboard using Bluetooth cannot access the BIOS. Logitech Bluetooth keyboards get around this by having a dongle that pairs with the keyboard in a more basic, non-Bluetooth mode until the driver kicks in and switches modes. Microsoft might be similar mode with their keyboards and dongles, but I cannot confirm that.
The USB controller that interrupts the CPU lives on the other side of the connection, so you’d just be building hardware that responses to the polling. If you’re curious what that looks like, Ben Eater has a cool video looking at what that looks like for a USB 2 keyboard https://youtu.be/wdgULBpRoXk
I am no USB Keyboard expert, but through the power of looking it up it seems like most of these do not operate as a HID (human interface device, like mouse and keyboard) so need driver support, but some start up with a basic HID proxy which might be you have one that works. From an older thread about BIOSes rather than UEIFs
https://superuser.com/questions/242457/use-a-bluetooth-keyboard-to-access-edit-the-bios