Modern desktop machines tend to have USB rather than PS/2 keyboards. Also non-x86/x86_64 machines, such as Arm SBCs, also have USB keyboard.
The initramfs' init needs to have a working keyboard for 2 reasons: (a) in rescue mode in order to be able to type commands at the shell, and (b) when disk encryption of rootfs is used and so the passphrase to unlock the rootfs needs to be typed during boot.
As various machines may have a XHCI, or EHCI, or OHCI/UHCI USB controller, or combination of several of those types then load kernel modules for all types of USB controller as well as HID-related modules for keyboard support.
Fixes aports#9089 (closed), aports#9588 (moved), aports#14132 (closed).