PyQT Listen для событий SystemWide Key и мыши - PullRequest
0 голосов
/ 18 октября 2011

Я пытаюсь написать приложение, которое прослушивает общесистемные события клавиш и мыши, соответствующие определенным шаблонам, и отвечает на них.

Я планирую запустить приложение в фоновом режиме. Нет, это не кейлоггер, это законное приложение с добрым намерением.

Я планирую использовать PyQT или, скорее всего, PySide для этого приложения. Довольно просто слушать события, когда окно приложения сфокусировано, но как мне это сделать, когда окна вообще нет?

Я специально работаю над OS X, но я бы предпочел кроссплатформенное решение.

1 Ответ

0 голосов
/ 19 октября 2011

Я думаю, вам почти наверняка понадобится сторонняя библиотека для этого.

У меня нет опыта ее использования, но библиотека расширения Qxt имеет QxtGlobalShortcut *Класс 1006 *, и для него есть привязки PyQt в форме pygs .Оба проекта, кажется, поддерживают все основные платформы.

РЕДАКТИРОВАТЬ

Извините, я не прочитал ваш вопрос должным образом.Очевидно, что вам нужны не только глобальные ярлыки: (

После небольшого дополнительного исследования это выглядело как QAbstractEventDispatcher.setEventFilter , возможно, было многообещающим. Однако оказывается, что Qt фильтрует только события,отправляются приложению, а не общесистемным событиям, поэтому, похоже, для решения этой проблемы потребуется сторонняя библиотека.

...