We see an extremly weird behaviour with barcode scanners and a Java Swing application on Windows 7 and jre8. This is a large deployment of more than 1000 PCs and several different barcode models. We scan barcodes that represent strings with 9 characters: H06AVKTI2
Now "sometimes on some installations" some of the later characters appear in the wrong order: H06AVKTI2 H06AVKI2T H06AVKTI2
Any idea is welcome - we are desperate ;-)
We eventually solved this. Turns out that this Java Swing application allows to configure keyboard shortcuts that are available to execute certain business tasks under certain conditions. Somebody had globally configured shift-t
and some other shift-_
to be shortcuts for business transactions.
Now even though these business transactions were not available in the context when we scan barcodes, the app seems to interupt for a few milliseconds whenever it receives a shift-t
. When the barcode-scanner scans a code containing a "T", it sends one of these shift-t
combinations and the software takes a very short time just to determine, that there is nothing to do for this shortcut. In these cases the scanned characters end up being swapped. So this obviously only happend when we scanned a code containing one of the characters we had configured shortcuts for...
Solution was to change the configured shortcuts to ctrl-t
instead of shift-t
.
Root cause is probably the way the framework developers of the app implemented those global shortcuts, but this has not been verified.