Barcode Scanner Emulator
Суффиксы ENTER и TAB в сканерах штрихкодов
Суффикс — это нажатие клавиши, которое сканер отправляет сразу после декодированных данных штрихкода. Выбор правильного суффикса и корректная обработка в приложении — один из самых частых источников ошибок интеграции со сканером.
Что такое суффиксы и зачем сканеры их отправляют
Сканер выдаёт данные сырыми нажатиями без встроенного разделителя, поэтому принимающее приложение не может надёжно понять, что сканирование закончилось, пока сканер не добавит явное завершающее нажатие. Это завершение и есть суффикс. Без него приложениям пришлось бы угадывать конец по тайм-ауту бездействия, а это медленнее и менее надёжно.
ENTER (CR)
Самый частый суффикс. Отправляется как клавиша Enter/Return и соответствует возврату каретки, 0x0D в ASCII. В большинстве HTML-форм нажатие Enter в одном текстовом поле отправляет окружающую форму, поэтому ENTER естественно подходит сценариям «сканировать и отправить», например полю поиска или поиску в одном поле.
TAB
Отправляется как клавиша Tab, 0x09. Вместо отправки формы Tab переносит фокус на следующий элемент, который может его принять. Этот суффикс предпочтителен при вводе в несколько шагов: сканирование кода товара → автоматический переход к полю количества → сканирование следующей позиции, без преждевременной отправки.
Пары CR/LF и отсутствие суффикса
Некоторые сканеры можно настроить на полную пару CR+LF (это обычно при подаче данных в терминальные или последовательные приложения), а некоторые — вообще без суффикса. Тогда приложение должно определять конец сканирования по времени ввода.
Почему это важно для POS и веб-приложений
Неверный суффикс даёт очень конкретные и запутанные ошибки: суффикс ENTER на форме с несколькими полями может отправить форму до заполнения количества или скидки, а суффикс TAB в сценарии с одним полем поиска оставляет поиск невыполненным, потому что ничто не запускает отправку. Суффикс нужно согласовать со сценарием, а не оставлять заводское значение.
Как проверить поведение суффикса
Сканируйте в тестер ввода штрихкода: он явно сообщает, обнаружен ли в конце сканирования ENTER или TAB. Если нужны точные коды клавиш (например чтобы отличить CR от LF), используйте тестер событий клавиатуры.
Смена суффикса на сканере
Поведение суффикса — настройка самого сканера. Её задают утилитой производителя или сканированием особого конфигурационного штрихкода из руководства сканера. Общий процесс описан в руководстве Настройка сканера штрихкодов.