Chương trình hiển thị tổ hợp phím (phím tắt) trên màn hình


12

Tôi sẽ thuyết trình về một sản phẩm phần mềm và nó có một số phím tắt mà tôi muốn trình bày. Có chương trình nào hiển thị các phím tắt mà tôi đã sử dụng không?

Câu trả lời:



1

Bạn có thể sử dụng xev(các sự kiện X) để làm điều này.

Bắt đầu ứng dụng bạn muốn theo dõi, ví dụ , xman &.

Sau đó, sử dụng wmctrl -lđể liệt kê các cửa sổ X. Nó có thể trông như thế này:

0x00400009  0 VLAN-.... urxvt
0x00e0007a  0 VLAN-.... Iceweasel
0x00800011  0 VLAN-.... xman

Bạn cần ID cửa sổ (hex) trong cột đầu tiên; để có được nó, bạn có thể sử dụng grepvà tìm nạp dòng theo cột thứ tư (tên ứng dụng, sẽ tự nhiên hơn nhiều khi bạn sử dụng như một con người) - khi bạn có dòng này, bạn có thể lấy cột đầu tiên với cut( cột đầu tiên trường với -f1, sử dụng một dấu phân cách khoảng trắng -d" "để tách các trường).

Dĩ nhiên, bạn có thể phân tích dữ liệu (để lấy ID) theo một số cách hoặc thậm chí nhập ID theo cách thủ công. (Các số 0 trong cột thứ hai ở trên là số máy tính để bàn.)

Vậy hãy thử đi

xev -id `wmctrl -l | grep xman | cut -d" " -f1` | tee event.txt

Nó sẽ hiển thị các tổ hợp phím (và hơn thế nữa) trong cùng một thiết bị đầu cuối khi lệnh được gọi; cộng với tee, nó sẽ lưu trữ những gì bạn nhìn thấy trong một tập tin. Nó có thể là một ý tưởng tốt để cho đầu ra được hiển thị stdouttrong thiết bị đầu cuối vì điều này sẽ cho bạn thấy ngay lập tức hành động; Ngoài ra, nếu bạn không chạy lệnh dưới dạng quá trình nền (với &), bạn có thể chấm dứt dễ dàng vớiCtrl-C.

LƯU Ý Nó hoạt động cho urxvt và xman, nhưng vì một số lý do, nó không thành công với Iceweasel trong danh sách trên (nó ghi lại một cái gì đó, nhưng nó không trình bày các sự kiện chính rõ ràng (như vậy) như các trường hợp khác.


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.