monitorando eventos (teclado, mouse) no X


26

É possível exibir todos os eventos que são gerados no Xorg? Como teclado pressionado, eventos do mouse ...?

Respostas:


34

Uma pesquisa bastante rápida provavelmente renderia xevcomo resultado. Ele não mostrará tudo o que foi pressionado ou digitado no X. Mas, em vez disso, permitirá que você veja informações sobre códigos de teclas e movimentos do mouse.

No entanto, com a -rootopção, você poderá xevmonitorar toda a sessão do X. Observe que, se você fizer isso, dificultará bastante a interação com qualquer programa, pois xevestará capturando todas as entradas.

xev -rootvem com um "YMMV" implícito. Outra solução possível é usar xinputpara fazer o trabalho (embora você precise de uma versão recente (1.6.1 ou superior)):

$ xinput test-xi2 --root

Embora o descrito acima possa capturar todos os eventos, se o seu xinputnão suportar test-xi2ou --root, você pode usá-lo xinput testem um dispositivo específico de teclado ou mouse .

Veja também esta outra pergunta: Registre cada pressionamento de tecla e armazene em um arquivo


1
Na verdade, xevdeve mostrar todos os eventos ... é apenas que ele monitora apenas uma janela de cada vez. Talvez alguém possa hackear um script para iniciar várias cópias de xevcada janela de monitoramento para que você acabe monitorando todas elas?
Celada

O xev e o xinput test não mostram eventos de toque, enquanto o xinput test-xi2 faz.
u149796

1
@dkreuter, adicionei sua qualificação em linha.
HalosGhost #

5
"No entanto, com a opção -root, você pode conseguir que o xev monitore toda a sessão do X." <= Isso está errado. Dessa forma, xevapenas capturará eventos na "janela raiz", ou seja, normalmente no plano de fundo da área de trabalho. xinputé a solução correta para capturar todos os eventos, independentemente da janela ativa no momento.
Fritz
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.