I'm currently developing an application using Flutter, where I need to capture barcodes using different Android scanner devices. I've encountered a peculiar issue with a Zebra (MC330M) scanner running on Android 8.1.
When I first launch my application on the Zebra scanner, I get a series of
KeyRepeatEvents with unknown logical keys and null character values. However, after closing and reopening the application, it starts working as expected, and I receive the correct key events.
- Cipherlab scanner running Android 9 (Works as expected)
- Zebra scanner running Android 8.1 (Problematic)
Here are some logs from Flutter, showing the inconsistent behavior:
Before closing and reopening the app:
(KeyEvent logs indicating KeyRepeatEvents with unknown logical keys and null character values)
After closing and reopening the app:
(KeyEvent logs showing correct key events)
[Logs are similar to the ones mentioned in the Stack Overflow question.]
I have checked the DataWedge settings for the Zebra (MC330M) scanner, and they seem to be in line with the application's requirements.
The entire codebase for this implementation can be found here.