xinput test-xi2 --root
captura eventos de todas as fontes. Você receberá 4 eventos - RawKeyPress
, KeyPress
, RawKeyRelease
e KeyRelease
, todos contendo o código de acesso na seção detail:
. Não tenho certeza se você deve usar eventos brutos ou não, mas quando você ouve eventos de mouse, é necessário confiar em eventos brutos no caso de outro programa pegar o dispositivo com owner_events = 1
(XGrabPointer ou XIGrabDevice ), a menos que você precise do Xserver para rastrear modificadores para você, eu recomendaria usar eventos brutos.
Uma vez eu escrevi um programa que capturava eventos de teclado e mouse - link
EDIT: pelo que testei, os eventos brutos se comportam de maneira oposta em eventos de teclado. Portanto, para obter a maior taxa de sucesso, capture eventos de mouse não processados, mas eventos de teclado não processados.