login
процесс после загрузки или что-то еще - кроме одного приложения.Спасибо за любые подсказки ...!
[1] Когда устройство считывает штрих-код, оно отправляет обнаруженный код как одно нажатие клавиши и фиксируется с возвращение.
Сложный и интересный вопрос!
думаю udev
может быть способен на это. Создать файл /etc/udev/rules.d/99-barcode-reader.rules
и поместите туда что-то подобное:
ACTIONS!="add", GOTO="barcode_end"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="dead", ATTRS{idProduct}=="beef", PROGRAM="/bin/sh -c 'logger -p user.info Hey, I see a new device $env{BUSNUM} $env{DEVNUM}'", RUN+="/bin/sh -c '/usr/local/bin/your_barcode_application &'"
LABEL="barcode_end"
Замените «мертвый» и «говядина» значениями, которые вы получаете для idVendor и idProduct, на lsusb
.
Начать сначала udevd
или просто ваш сервер, и посмотрите, что произойдет.
Я не знаю, хотите ли вы этого, но если вы пытаетесь отключить эмуляцию клавиатуры, которая выводит последовательности штрих-кода в stdin / console, просто попробуйте следующее:
Создайте файл "/etc/udev/rules.d/10-barcode.rules"
SUBSYSTEM=="input", ACTION=="add", ATTRS{idVendor}=="xxxx", ATTRS{idProduct}=="yyy", RUN+="/bin/sh -c 'echo remove > /sys$env{DEVPATH}/uevent'"
ACTION=="add", ATTRS{idVendor}=="xxxx", ATTRS{idProduct}=="yyyy", SYMLINK+="barcode"
Конечно, замените xxxx и yyyy своими собственными vendor_id и product_id и перезагрузите правила с помощью "udevadm control --reload"
Это удалит часть события / ввода, которая имитирует клавиатуру, и сохранит часть hidraw для доступа к сканированию штрих-кода. Вторая строка просто создает устройство / dev / barcode для чтения, связанное с hidraw
Просто откройте этот файл в своем коде, чтобы прочитать строки, отправленные штрих-кодом.
Для чего это стоит, и для тех, у кого подобная проблема найти это;
Я не знаю, можно ли отключить «клавиатуру», но, поскольку система в любом случае лишена головы, вы можете просто запустить службу для обработки ввода в TTY1, заменив обычное приглашение входа в систему. Вы по-прежнему можете войти в систему через ssh или любой другой TTY, но при загрузке по умолчанию считыватель штрих-кода обрабатывается правильно, без дополнительных действий.
Приятным бонусом является запуск всего этого внутри сеанса экрана, поэтому вы можете подключиться к нему с помощью ssh.
Инструкции см. В моем ответе на SU Вот.