Überwachungsereignisse (Tastatur, Maus) in X


26

Ist es möglich, alle in Xorg generierten Ereignisse anzuzeigen? Wie Tastatur gedrückt, Mausereignisse ...?

Antworten:


34

Eine ziemlich schnelle Suche würde sich wahrscheinlich xevals Ergebnis ergeben. Es wird nicht alles angezeigt, was jemals in X gedrückt oder eingegeben wurde. Ermöglicht es Ihnen jedoch, Informationen zu Tastencodes und Mausbewegungen anzuzeigen.

Mit dieser -rootOption können Sie jedoch möglicherweise xevdie gesamte X-Sitzung überwachen. Wenn Sie dies tun, wird es ziemlich schwierig, mit einem Programm zu interagieren, da xevalle Eingaben erfasst werden.

xev -rootkommt mit einem impliziten "YMMV". Eine andere mögliche Lösung besteht darin xinput, die Aufgabe zu erledigen (obwohl Sie eine neuere Version (1.6.1 oder höher) benötigen):

$ xinput test-xi2 --root

Während das oben Genannte in der Lage sein sollte, alle Ereignisse zu erfassen , können Sie es auf einem bestimmten Tastatur- oder Mausgerät verwenden , wenn Sie oder xinputnicht unterstützen .test-xi2--rootxinput test

Siehe auch diese andere Frage: Notieren Sie jeden Tastenanschlag und speichern Sie ihn in einer Datei


1
Eigentlich xevsollten Ihnen alle Ereignisse angezeigt werden ... es ist nur so, dass nur jeweils ein Fenster überwacht wird. Vielleicht könnte man ein Skript hacken, um mehrere Kopien xevjedes Fensters zu starten und so alle zu überwachen?
Celada

xev und xinput test zeigen keine Berührungsereignisse an, während xinput test-xi2 dies tut.
u149796

1
@dkreuter, ich habe deine Qualifikation inline hinzugefügt.
HalosGhost

5
"Mit der Option -root können Sie jedoch möglicherweise xev veranlassen, die gesamte X-Sitzung zu überwachen." <= Das ist falsch. Auf diese Weise xevwerden nur Ereignisse im "Root-Fenster" erfasst, dh normalerweise auf Ihrem Desktop-Hintergrund. xinputist die richtige Lösung zum Erfassen aller Ereignisse, unabhängig vom derzeit aktiven Fenster.
Fritz
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.