Détecter l’activité de l’utilisateur sur mac os x

J’utilise la fonction “IOPMSchedulePowerEvent” pour planifier des événements de veille ou de réveil et inscrit mon démon auprès de “IORegisterForSystemPower” pour recevoir les modifications de l’état de l’alimentation. Tout fonctionne bien!

Lorsque le système se met en veille et se réveille plus tard, à l’heure programmée, mon démon effectue un travail et le système doit ensuite se remettre en veille.

Maintenant mes questions:

  1. Comment puis-je détecter si le système a été réveillé par l’utilisateur ou à l’heure programmée?

  2. Comment puis-je détecter, si un utilisateur travaillant actuellement avec le système, le démon n’a pas à le mettre en mode veille ???

Merci Nobik

Il existe un moyen simple de détecter diverses formes d’interaction utilisateur: à l’aide de CGEventSourceCounterForEventType vous pouvez interroger le nombre d’ CGEventSourceCounterForEventType au clavier ou de mouvements de la souris depuis le démarrage. En procédant ainsi à intervalles réguliers et en comparant les comptes, vous pouvez détecter une interaction.