Tu PS Move, a tu manera en Windows. Aplicación local y portable para conectar mandos PlayStation Move, asignar sus botones y utilizarlos como control multimedia, teclado, ratón por movimiento o mando Xbox 360 virtual opcional.
Descargar 0.2.0 · English guide · Novedades · Solución de problemas
Creado por Marc Piqué. Interfaz en español e inglés, sin cuenta, telemetría ni notificaciones emergentes de Windows.
- Interfaz reorganizada: Resumen, Botones, Luz y batería, Move dual y Ajustes, con instrucciones y opciones avanzadas separadas.
- Batería visible con barra, color, estado de carga y rangos reales, sin presentar un 40% fijo como medición exacta.
- Conexión confirmada por datos recientes: un dispositivo recordado por Windows no se muestra como conectado solo por existir.
- Mapeo a un clic más claro, separación entre multimedia global y atajos del navegador, y botón general para pausar los controles.
- Ajustes de suavizado y velocidad del ratón, guardado más robusto de perfiles/LED y restauración sin borrar mapeos personalizados.
- Mejor manejo de pulsaciones rápidas, teclas compartidas, desconexiones, errores y cierre de la aplicación.
- 89 comprobaciones automáticas incluidas en el código y ejecutadas antes de crear el build.
El informe de revisión detalla las correcciones y diferencia las pruebas automáticas de las pruebas con hardware.
- En Releases, descarga MoveWindows_Portable_x64.zip. Los archivos “Source code” son para desarrollar, no para ejecutar la aplicación.
- Extrae todo el ZIP en una carpeta con permisos de escritura. No ejecutes el programa dentro del archivo comprimido.
- Abre MoveWindows.exe como usuario normal. El runtime .NET viene incluido.
- Conserva las carpetas adjuntas: contienen perfiles iniciales, documentación y los componentes opcionales de Xbox.
Requisitos: Windows 10/11 x64, un PS Move ZCM1 o ZCM2, un cable USB de datos y, para uso inalámbrico, un adaptador con el stack Bluetooth de Microsoft. El ZCM1 usa Mini-USB; el ZCM2, Micro-USB. El programa reconoce ambos modelos; la validación física de esta revisión se realizó con un ZCM1.
La aplicación no está firmada con un certificado comercial. Si Windows muestra una advertencia, verifica que la descarga procede de este repositorio y compara su SHA-256 con el archivo publicado. No desactives Windows Security ni las protecciones de firma de controladores.
Cierra MoveWindows desde Salir en la bandeja. Extrae la nueva versión en una carpeta nueva y ejecútala. Los perfiles, colores, calibraciones e idioma se conservan en %LOCALAPPDATA%\MoveWindows, fuera de la carpeta del ejecutable. No borres esa carpeta al actualizar. Si habías activado Iniciar con Windows y cambiaste de ubicación, guarda de nuevo ese ajuste desde la nueva copia.
Para comprobar la descarga:
Get-FileHash .\MoveWindows_Portable_x64.zip -Algorithm SHA256Compara el resultado con MoveWindows_Portable_x64.zip.sha256 de la misma release. Dentro del ZIP, SHA256SUMS.txt contiene los hashes de los archivos empaquetados.
- Abre MoveWindows y conecta el mando por USB.
- Selecciónalo en la lista izquierda.
- En Resumen, pulsa Emparejar por USB.
- Si aparece UAC, autoriza únicamente el ayudante de emparejamiento. La ventana principal no necesita permanecer como administrador.
- Desconecta el cable y pulsa PS.
- Espera a Conectado. MoveWindows confirma la conexión al recibir informes vivos del mando.
Las próximas veces basta con abrir MoveWindows y pulsar PS. El programa continúa buscando dispositivos aproximadamente cada 750 ms, también cuando está en la bandeja. La reconexión completa depende además de Windows y del adaptador; 750 ms es el intervalo de búsqueda, no una garantía de conexión.
USB sirve para detectar, cargar y emparejar. En ZCM1 es habitual que los botones y sensores solo transmitan datos en Bluetooth: tenerlo enchufado no garantiza entrada USB en directo. No cambies su driver HID por WinUSB.
| Pestaña | Qué puedes hacer |
|---|---|
| Resumen | Ver conexión y batería, emparejar, buscar o dejar de buscar el mando y consultar el perfil activo. Los informes técnicos están en un desplegable. |
| Botones | Elegir y aplicar perfil, pulsar un botón para mapearlo, activar el ratón manualmente y ajustar o calibrar el puntero. |
| Luz y batería | Elegir color, brillo, multicolor suave y tiempo de apagado del LED; encenderlo o apagarlo al momento. |
| Move dual | Combinar dos Moves con roles izquierdo/derecho o separarlos para recuperar perfiles individuales. |
| Ajustes | Cambiar idioma, configurar el ahorro del mando, la bandeja y el inicio con Windows. Las opciones avanzadas reúnen adaptador, componentes Xbox, diagnóstico y eliminación local de mandos. |
El botón Pausar controles / Reanudar controles suspende o reactiva el mapeo. Al pausar, se liberan las entradas mantenidas. La detección de mandos sigue funcionando.
- Idioma: al cambiarlo.
- Asignaciones de botones: al confirmar una acción en el selector.
- Calibración: al completar correctamente el asistente.
- Perfil activo: al pulsar Aplicar perfil.
- LED, puntero y ajustes generales: utiliza su botón Guardar después de editar.
Las asignaciones y ajustes de movimiento pertenecen al perfil: si dos mandos usan el mismo perfil, comparten esos cambios. El color/temporizador del LED y la calibración se guardan por mando.
En Botones, elige un perfil y pulsa Aplicar perfil antes de editar. Haz clic en la tarjeta de Move, gatillo, Triangle, Cross, Circle, Square, Start, Select o PS y elige una acción:
- Multimedia: Play/Pause, pista siguiente/anterior, Stop, subir/bajar volumen, silenciar y abrir el reproductor.
- Navegador: atrás/adelante y atajos de vídeo como F11, F, Esc, K, J, L, M y C.
- Teclado: teclas y combinaciones, incluidas combinaciones personalizadas.
- Ratón: botones y rueda.
- Xbox: controles del mando virtual cuando su backend esté instalado.
- Especial: recentrar o desactivar la asignación.
Las teclas de teclado pueden repetirse al mantener pulsado, con intervalos de 40 a 500 ms. Los modificadores permanecen pulsados y se repite la tecla final. Las acciones multimedia se ejecutan una vez por pulsación: mantener Play/Pause no alterna continuamente entre reproducir y pausar.
| Control físico | Acción inicial |
|---|---|
| Move | Play/Pause |
| Triangle | Subir volumen |
| Cross | Bajar volumen |
| Circle | Pista siguiente |
| Square | Pista anterior |
| Gatillo | Clic izquierdo |
Son valores editables. El movimiento del cursor está desactivado por defecto, aunque el gatillo tenga asignado un clic.
Play/Pause multimedia envía la tecla multimedia de Windows; no requiere enfocar MoveWindows ni el reproductor. Está pensado para controlar una reproducción en segundo plano mientras trabajas en otra aplicación. Windows y el reproductor deciden qué sesión recibe la orden: no controla simultáneamente todas las aplicaciones ni garantiza compatibilidad con cualquier página.
Play/Pause usa VK_MEDIA_PLAY_PAUSE mediante SendInput. Pista siguiente, anterior y Stop priorizan la sesión multimedia global y utilizan la tecla multimedia como respaldo.
F11, F, K, J, L, M y C son atajos de teclado, no controles multimedia globales. Necesitan el navegador/reproductor enfocado y dependen de cada sitio. F11 afecta a la ventana del navegador; F suele alternar el modo de vídeo a pantalla completa en reproductores compatibles.
Abre Botones → Puntero del ratón. Activa el movimiento solo si lo quieres utilizar, ajusta suavizado y velocidad relativa, y guarda los cambios.
- Mayor suavizado estabiliza el puntero, con una respuesta más amortiguada.
- La velocidad modifica el movimiento relativo. En apuntado absoluto se utiliza la posición de pantalla obtenida con la calibración.
- Calibrar movimiento necesita dejar el mando quieto para estimar el sesgo de los sensores.
- Calibración de ratón de 12 puntos abre un asistente a pantalla completa. Apunta al objetivo, pulsa Move o el gatillo y suelta antes del siguiente. Esc cancela sin sustituir la calibración anterior.
El perfil Desktop está preparado para control por movimiento. La calibración se guarda por mando. Repite el asistente si cambias la postura o disposición de pantallas. El apuntado utiliza sensores inerciales, no seguimiento óptico con cámara: puede necesitar recentrado y no equivale a un sistema de posicionamiento absoluto sin deriva.
El panel Luz y batería incluye color fijo, brillo, modo multicolor suave, encendido/apagado manual y apagado por inactividad. Guarda los ajustes para conservarlos.
Por defecto el LED permanece activo durante el uso de botones y se apaga 30 segundos después de la última actividad de botón. Cualquier botón lo vuelve a encender. El multicolor recorre el espectro continuamente durante unos 12 segundos, sin saltos discretos entre colores.
El protocolo PS Move comunica niveles discretos, no un porcentaje continuo:
| Indicación | Significado |
|---|---|
| <20% | Nivel bajo |
| 20–39%, 40–59%, 60–79%, 80–99% | Tramo comunicado por el mando |
| 100% | Estado lleno |
| Cargando | Carga activa; no se inventa un porcentaje |
| — | Sin lectura reciente o nivel desconocido |
Que un tramo dure bastante tiempo es normal. La barra es una representación del nivel comunicado, no una medición más precisa. Al desconectar o perder datos recientes, se oculta la batería anterior.
Por debajo del 60%, MoveWindows limita progresivamente el brillo efectivo y la vibración sin alterar los valores guardados. El brillo elegido se recupera cuando se informa carga activa o al menos 60%.
En Ajustes, el ahorro del mando está habilitado por defecto con 180 segundos (3 minutos). Tras ese tiempo sin botones, gatillo ni movimiento deliberado, la aplicación solicita a Windows desconectar el enlace Bluetooth. Es configurable y no elimina el emparejamiento. No se aplica si el mando también está conectado por USB ni durante su búsqueda.
Para volver a usar un mando apagado, pulsa PS; la aplicación sigue buscando. El apagado físico y su comportamiento exacto dependen del mando/adaptador. La autonomía y el ciclo físico completo de apagado/reanudación todavía no se han medido en 0.2.0; no se promete una duración adicional concreta.
Con la opción de bandeja activada, minimizar o cerrar la ventana mantiene la aplicación funcionando. Clic secundario sobre su icono permite abrir Ajustes, Buscar mi mando, Detener búsqueda y Salir.
La búsqueda ofrece cada mando conectado por separado. El seleccionado enciende el LED y pulsa la vibración. Pulsar cualquier botón lo marca como encontrado y detiene la búsqueda, sin ejecutar la acción asignada a esa pulsación. También puedes detenerla manualmente.
No puede despertar ni localizar un mando apagado o fuera de alcance. No se muestran notificaciones emergentes de Windows. Si desactivas la bandeja y guardas el ajuste, cerrar la ventana termina la aplicación. Ejecutarla dos veces muestra la ventana existente.
Multimedia, teclado y ratón no necesitan instalar un driver adicional. Xbox virtual sí requiere el backend opcional VIIPER / usbip-win2, disponible desde Ajustes → Opciones avanzadas y ayuda.
- Xbox Controller: usa un Move para un mando Xbox 360 virtual.
- Dual Move: selecciona dos Moves distintos, asigna izquierda/derecha y pulsa combinar. Ambos alimentan un único mando Xbox 360.
- Separar mando seleccionado restaura perfiles independientes y conserva los colores.
- Mientras un mando esté combinado, los cambios de perfil/mapeo individual están bloqueados para evitar ajustes que no se aplicarían. El perfil combinado avanzado se edita en JSON; no hay un editor visual completo para todos los controles duales.
Los componentes externos se validan contra versiones y hashes fijados, y los instaladores contra firma y editor esperado. La instalación puede pedir UAC o un reinicio. HidHide es opcional para casos de doble entrada, no es necesario para el uso básico.
MoveWindows no deshabilita Secure Boot, comprobación de firmas, integridad de memoria ni Windows Security. Consulta el backend virtual y las licencias de terceros.
Los perfiles incluidos son Media Remote, Desktop, Xbox Controller y Dual Move. La interfaz traduce sus nombres; los nombres internos JSON se conservan para mantener compatibilidad. Los perfiles JSON permiten configuraciones avanzadas, incluidas macros; no hay editor visual de macros en esta versión.
Los datos se guardan bajo %LOCALAPPDATA%\MoveWindows:
Data/Settings.json idioma y ajustes generales
Data/Controllers/*.json configuración por mando
Data/Profiles/*.json acciones, movimiento y macros
Data/Calibration/* calibración por mando
Data/CombinedControllers/*.json combinaciones Dual Move
Logs/MoveWindows.log diagnóstico local
Las escrituras son atómicas y se serializan los guardados concurrentes. El JSON corrupto se conserva como *.corrupt-*.bak antes de restaurar valores seguros. Un archivo temporalmente bloqueado no se clasifica como corrupto.
Olvidar mando, en opciones avanzadas, elimina sus datos locales y calibraciones; no elimina el emparejamiento de Windows ni cambia la dirección host guardada en el Move. Si sigue conectado puede volver a descubrirse. Los perfiles compartidos no se borran al olvidar un mando.
Exportar diagnóstico reúne información relevante para soporte. Puede contener identificadores de dispositivos y rutas locales: revísalo y oculta esos datos antes de adjuntarlo a una issue pública. La aplicación no lo envía automáticamente.
La revisión 0.2.0 incluye 89 comprobaciones de regresión reproducibles: batería ZCM1/ZCM2, carga, LED, diálogos de mapeo, composición WPF español/inglés, persistencia, pulsaciones rápidas, teclas compartidas, macros y desconexión.
La prueba física de esta revisión confirmó detección USB y reconexión Bluetooth de un ZCM1, estado de carga y lectura 60–79%, además de segunda instancia y cierre limpio. Los dispositivos e inyección de las pruebas automáticas son simulados y no sustituyen la aceptación física.
Pendiente de validar de nuevo: Play/Pause audible en Edge/Spotify, apagado físico a los tres minutos, autonomía y dos mandos físicos con Xbox. La inyección de teclado/ratón está sujeta a las restricciones de privilegios de Windows. Evita mantener la misma tecla a la vez desde una macro y un mapeo manual.
Informe de pruebas · Revisión y pendientes · Ayuda técnica
Necesitas Windows x64 y .NET 8 SDK x64. Visual Studio es opcional si ya tienes el SDK. Ejecuta:
BUILD_RELEASE.batEl script restaura dependencias, compila, ejecuta las regresiones, publica el runtime autocontenido y empaqueta documentación, perfiles, componentes disponibles y checksums.
Salidas: dist/MoveWindows_Portable_x64/, dist/MoveWindows_Portable_x64.zip y dist/MoveWindows_Portable_x64.zip.sha256.
Para ejecutar solo las comprobaciones:
dotnet run --project tests/MoveWindows.RegressionTests -c ReleaseLas pruebas usan directorios aislados: no envían teclas reales, no instalan drivers ni reemplazan la configuración personal. La CI de GitHub también las ejecuta. Persisten advertencias de compilación, principalmente de nulabilidad en código recuperado.
Los binarios de terceros no están en Git. La release oficial incluye las copias autorizadas; una compilación desde código y los artefactos de CI no los descargan automáticamente. Para empaquetar Xbox, coloca los componentes verificados en vendor/Drivers y vendor/ThirdParty siguiendo su documentación.
src/MoveWindows aplicación, arranque y bandeja
src/MoveWindows.Core modelos y contratos
src/MoveWindows.Hid transporte y reports PS Move
src/MoveWindows.Bluetooth adaptador y emparejamiento
src/MoveWindows.Input teclado, ratón y multimedia
src/MoveWindows.Motion sensores y calibración
src/MoveWindows.Mapping asignaciones y Dual Move
src/MoveWindows.Macros ejecución de macros
src/MoveWindows.Profiles persistencia JSON
src/MoveWindows.VirtualController backend Xbox y verificación
src/MoveWindows.Services coordinación, hotplug y LED
src/MoveWindows.UI interfaz WPF y traducciones
tests/MoveWindows.RegressionTests pruebas reproducibles
config/Profiles perfiles iniciales
tools/Build-Release.ps1 compilación y empaquetado
docs guías, pruebas y material visual
Arquitectura · Emparejamiento · Investigación
Código propio bajo licencia MIT: LICENSE. Consulta THIRD_PARTY_NOTICES.md para componentes externos.
Creado por Marc Piqué. La imagen de presentación es una ilustración promocional generada a partir de la identidad visual anterior; prompt y procedencia.
MoveWindows es un proyecto no oficial, sin afiliación con Sony Interactive Entertainment ni Microsoft. PlayStation, PS Move, Windows y Xbox son marcas de sus respectivos propietarios.
