I have a basic question about the way the linux kernel handles human input devices. I bought a Surface Pro 2 with a Type cover keyboard. This did not work out of the box with stock linux kernel 3.11. When I added the hardware id of the device to the hid-microsoft.c driver it worked. Does this work simply because when I add the hardware id to the driver, the kernel knows to use usb-hid generic driver with the device? I'm trying to understand the hid-microsoft driver and it seems to apply quirks/hacks that enable Microsoft devices to work with the hid driver. Such as remapping keys. I don't need any of these quirks as all the media keys on the keyboard work all by adding the hardware id. Why doesn't the device work out of the box? Is the device not advertising itself as a hid device over usb? I'm little confused as to how this should be fixed. Does the kernel fail in noticing this hid device or does the device fail in telling the kernel it is a keyboard/mouse? -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html