- Mover.ps1: activación tras inactividad, parada al detectar uso, deslizamiento animado visible, mensajes de estado y cierre de instancias previas. - main.py: movimiento solo tras 3 minutos de inactividad. - Documentación: README, AGENTS, CHANGELOG y TODO. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2.8 KiB
2.8 KiB
Mover
Utilidad para Windows que evita que el equipo se bloquee o entre en suspensión moviendo el puntero del ratón solo cuando el usuario lleva un tiempo sin usar el teclado ni el ratón. En cuanto se detecta uso real, el movimiento se detiene y se vuelve a esperar.
Contenido
| Fichero | Descripción |
|---|---|
Mover.ps1 |
Implementación principal en PowerShell. Sin dependencias externas. |
main.py |
Implementación original en Python (requiere pyautogui). Funcionalidad básica, sin animación. |
Requisitos
- Windows (usa las APIs
user32/kernel32). Mover.ps1: Windows PowerShell 5.1 o PowerShell 7.main.py: Python 3 ypip install pyautogui.
Uso de Mover.ps1
powershell -ExecutionPolicy Bypass -File .\Mover.ps1
Parámetros
| Parámetro | Por defecto | Descripción |
|---|---|---|
-TiempoInactividad |
180 |
Segundos sin uso de teclado/ratón antes de empezar a mover. |
-DesplazamientoMin |
150 |
Distancia mínima (píxeles) de cada deslizamiento. |
-DesplazamientoMax |
300 |
Distancia máxima (píxeles) de cada deslizamiento. |
-DuracionMs |
600 |
Duración de la animación de cada deslizamiento. |
Ejemplo de prueba rápida:
powershell -ExecutionPolicy Bypass -File .\Mover.ps1 -TiempoInactividad 10
Mensajes
[07:45:57] Inicializando...
[07:45:58] Mover iniciado. Esperando 180 s de inactividad (Ctrl+C para salir).
[07:49:01] Inactividad detectada: iniciando movimiento del ratón.
[07:50:12] Actividad del usuario detectada: movimiento detenido.
Para detenerlo: Ctrl+C o cerrar la ventana.
Acceso directo
Se puede crear un acceso directo con:
- Destino:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -ExecutionPolicy Bypass -File "D:\Toni\Desarrollo\Mover\Mover.ps1" - Ejecutar: Minimizada.
Funcionamiento
- Al arrancar cierra cualquier instancia anterior de
Mover.ps1(varias instancias se interpretarían mutuamente sus movimientos como actividad del usuario). - Consulta la inactividad con
GetLastInputInfo/GetTickCount. - Superado el umbral, desliza el puntero con una animación suavizada mediante
SendInput(coordenadas absolutas), lo que genera entrada real y evita la aceleración del puntero. El destino se mantiene dentro del monitor actual. - Tras cada deslizamiento guarda el instante de la última entrada; si cambia, ha sido el usuario y se detiene. Si el usuario mueve el ratón durante la animación, ésta se interrumpe.
Notas
- La primera compilación de
Add-Typepuede tardar hasta ~20 s en un proceso nuevo. - El fichero
Mover.ps1debe guardarse en UTF-8 con BOM para que Windows PowerShell 5.1 muestre correctamente las tildes.