monitorowanie zdarzeń (klawiatura, mysz) w X


26

Czy można wyświetlić wszystkie zdarzenia generowane w Xorg? Takich jak naciśnięcie klawiatury, zdarzenia myszy ...?

Odpowiedzi:


34

W xevrezultacie prawdopodobnie przyniosłoby to dość szybkie wyszukiwanie . Nie pokaże ci wszystkiego, co kiedykolwiek zostało wciśnięte lub wpisane w X. Ale raczej pozwoli ci zobaczyć informacje o kodach klawiszy i ruchach myszy.

Jednak dzięki tej -rootopcji możesz być w stanie xevmonitorować całą sesję X. Uwaga: jeśli to zrobisz, bardzo utrudnisz interakcję z dowolnym programem, ponieważ xevbędzie on przechwytywał wszystkie dane wejściowe.

xev -rootpochodzi z domyślnym „YMMV”. Innym możliwym rozwiązaniem jest skorzystanie xinputz zadania (choć potrzebujesz najnowszej wersji (1.6.1 lub nowszej)):

$ xinput test-xi2 --root

Chociaż powyższe powinno być w stanie przechwytywać wszystkie zdarzenia, jeśli xinputnie obsługujesz test-xi2lub --rootmożesz użyć xinput testna określonej klawiaturze lub myszy .

Zobacz także inne pytanie: Zapisz każde naciśnięcie klawisza i zapisz w pliku


1
Właściwie xevpowinien pokazywać wszystkie zdarzenia ... po prostu monitoruje tylko jedno okno na raz. Być może ktoś mógłby zhakować skrypt, aby uruchomić wiele kopii xevkażdego monitorowania w jednym oknie, aby w końcu monitorować wszystkie z nich?
Celada

Testy xev i xinput nie pokazują zdarzeń dotyku, podczas gdy xinput test-xi2.
u149796

1
@dkreuter, dodałem Twoje kwalifikacje bezpośrednio.
HalosGhost

5
„Jednak z opcją -root możesz uzyskać xev do monitorowania całej sesji X.” <= To źle. W ten sposób xevprzechwytuje zdarzenia tylko w „oknie głównym”, tj. Zwykle w tle pulpitu. xinputjest właściwym rozwiązaniem do przechwytywania wszystkich zdarzeń niezależnie od aktualnie aktywnego okna.
Fritz,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.