2009-11-08 2 views
18

Что бы я хотел взять на себя спрятанное устройство, которое, возможно, уже подключено, потребляет его, а другие (X11 или терминал) не могут его использовать.Как вы можете взять на себя спрятанное устройство?

Если я могу помочь, я не хочу притворяться, что являюсь терминалом, а скорее монополизирую конкретное скрытое или символьное устройство. Идея состоит в том, что некоторые скрытые устройства могут быть распознаны как мыши/клавиатуры с помощью x/terminal, но вторая мышь или клавиатура могут быть использованы для чего-то другого, но для этого вам нужно убедиться, что они не отправляют ложный ввод в открытый терминал.

У кого-нибудь есть представление о том, как это можно сделать?

ответ

22

Я сделал это - моим конкретным приложением был демон, который считывал события с USB-устройства считывания штрих-кода USB (который представляет собой USB-устройство USB HID).

Для этого я использовал интерфейс устройства событий, открыв устройство /dev/input/event*, соответствующее устройству, которое я использовал. Затем вы можете выдать на устройство устройствоioctl, которое захватывает его для исключительного использования и считывает события (которые представляют нажатия клавиш, движения мыши и т. Д.) С устройства по мере их появления.

(Когда устройство захвачено для исключительного использования, только ваше приложение увидит на нем события).

+1

Работал как очарование. Благодарю. – Catskul

+1

Звучит именно так, как мне нужно, для считывателя RFID, который считывает 10-значный номер из тега и представляет информацию в виде ввода с клавиатуры, чтобы использовать его в качестве устройства контроля доступа в сочетании с проектом автоматизации малины Pi Home-automation иметь возможность входа в систему с помощью клавиатуры/мыши/монитора для других целей (отладки). – SlySven

+0

Иногда мне интересно, был ли отправлен стек на Землю, чтобы спасти всех нас! Является ли ваш проект открытым исходным кодом? Вы не разделяете источники? Я хочу контролировать несколько вещей, используя специальные печатные QR-коды. –

Смежные вопросы