memantau peristiwa (keyboard, mouse) di X


26

Apakah mungkin untuk menampilkan semua acara yang dibuat di Xorg? Seperti keyboard yang ditekan, acara mouse ...?

Jawaban:


34

Pencarian yang cukup cepat kemungkinan akan menghasilkan xevsebagai hasilnya. Itu tidak akan menampilkan semua yang ditekan atau diketik dalam X. Melainkan, akan memungkinkan Anda untuk melihat informasi tentang kode kunci dan gerakan mouse.

Namun, dengan -rootopsi ini, Anda mungkin bisa xevmemantau seluruh sesi X. Catatan, jika Anda melakukan ini, Anda akan membuatnya cukup sulit untuk benar-benar berinteraksi dengan program apa pun karena xevakan menangkap semua input.

xev -rootdatang dengan "YMMV" tersirat. Solusi lain yang mungkin digunakan adalah xinputmenyelesaikan pekerjaan (meskipun Anda memerlukan versi terbaru (1.6.1 atau lebih tinggi)):

$ xinput test-xi2 --root

Sementara di atas harus dapat menangkap semua peristiwa, jika Anda xinputtidak mendukung test-xi2atau --root, Anda dapat menggunakan xinput testpada tertentu Keyboard atau Mouse perangkat.

Lihat juga pertanyaan lain ini: Rekam setiap penekanan tombol dan simpan dalam file


1
Sebenarnya, xevharus menunjukkan kepada Anda semua acara ... hanya saja ia memonitor satu jendela pada suatu waktu. Mungkin orang bisa meretas naskah untuk meluncurkan banyak salinan dari xevsetiap jendela pemantauan sehingga Anda akhirnya memonitor semuanya?
Celada

xev dan xinput test tidak menunjukkan Anda menyentuh event sementara xinput test-xi2 melakukannya.
u149796

1
@ Komputer, saya telah menambahkan inline kualifikasi Anda.
HalosGhost

5
"Namun, dengan opsi-root, Anda mungkin bisa meminta xev untuk memonitor seluruh sesi X." <= Ini salah. Dengan cara ini, xevhanya akan menangkap peristiwa di "root window", yaitu biasanya latar belakang desktop Anda. xinputadalah solusi yang tepat untuk menangkap semua peristiwa terlepas dari jendela yang sedang aktif.
Fritz
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.