There are multiple new problems related to this issue.
First one is buildipxe.sh script and ipxe with commits after 01/14/26. It does not enable USB_HCD_USBIO correctly.:
sed -i 's+//#define USB_HCD_USBIO+#define USB_HCD_USBIO+g' config/usb.h sed -i 's+//#undef USB_KEYBOARD+#define USB_KEYBOARD+g' config/usb.h sed -i 's+//#undef USB_EFI+#undef USB_EFI+g' config/usb.hbut it doesn’t work correctly with latest ipxe source files because of the tabs. It should be:
sed -i 's+//#define USB_HCD_USBIO+#define USB_HCD_USBIO+g' config/usb.h sed -i 's+#undef USB_KEYBOARD+#define USB_KEYBOARD+g' config/usb.hUSB_EFI is already defined in the source, so last sed is not needed.
But after fixing this and compiling, keyboard does not work anyway. There were significant commits to ipxe source on 1/15/26. They changed usb.h along with defaults. I was able to make it work again by going back to 6cccb3bdc00359068c07125258d71ce24db5118a commit, enabling USB_HCD_USBIO in usb.h and disabling “#define USB_CMD” in general.h that FOG uses (without this it won’t compile giving error about multiple definition of `usbio_driver’).