Я ищу способы просмотра событий мыши и клавиатуры в Windows, Linux и Mac из Python.
Мое приложение отслеживает время. Я не смотрю на событие, я просто записываю время, когда оно происходит. Если в течение определенного времени нет событий, скажем, 10 минут, я предполагаю, что пользователь ушел и остановил текущий проект.
Когда пользователь возвращается (события приходят снова), я подожду (так что это не будет вызвано уборщицами, вашими домашними животными или землетрясением). Если события продолжаются в течение более длительного периода времени, я предполагаю, что пользователь вернулся, и я выскакиваю небольшое неактивное окно, в котором он может выбрать добавление временного интервала для «перерыва», текущего проекта (встречи и т. Д.) Или другой проект.
Я решил кейлоггер для Windows, используя pyHook .
В Linux я нашел решение, но оно мне не нравится: я могу наблюдать за всеми узлами устройства в / etc / input и обновлять временную метку где-то в / var или / tmp каждый раз, когда вижу событие. Есть два недостатка: 1. Я не могу сказать, происходит ли событие от пользователя, который запускает таймер и 2. Эта маленькая программа должна быть запущена от имени пользователя root (не очень хорошо).
На Mac пока не знаю.
Вопросы:
Есть ли лучший способ узнать, создает ли пользователь события, чем просмотр устройств событий в Linux?
Есть указания, как это сделать на Mac?