I have three numeric input fields in Ignition Perspective: Min, Max, and Avg (Thickness values). These fields are populated through a barcode scan, where the scanned data is received via an API and automatically assigned to the component props.value (there is no manual typing or Enter key press involved).
My requirement is to create an automatic flow between these fields. When the Min value is scanned and populated, the focus should automatically move to the Max field. After scanning and filling Max, the focus should then move to the Avg field. This entire process should happen sequentially based only on value updates from the scan, without any user interaction such as keyboard input or clicking.
Thank you for your reply. The value should automatically be filled in the first numeric field and the focus should move to the next field without pressing Enter. The value will be updated in props.value. Currently, the value updates only when I type and press Enter. Instead, when the value comes in, it should automatically move the focus and update the value at the same time.”
I have tried using the component keypress event, and it works correctly for the Bluetooth scanner in the numeric field. However, I am facing an issue during manual entry.
When users type manually, the focus sometimes moves to the next field immediately even while entering the first digit (for example, “1”). The values can also contain 2 or 3 decimal places such as 22.34 or 1.267.
What I need is that the focus should not move while the user is typing manually. It should move to the next field only when the value is fully auto-filled (scanner input) or when the user explicitly completes the entry (e.g., Enter key).
Code on keypress event:
if self.props.value!=None:
self.getSibling("NumericEntryField").focus()
As Ted notes, you have to deal with the fact that Perspective can't tell the difference between manual entry and scanner entry when the scanner is a keyboard wedge. (Only mobile app barcode scanning hand be handled deterministically, and doesn't go through a numeric entry field.)
You either have to add an enter key suffix to your scanner, or use some method in your code to "infer" that the text came from a scanner. (Short timestamp delta between first and last character, perhaps. If faster than a human can type, it likely came from the scanner.)
that is configured on the scanner itself, its not a feature within ignition. google the scanner model you have and "keyboard wedge driver" or so, in these software you should find an option "Suffix" which you set to "Enter"
They are using Measuring device and passing the values to Bluetooth transmitter. Device Model: DIGIMATIC MICROMETER-IP65 RANGE:0-25MM. Bluetooth Transmitter:
U WAVE TM BUZZER TYPE. Whether this model as any suffix settings
based on the manual you should add your device to it and check "Data I/F (Direct input) enable" and "Data Output" and it will send measurements with the keyboard input mode enabled (basically it will write down the data then Enter key at the current cursor location)
if that doesn't fit your usecase you might need to use USB-ITPAK as well to customize it