Как отличить данные сканера штрих-кода от обычного ввода с клавиатуры?

Я с нетерпением жду, чтобы купить сканер штрих-кода для проекта. Этот проект представляет собой веб-приложение, работающее в качестве веб-сервера на локальном компьютере и браузера на том же компьютере для клиентской стороны. Сканер штрих-кода будет подключен к этой машине.

Кажется, многие USB-сканеры штрих-кода эмулируют клавиатуру, однако я бы хотел отличить обычный ввод с клавиатуры от данных сканера штрих-кода. Как я мог этого добиться?

Получение данных штрих-кода на стороне сервера

Для меня интересной конфигурацией было бы просто извлечь данные из сканера штрих-кода из моего приложения (я думаю, что это можно сделать, читая из /dev/input/by-path/pci-XXX-usb-XXX-kbd) и отключите это устройство в Xorg (поскольку /etc/X11/Xorg.conf В большинстве версий Ubuntu файл в основном обходится, я не знаю, как это сделать).

Обратите внимание, что я хотел бы, если возможно, перехватить ввод со сканера штрих-кода, когда мое приложение не имеет фокуса (это серверная часть веб-приложения, поэтому это даже не приложение Xorg), поэтому мне нужно запретить отправку Xorg события в целевом приложении.

Получение данных штрих-кода на стороне клиента

В противном случае я мог бы сопоставить поддельную раскладку клавиатуры на сканере штрих-кода (например, сопоставить цифры, чтобы скрыть символы utf-8), но сохранить обычную раскладку для клавиатуры, используя эту технику, подробно описанную в разделе Super User. Тогда я буду знать, когда используется сканер штрих-кода, потому что я получу странные цифры на стороне клиента (веб-страница).

0 ответов

Другие вопросы по тегам