Кроссплатформенный кейлоггер

Я ищу способы наблюдать за событиями мыши и клавиатуры в Windows, Linux и Mac из Python.

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

Когда пользователь возвращается (события приходят снова), я жду немного (так что это не будет вызвано командой уборщиков или вашими домашними животными или землетрясением). Если события продолжаются в течение более длительного периода времени, я предполагаю, что пользователь вернулся, и я выскакиваю небольшое неактивное окно, в котором он может выбрать добавление временного интервала для «перерыва», текущего проекта (собрания и т. Д.) Или другой проект.

Я решил кейлоггер для Windows, используяpyHook.

В Linux я нашел решение, но оно мне не нравится: я могу наблюдать за всеми узлами устройства в / etc / input и обновлять временную метку где-то в / var или / tmp каждый раз, когда вижу событие. Есть два недостатка: 1. Я не могу сказать, происходит ли событие от пользователя, который запускает таймер и 2. Эта маленькая программа должна быть запущена от имени пользователя root (не очень хорошо).

На Mac я понятия не имею, пока.

Вопросы:

Есть ли лучший способ узнать, создает ли пользователь события, чем смотреть устройства событий в Linux?

Любые указатели, как это сделать на Mac?

Ответы на вопрос(2)

Ваш ответ на вопрос