Перехват ввода сканера штрих-кода(в режиме эмуляции клавиатуры) или как забрать ввод с конкретного устройства?
В общем есть сканер штрих-кодов - mercury 1000 и подобные.
Работают они в режиме эмуляции клавиатуры.
Пишу прогу, в ней необходимо получать значение штрих-кода, но что бы их получить форма программы должна быть активна постоянна, иначе ввод получает другое приложение.
Вариант: перед сканированием активировать форму не подходит, т.к. занимает время и неудобства использования.
Вариант: установка спец. драйвера не подходит, т.к. его нет для Линукса (Эмулятор rs232 было бы вообще просто, но...).
Вариант с отдельным компом тоже не возможен.
Знаю ID устройства (по выводу lsusb) хочу программу повесить фоном и как-то определять что именно с этого устройства идёт ввод.
Подскажите, пожалуйста, в c++ куда смотреть хотя бы, что бы брать только с конкретного этого устройства?
Не понял про /dev/input/eventX попробовал от 0-16(все, что были) sudo cat | tail -f что-то получил на event1 но и то в каких-то кодах. Можете, пожалуйста, носом тогда ткнуть, куда дальше смотреть?
Поправка, загуглил про input/event , нашёл своё устройство и действительно теперь могу получать только с него НО, подскажите, пожалуйста, как вывод перевести в читаемый вид?
Повторю кэповский вопрос: почему бы просто не переключить сканер в режим RS232 и не забирать данные из СОМ-порта (и через него же, кстати, и программировать сканер, если нужно) ?
Для этого в Линуксе вообще не нужны никакие спецдрайвера. Если в компе вдруг физически нет RS232, купить копеечный USB адаптер на FTDI чипе - и всех делов :)
upd:
1 - Нажимаем
2 - Заменяем на нужный вариант
3 - profit :)
Pavel K: Судя по спецификации там все должно быть на борту. Не знаю, как у этого конкретного... у большинства сканеров место соединения шнура с корпусом - на самом деле утопленый многофункциональный разъем. В дырочку возле места крепления нужно вставить скрепку, нажать - и можно заменить кабель на USB или RS232. Вся электроника все равно внутри.
Pavel K: Ну тогда, если честно, я бы засунул этот сканер в... ухо, тому, кто его покупал... еще лучше - вычел бы из его зарплаты и заставил купить нормальный. Ибо камасутра с клавиатурным вводом в заявленном сценарии - это не только дикий костыль, но и нехилая дырка в безопасности системы. Просто в качестве идеи: если клавиатурный ввод идет в Х (а как без этого?), достаточно закодировать в любой поддерживаемой сканером символогии любую последовательность байт, подсунуть ее сканеру, и... заходите, кто хотите, выносите, что хотите :)
Товарищи, Вы были правы! Нашёл от него сервисный мануал, вбил ему usb-com, а так же вбил настройки для com порта. Заработал! Нужно было выставлять скорость и биты. Всё пошло! Всем спасибо!