
Мне нужно, чтобы код на языке C выполнялся при нажатии определенных клавиш в среде Linux «Desktop».
Какие существуют способы регистрации на такое мероприятие и как это сделать?
Мне написать ISR для этого? Мне нужна точная часть Linux, откуда я могу получить этот вызов.
Какая часть ОС обрабатывает подобные вещи? Является ли это частью среды рабочего стола, например GNOME, или частью какой-то службы?
решение1
Я бы попытался использоватьxbindkeys
для запуска команды/скрипта при нажатии определенных клавиш.
Для начала вы можете xbindkeys
сгенерировать шаблон файла конфигурации следующим образом:
$ xbindkeys --defaults > /home/saml/.xbindkeysrc
Затем откройте полученный файл конфигурации в любом редакторе и добавьте строку следующего вида:
"nautilus --browser /home/saml/projects/path/to/some/dir"
Mod4+shift + q
Затем завершите работу и перезапустите ее xbindkeys
, чтобы перезагрузить изменения в файле конфигурации:
$ killall xbindkeys
$ xbindkeys
Теперь, когда это запущено, всякий раз, когда я нажимаю Mod+ Shift+, QNautilus будет открываться с соответствующей открытой папкой.
Вышеуказанное можно легко изменить так, чтобы любой скрипт или команда могли быть запущены вместо вышеприведенного. Это всего лишь пример, иллюстрирующий подход и помогающий вам начать.
Рекомендации
решение2
В вашей рабочей среде может быть утилита для настройки сочетаний клавиш.
Оболочка Gnome 3
Перейдите System Settings > Keyboard > Shortcuts
и создайте Launcher
ярлык[1].
КДЕ
Идти к System Settings
[2] > Shortcuts and Gestures > Global Shortcuts
[3] и назначить пользовательскую комбинацию клавиш, или
Назначьте ярлык KDE для запуска приложений[4]. Для использования этого приложения вам может потребоваться файл .desktop.
- Разблокируйте виджеты.
- Щелкните правой кнопкой мыши в панели запуска и выберите «Изменить приложения...».
- Найдите приложение, которому вы хотите назначить ярлык.
Другой
В противном случае вы можете использовать xbindkeys
. Arch Wiki имеетxbindkeys
руководствостоит прочтения.
[1]https://wiki.ubuntu.com/Keybindings
[2]http://docs.kde.org/stable/en/kde-workspace/systemsettings/using-kapp.html#starting
[3]http://docs.kde.org/stable/en/kde-workspace/systemsettings/general.html
[4]https://askubuntu.com/questions/90567/quickly-launch-any-app-in-kde-with-a-shortcut