Зарегистрируйте горячие клавиши в Linux, используя библиотеку для c ++ - PullRequest
2 голосов
/ 26 июня 2009

Существуют ли библиотеки для Linux, написанные на C ++, которые могли бы зарегистрировать глобальные горячие клавиши для моего приложения? Спасибо.

Ответы [ 2 ]

8 голосов
/ 26 июня 2009

Вам нужно будет предоставить больше информации.

В Gnome глобальная функциональность зависит от оконного менеджера. Metacity имеет настраиваемые глобальные ярлыки, как Compiz и Sawfish, и все они настроены по-разному. Xhotkeys также может использоваться для той же функции. Однако все они ограничиваются только запуском приложений.

В рамках приложения KDE KAction может регистрировать глобальные ярлыки, которые выполняют действия внутри вашей программы. На самом деле они обрабатываются модулем kded (запускается по требованию), поэтому они работают даже вне среды рабочего стола KDE.

Если вы не используете платформу KDE, но по-прежнему используете X11, вы можете использовать xlib API для вызова XGrabKey в корневом окне.

Для ярлыков, которые работают вне X, если вы работаете в качестве пользователя root (или разрешения изменяются разрешительно) в ядре 2.6, вы можете напрямую открыть /dev/input/event* и опросить желаемый ключевые события.

2 голосов
/ 19 мая 2012

Некоторое время назад я написал простую библиотеку C, чтобы сделать глобальные горячие клавиши X11 менее болезненными. Есть несколько примеров с кодом. Вы можете получить его по адресу:

https://github.com/jwmcode/xhklib/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...