Files
sargatxetandCopilot App 5d940a741a Elimina main.py y sus referencias
Se retira la implementación en Python; Mover.ps1 queda como única
implementación. Se actualizan README, AGENTS, CHANGELOG, TODO,
.gitattributes y .gitignore.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
2026-10-07 08:40:57 +02:00

2.6 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 en PowerShell. Sin dependencias externas.

Requisitos

  • Windows (usa las APIs user32/kernel32).
  • Windows PowerShell 5.1 o PowerShell 7.

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

  1. Al arrancar cierra cualquier instancia anterior de Mover.ps1 (varias instancias se interpretarían mutuamente sus movimientos como actividad del usuario).
  2. Consulta la inactividad con GetLastInputInfo/GetTickCount.
  3. 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.
  4. 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-Type puede tardar hasta ~20 s en un proceso nuevo.
  • El fichero Mover.ps1 debe guardarse en UTF-8 con BOM para que Windows PowerShell 5.1 muestre correctamente las tildes.