Se eu entendi as fontes do kernel diretamente, não é possível desconectar dispositivos de entrada específicos dos manipuladores globais (consulte /proc/bus/input/handlers
): O manipulador kbd
sempre receberá todos os eventos de entrada e converterá os principais eventos em pressionamentos de tecla.
No entanto, você pode pegar um dispositivo de entrada para uso exclusivo com um EVIOCGRAB
ioctrl no dispositivo, diretamente do seu programa, ou usando ferramentas como evtest --grab /dev/input/eventX
(para teste). Enquanto a captura estiver ativa, os eventos não devem ser processados por qualquer outra coisa.
Eu não estou familiarizado com python-evdev
, mas mesmo que não suporte o modo agarrar, não é difícil executar ioctls em Python.
(Eu era preguiçoso e testado apenas sob X, onde funciona, mas não vejo razão para que não funcione sem X).