Mover: utilidad para mover el ratón tras inactividad
- 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>
This commit is contained in:
commit
5ecdde187e
8 files changed
+511
No files matched your search
@@ -0,0 +1,74 @@
|
||||
# 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 y `pip install pyautogui`.
|
||||
|
||||
## Uso de `Mover.ps1`
|
||||
|
||||
```powershell
|
||||
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
|
||||
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.
|
||||
Reference in new issue
Block a user