Программа для отображения нажатий клавиш (горячих клавиш) на дисплее


12

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

Ответы:


10

Существует программа под названием key-mon, которая контролирует нажатые клавиши. Прошло некоторое время с тех пор, как я использовал его, но он работал хорошо, и его отображение довольно привлекательно.


1
Новая ссылка для этого: github.com/scottkirkwood/key-mon
phk

1

Вы можете использовать xev(X события), чтобы сделать это.

Запустите приложение , которое нужно контролировать, например, xman &.

Затем используйте wmctrl -lсписок X окон. Это может выглядеть так:

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

Вам нужен идентификатор окна (hex) в первом столбце; чтобы получить его, вы можете использовать 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.