Зарегистрируйте горячие клавиши в Linux, используя библиотеку для C++

StackOverflow https://stackoverflow.com/questions/1049637

  •  20-08-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

Вам придется предоставить дополнительную информацию.

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

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

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top