LINUX.ORG.RU

ScreenSaver detect event form mouse+keyboard


0

0

Как отследить что мыша не двигается и клавишы не нажимаются.

P.S. Если кто знает в XLib есть такая тема XSetScreenSaver. Типа такого только чтоб свой screensaver туда вставить можно было.

★★

в X протоколе не предусмотрен event типа ScreenSaverAct, что бы ты его
получил и делал что хочешь, есть один встроеный saver(могут быть разные
саверы в разных X serveraх) таймауты которого конфигурятся посредством
SetScreenSaver запроса, а на самом деле стратегия для внешнего савера
должна быть типа

создаешь окно и делаешь:
* SelectInput на рутовом окне с маской KeyRelease
* GrabPointer на рутовом окне с маской 
  PointerMotion|ButtonPress|ButtonRelease

и висишь в event loop, и рулишь таймаутами, тоесть когда приходит event 
ты время сбрасываешь, когда таймаут проходит и ни одного eventа не 
пришло - делаешь магические действа что бы экран не сгорел

возможно когда у тебя все получится, ты поставишь таймаут у 
SetScreenSaver в 0

lg ★★
()

Thank you very mach. За такой исчерпывающий ответ.

tugrik ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.