Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
можно на любой Ардуине с ATmega32U4. Там есть поддержка USB. Но зачем использовать Ардуину, если за те же деньги есть Raspberry Pi Zero (W)? Pi0 можно превратить в USB клавиатуру, мышь и сетевую карту одновременно
Для этих целей несколько строк на питоне. Была проблема что в сон уходил, как у автора, но потом как-то решил, уже не помню что сделал. Уже пару лет стабильно юзаю свой скрипт. Если нужно, скину в коммент.
Может, попробовать поработать?
Ну или сменить работу — подальше от настолько эффективных менеджеров.
from ctypes import Structure, windll, c_uint, sizeof, byref
import time
TIMEOUT_S = 50
move_dxdy = 1
mouse_event = windll.user32.mouse_event
class LASTINPUTINFO(Structure):
_fields_ = [
('cbSize', c_uint),
('dwTime', c_uint),
]
def get_idle_duration():
lastInputInfo = LASTINPUTINFO()
lastInputInfo.cbSize = sizeof(lastInputInfo)
windll.user32.GetLastInputInfo(byref(lastInputInfo))
millis = windll.kernel32.GetTickCount() - lastInputInfo.dwTime
return millis / 1000.0
def move_mouse_pointer():
global move_dxdy
move_dxdy = move_dxdy * -1
mouse_event(1, move_dxdy, move_dxdy, 0, 0)
pass
windll.kernel32.SetConsoleTitleW("Idle mouse mover.")
while True:
duration = TIMEOUT_S - get_idle_duration();
print(f"[{time.strftime('%H:%M:%S')}] duration: {duration}, idle:{TIMEOUT_S - duration}");
if duration > 0:
time.sleep(duration)
else:
move_mouse_pointer()
Повышаем эффективность работы из дома, или как шевелить мышкой на Pi Zero