Зарегистрируйте горячие клавиши в Linux, используя библиотеку для C++
Вопрос
существуют ли какие-либо библиотеки для Linux, написанные на C++, которые могли бы регистрировать глобальные горячие клавиши для моего приложения?Спасибо.
Решение
Вам придется предоставить дополнительную информацию.
В Gnome глобальные функции зависят от оконного менеджера.Metacity имеет настраиваемые глобальные ярлыки, как и Compiz и Sawfish, и все они настраиваются по-разному. Горячие клавиши также может быть использован для той же функциональности.Однако все они ограничиваются только запуском приложений.
В рамках приложения KDE KAction может регистрировать глобальные ярлыки, которые выполняют действия внутри вашей программы.На самом деле они обрабатываются модулем kded (запускаемым по требованию), поэтому они работают даже за пределами среды рабочего стола KDE.
Если вы не используете платформу KDE, но все еще используете X11, вы можете использовать API xlib для вызова XGrabKey в корневом окне.
Для ярлыков, которые работают за пределами X, если вы работаете с правами root (или разрешения изменены разрешено) в ядре 2.6, вы можете напрямую открыть /dev/input/event*
, и опросите нужные ключевые события.
Другие советы
Некоторое время назад я написал простую библиотеку C, чтобы сделать регистрацию глобальных горячих клавиш X11 менее болезненной.Есть несколько примеров с кодом.Вы можете получить его по адресу: