Make the usb/kb debug flag local to each device instead of global, to make it easier to debug multiple devices, and prevent inadvertent promotion of -d to -dd when extra devices are started. Also fallback to boot protocol if fetching the report descriptor returns zero bytes (should be impossible but it's been observed).