2008-12-08 5 views

ответ

-1

Я не знаком с кишками API Qt4 или KDE.

Однако в общих чертах, на любой системной клавиатуре X11 или мыши доставляется только к окну активного, если вы не вызываете основные XGrabMouse, XGrabKeyboard и т.д. функции.

Конечно, после того, как вы это сделали, ни одно другое окно не сможет получить эти входные события, поэтому вы должны быть уверены, что у вас есть возможность освободить клавиатуру от мыши и/или клавиатуры сделанный.

1

Вы можете использовать расширение XScreenSaver (man Xss). Он может предоставить вам значение в эту структуру с использованием функцией XScreenSaverQueryInfo:

typedef struct { 
     Window window;    /∗ screen saver window */ 
     int state;     /∗ ScreenSaver{Off,On,Disabled} */ 
     int kind;      /∗ ScreenSaver{Blanked,Internal,External} */ 
     unsigned long til_or_since; /∗ milliseconds */ 
     unsigned long idle;   /∗ milliseconds */ 
     unsigned long event_mask;  /∗ events */ 
    } XScreenSaverInfo; 

Холостого поле определяет количество миллисекунд, прошедшие после последнего ввода был получен от пользователя на любом из устройств ввода.

Я не знаю о решении только для Qt.

+0

не это означает, что вы должны регулярно опрашивать изменения в этой структуре? – Alnitak 2008-12-08 22:43:34

0

Ищите forkkk, это с открытым исходным кодом и предоставит примеры.

 Смежные вопросы

  • Нет связанных вопросов^_^