giám sát các sự kiện (bàn phím, chuột) trong X


26

Có thể hiển thị tất cả các sự kiện được tạo trong Xorg không? Chẳng hạn như nhấn bàn phím, sự kiện chuột ...?

Câu trả lời:


34

Một tìm kiếm khá nhanh có thể sẽ mang lại xevkết quả. Nó sẽ không hiển thị cho bạn mọi thứ được nhấn hoặc gõ trong X bao giờ. Nhưng thay vào đó, sẽ cho phép bạn xem thông tin về mã phím và chuyển động của chuột.

Tuy nhiên, với -roottùy chọn, bạn có thể có thể xevtheo dõi toàn bộ phiên X. Lưu ý, nếu bạn làm điều này, bạn sẽ gặp khó khăn khi thực sự tương tác với bất kỳ chương trình nào vì xevsẽ nắm bắt được tất cả đầu vào.

xev -rootđi kèm với một "YMMV" ngụ ý. Một giải pháp khả thi khác là sử dụng xinputđể hoàn thành công việc (mặc dù bạn cần một phiên bản gần đây (1.6.1 trở lên)):

$ xinput test-xi2 --root

Mặc dù ở trên có thể ghi lại tất cả các sự kiện, nếu bạn xinputkhông hỗ trợ test-xi2hoặc --root, bạn có thể sử dụng xinput testtrên một thiết bị bàn phím hoặc chuột cụ thể.

Xem thêm câu hỏi khác này: Ghi lại mọi tổ hợp phím và lưu trữ trong một tệp


1
Trên thực tế, xevsẽ hiển thị cho bạn tất cả các sự kiện ... chỉ là nó chỉ theo dõi một cửa sổ tại một thời điểm. Có lẽ người ta có thể hack một tập lệnh để khởi chạy nhiều bản sao của xevmỗi cửa sổ theo dõi để cuối cùng bạn giám sát tất cả chúng?
Celada

kiểm tra xev và xinput không hiển thị cho bạn các sự kiện chạm trong khi xinput test-xi2.
u149796

1
@dkreuter, tôi đã thêm nội tuyến trình độ của bạn.
HalosGhost

5
"Tuy nhiên, với tùy chọn -root, bạn có thể có được xev để theo dõi toàn bộ phiên X." <= Điều này là sai. Bằng cách này, xevsẽ chỉ chụp các sự kiện trên "cửa sổ gốc", tức là thông thường nền màn hình của bạn. xinputlà giải pháp chính xác để ghi lại tất cả các sự kiện bất kể cửa sổ hiện đang hoạt động.
Fritz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.