The USB keyboard and the mouse are supported in two ways in Linux. One is HIDBP (Human Interface Device), the other is USBKBD.O and USBMouse.o, the two methods are exactly the same (the former is the kernel member So the kernel module, so the latter can be dynamically mounted and uninstalled), and when testing your USB driver, because the USB keyboard and the mouse have two ways to support: one is hidbp, the other It is USBKBD.O and USBMouse.o, which is actually the same, so you can choose when you compile the kernel.
If you want to write and debug your own USB device (mouse, keyboard) driver, you should be selected as a module mount. Just when compiling the module, select the USB keyboard support, then support the HIDBP, under the compiled module, you can see the USBKBD module when you can use lsmod (you must plug your USB keyboard), when you Now, when RMMOD USBKBD, you will now find that the USB keyboard can't be used, and it works normally when INSMOD.