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

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

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

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

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

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

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

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

2
задан 20 March 2017 в 13:18

0 ответов

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

Похожие вопросы: