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:
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
Root cause is probably the way the framework developers of the app implemented those global shortcuts, but this has not been verified.