Програма для відображення на дисплеї клавіш (ярликів)


12

Я збираюся виступити з презентацією про програмний продукт, в якому є деякі ключові комбінації клавіш, які я хочу показати. Чи є програма, яка відображає комбінації клавіш, які я використав?

Відповіді:



1

Ви можете використовувати для цього xev(X події).

Відкрийте програму , яку потрібно контролювати, наприклад, xman &.

Потім виберіть wmctrl -lсписок X вікон. Це могло виглядати так:

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

Вам потрібен ідентифікатор вікна (шестигранний) у першому стовпці; щоб отримати його, ви могли б використовувати grepта отримати рядок у четвертому стовпчику (назва програми, що набагато природніше для вас як людини) - коли у вас є рядок, ви можете отримати перший стовпець із cut(перший поле з -f1, використовуючи роздільник пробілів -d" "для розділення полів).

Ви можете проаналізувати дані (отримати ідентифікатор) різними способами, або навіть ввести ідентифікатор вручну, звичайно. (Нулі у другому стовпці вище - це номер робочого столу.)

Потім спробуйте

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

Він покаже натискання клавіш (і більше) в тому ж терміналі, до якого була викликана команда; плюс, з tee, він зберігатиме те, що ви бачите у файлі. Можливо, було б дозволити, щоб вихід відображався stdoutв терміналі, оскільки це миттєво покаже вам дію; також, якщо ви не запускаєте команду як фоновий процес (з &), ви можете легко її припинитиCtrl-C.

ПРИМІТКА Він працює для urxvt та xman, але чомусь він не вдається для Iceweasel у наведеному вище списку (він щось записує, але він не представляє ключових подій настільки чіткими (на сьогоднішній день), як це стосується цих інших прикладів.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.