I bought a barcode reader which connects over USB and mimics a keyboard. Connecting to Windows, the barcode is read correctly but connecting to Ubuntu, it drops some repeating chars. It consistently outputs the same value in Ubuntu.
For example:
Barcode Ubuntu Output:
5034660520825 503466052825 (Drops third 0)
8714789763620 8714976320 (Drops 7,8,6)
Looking at the output from lsusb, the device is recognised as a USB HID but uses ID 0416:c141 which is described as "Winbond Electronics Corp." which I don't think is the correct manufacturer.
Using usbmon, I captured the input and translated the codes in the doc http://www.usb.org/developers/hidpage/Hut1_12v2.pdf . The values being received are correct. The repeating chars are being received by Ubuntu but are not output.
I'm looking for some guidance on what my next steps should be. Do I need to rebuild the usbhid kernel module and if so, how/where would I go about doing this.
I'm planning to use it on Lubuntu 14.04 but I have also tested on Ubuntu 14.04 with the same results.
Any help would be much appreciated.
Note: This problem is similar to the following question but the model is different and its solution does not work: USB barcode scanner reading incorrect values
UPDATE: I have now tested on a few different systems with the following results:
Ubuntu 10.04 - Issue occurs
Ubuntu 14.04 - Issue occurs
Lubuntu 14.04 - Issue occurs
Ubuntu 16.04 - Issue occurs
Fedora - Issue occurs
OSX - Different incorrect output
Windows - Correct Output
FreeBSD - Correct Output