While the original idea was to have a consistent reporting order between
the X52 and X52 Pro, it causes issues in applications like Wine. This
commit updates the reporting such that it sends the exact same report as
the kernel with the quirks enabled.
Addresses: #51
The X52 and X52 Pro report the buttons in different orders, e.g., the
mouse primary button is button 30 on X52, but is button 15 on the Pro.
This change ensures that the reported values is consistent between the
different devices.
This change replaces the old USB driver with a more modern HID driver.
This uses the HID framework, which means that we don't have to deal with
the USB transport, and only have to parse and report input events.
[skip ci]