I’m building a kiosk where trade show visitors can scan a badge. Once the user scans the badge, I want the kiosk to automatically advance to the next step in the process. My scanner operates as a keyboard, so I have it successfully scanning the badge and placing the text in an off-screen text field. The problem I’m having is the “text is updated” trigger is firing for each character that gets dumped into the field. The action is to save the data to an Excel spreadsheet, so this currently results in a new row for each additional letter that gets added. For example:
a
ab
abc
abcd
etc.
Even if I add a delay, it still fires each time a new letter is added. I can’t wait for a certain number of characters because the data length is variable. That being said, the 0.1 second delay should be enough for the scanner to get all the data into the field. Anyone have any thoughts on how I can delay BEFORE grabbing the data from the field and saving it to the spreadsheet? Thanks.
If you can, configure your badge reader to send an ENTER keystroke, then use the “Enter key is pressed” trigger instead of the “text is updated”
If you can configure your reader to act as a Serial Device and you are running on a Windows device, you can then use this Interface Asset. You’ll get a specific trigger each time the scanner scans a badge.
Let me know if one of these solutions work for you.
We just encountered a similar issue with variable data length from badge scans a couple weeks back. We’ve also got our scanners set up in USB - HID Keyboard Emulation operation mode. We created a modify data rule in the scanner configuration file to perform an ASCII suffix append and add a character that we were very certain would never be in the scan data. This was bound to a Text Input field with a condition to only use updated text that ended with that character.
I hope this is helpful for next time this comes up. I’m only able to check the community when I’m not slammed, and I was in the weeds early August when this was posted up until last week.