Jump to content


DS4Windows 3.3.3


¿Quieres enterarte al momento de las nuevas descargas? Síguenos en Twitter o Mastodon!

DS4Windows es una aplicación que nos permite obtejer la mejor experiencia posible con el DualShock 4 en PC gracias a que emula como si fuese un controlador de Xbox 360, haciendo los juegos mucho más accesibles.

Este proyecto es un fork del trabajo de Jays2Kings.

in-ps4-ds4windows-204-disponible-1.jpg

ds4winwpf_screen_20190926.png

Requisitos de DS4Windows

  • Windows 7 SP1 o superior
  • Microsoft .NET 4.6.2 or superior (necesariio para descomprimir el driver para que los macros funcionen debidamente)
  • Visual C++ 2015-2019 Redistributable. x64 o x86
  • ViGEmBus driver (DS4Windows lo instalará por ti)
  • Microsoft 360 Driver
  • Sony DualShock 4
  • Método de conexión:
    • Cable Micro USB
    • Adaptador inalámbrico de Sony
    • Bluetooth 4.0 (via adaptador o incluído con el PC). Solo tiene soporte para Microsoft BT. CSR BT stack is confirmed to not work with the DS4 even though some CSR adapters work fine using Microsoft BT stack. Toshiba's adapters currently do not work.
  • Desactivar soporte de configuración y Xbox en las opciones de Steam.

Guía del usuario

Después de completar la configuración inicial de los controladores y dependencias necesarias, se le presenta la pestaña principal de DS4Windows, controladores.

Pestaña de controladores

Aquí se muestran todos los controladores conectados. Al pasar el ratón por encima del ID del controlador se mostrará el retardo de entrada del controlador en cuestión.

La casilla Vincular perfil/ID permite vincular un perfil específico a un determinado ID de controlador, de modo que cuando se conecte el controlador la próxima vez se le aplicará siempre el perfil seleccionado. Esto es útil si utiliza más de un controlador. El botón de edición le llevará a la pestaña Perfiles para editar el Perfil seleccionado. También puede utilizar el menú desplegable para crear un nuevo perfil.

Perfiles

La pestaña Perfiles muestra todos los perfiles creados. Los perfiles se pueden utilizar para asignar diferentes ajustes a su controlador para diferentes circunstancias. Además de crear nuevos perfiles, editarlos, renombrarlos y eliminarlos, también puedes importar otros perfiles y exportar los tuyos para compartirlos con tus amigos. Al crear un nuevo perfil, se recomienda utilizar una opción preestablecida. Para el método de salida, si usas un DS4, elige DualShock 4. Si utilizas una Xbox, Switch Pro u otro mando estándar, se recomienda elegir Xbox 360.

En la pantalla resultante es donde puedes personalizar completamente el nuevo perfil.

  • La pestaña de Controles es para reasignar las salidas de los botones del controlador. Para abrir la página de abajo, haga clic en el botón deseado para reasignar en la imagen del controlador. A continuación, seleccione la nueva salida deseada para esa entrada.
  • La pestaña Acciones especiales permite crear acciones que se activan cuando se pulsa un botón o una combinación de botones.
  • La pestaña Lecturas del Controlador ofrece una lectura en vivo de los datos de los joysticks que se transmiten a DS4Windows
  • La pestaña Axis Config permite ajustar la configuración de los joysticks y ajustar parámetros como la zona muerta y la sensibilidad.
  • La pestaña Lightbar permite cambiar el color de la barra de luces de los mandos DualShock 4.
  • La pestaña Touchpad permite configurar el panel táctil de los mandos DualShock 4 para que salga como movimiento del ratón o del mando.
  • La pestaña Giroscopio contiene la configuración del giroscopio y permite asignar comandos específicos a determinadas acciones de matización.
  • La pestaña Otros contiene la configuración del mando que se está emulando, el porcentaje de rumble y la tasa de sondeo.

Problema de detección del dispositivo

Si su DS4 no es detectado por DS4Windows y la barra de luces sigue parpadeando en amarillo, existe la posibilidad de que el Modo Exclusivo haya desactivado permanentemente su DS4 en Windows. La forma más fácil de comprobar si esto ha sucedido es que conectes el controlador en un puerto USB diferente y veas si funciona entonces. Aunque este problema afectaba principalmente a las versiones más antiguas de DS4Windows (textos escritos después de la versión 1.5.15) por diversas razones, otros programas de mapeo pueden provocar el mismo problema.

Si sospecha que su DS4 ha sido deshabilitado, abra el Administrador de Dispositivos (Panel de Control\NHardware y Sonido\NAdministrador de Dispositivos) y busque los dispositivos listados bajo la ruta "Human Interface Devices\HID-compliant game controller".

Ejemplo de dispositivo desactivado

Si el icono que se muestra para un dispositivo tiene un icono de flecha hacia abajo, debe comprobar la ruta de la instancia del dispositivo y ver si el dispositivo es un dispositivo DualShock 4. Haz clic con el botón derecho del ratón en el dispositivo y selecciona "Habilitar dispositivo" en el menú. Eso volverá a habilitar el dispositivo y será visto por las aplicaciones de nuevo.

Desactivar la compatibilidad con el mapeo del mando de Steam

Con las recientes actualizaciones del cliente de Steam en el momento de escribir esto (2018-12-13), Steam ha habilitado el soporte de configuración de Xbox en el cliente de Steam por defecto. Lo que esto significa es que Steam mapeará automáticamente un mando de Xbox 360 detectado a las vinculaciones KB+M inicialmente (Modo Escritorio) antes de lanzar el Modo Big Picture de Steam o lanzar un juego. Esto presenta un problema para DS4Windows, ya que el mando virtual Xbox 360 creado será mapeado a acciones KB+M para el modo escritorio y los juegos lanzados fuera del cliente Steam. Para utilizar DS4Windows correctamente, tienes que abrir el Modo Big Picture de Steam, navegar a Configuración > Mando> Configuración del Mando y desmarcar la opción de Soporte de Configuración de Xbox junto con la de Soporte de Configuración de PlayStation.

DS4Windows es una aplicación creada por Ryochan7.


Que novedades incluye la versión 3.3.3

Released

  • Corregida la rutina de perfil automático cuando no existe un dispositivo para una ranura de entrada.
  • Actualización de la traducción al portugués. Contribución de Denellyne
  • Cerrar las instancias de ProfileMigration en las pruebas unitarias al finalizar
  • Eliminada la clase Net8NoticeWindow no utilizada
  • Corregida la comprobación de migración de zona muerta de Jays2Kings stick. Trasladar elección de zona muerta no nula.

No te pierdas nada, síguenos en Twitter o Mastodon!
¿Tienes alguna duda, petición o aporte? Utiliza el foro!

  • Contenido similar

    • Por Dekuwa
      eFootball FPS Limit Patcher es una aplicación para Windows que nos permite cambiar el límite de frames por segundo de eFootball a la cifra que queramos.

       
      Instalación
      Descargamos la aplicación, la descomprimimos y copiamos el archivo "eFootball-FPS-Limit-Patcher.exe" donde tenemos el ejecutable del juego, que normalmente está en la ruta: X:\Steam Games\steamapps\common\eFootball\eFootball\Binaries\Win64 Ejecutamos la aplicación como administrador Elegimos los nuevos FPS que queremos fijar como límite Hacemos click en "Patch" y cerramos. Ejecutamos el juego. Notas
      Funciona con todas las versiones de eFootball, desde la 1.0.0 hasta la 2.5.1 Requiere Windows 10 o superior eFootball FPS Limit Patcher ha sido creada por Cadi Lillian.
    • Por Dekuwa
      ePatch es un parche para la versión de PC de eFootball, el nuevo juego de fútbol de Konami.

      Principales características del parche
      Solo compatible con la versión de Steam. Actualizados los escudos de todos los clubs con los reales a alta calidad. Actualizados los logos de todas las competiciones. El logo de las repeticiones ha sido sustituido por uno de la FIFA. Añadidas nuevas animaciones de los tablones de publicidad. Actualizados todos los mini-kits de los clubs y selecciones nacionales. Reemplazada la intro azul y amarilla por la de Messi de 2024. Reajustados los kits de todos los equipos. Compatible con los modos online y offline. Añadidos las equipaciones 23/24 para estos clubs de la Premier League: Manchester City Liverpool Chelsea Newcastle Tottenham West Ham Everton Aston Villa Fulham Wolverhampton Brighton Añadidas las equipaciones 23/24 para estos clubs de LaLiga: Sevilla Villareal Real Madrid Atletico Madrid Valencia Real Sociedad Athletic Bilbao Real Betis Celta Vigo Real Mallorca Osasuna Getafe Añadidas las equipaciones de la temporada 23/24 de estos clubs de la liga italiana:
      Juventus
      Udinese
      Fiorentina Bologna Empoli  Torino Añadidos las equipaciones 23/24 de los clubes brasiseños Palmeiras y Flamengo. Añadidas las equipaciones 23/24 del Inter Miami Añadidos las equipaciones 23/24 de las siguientes selecciones nacionales: Moroco Egypt Senegal Saudi Arabia Mexico Tunisia Algeria Uruguay Colombia Chile USA Nigeria

      Como instalar ePatch 2023
      Antes de empezar con el proceso de instalación es altamente recomendable hacer una copia de seguridad de estos archivos de nuestro juego:
      dt200_console_all.cpk pc3607_console_win.pak pc3607_console_win.ucas pc3607_console_win.utoc pc0101_console_win.pak pc0101_console_win.ucas pc0101_console_win.utoc pc7000_console_win.pak pc7000_console_win.ucas pc7000_console_win.utoc Posteriormente, pasamos instalar el parche:
      Descargamos el parche desde aquí mismo de forma completamente gratuita. Copiamos las carpetas cpk yu pak al directorio de instalación de nuestro juego, que por defecto es C:/Steam Games/steamapps/common/eFootball. Reemplazamos los archivos cuando nos pregunte el sistema. Listo, ya podemos jugar con el parche aplicado. El parche ha sido creado por Mody_99, Endo y Cadi Lilian.
    • Por Dekuwa
      eFootball FPS Unlocker es una parche para la versión PC de eFootball que nos permite desbloquear la tasa de frames por segundo y evitar el bloqueo a 60fps que impone Konami.
      Lógicamente el aumento de la tasa de FPS dependerá de las capacidades de nuestro ordenador y de la configuración gráfica que tengamos en el juego.
      Para instalar el eFootball FPS Unlocker tan solo tenemos que descargar el archivo desde aquí mismo de forma completamente gratuita, descomprimirlo y copiar el archivo .exe a la carpeta Win64 del juego. Listo.
      El parche ha sido creado por bogo36.
    • Por Dekuwa
      Sider es un programa complementario para PES 2021 y PES 2021 Lite. Permite realizar pequeños ajustes, como la "selección lateral libre" (de donde viene el nombre de sider) y la ampliación del tiempo para la versión de demostración. También facilita los mods del juego, creados por la comunidad de modding. Las dos características principales son LiveCPK y el motor de scripting, donde puedes escribir tus propios mods en lenguaje de programación Lua.
      LiveCPK permite sustituir el contenido del juego en tiempo de ejecución por contenido de archivos almacenados en disco, en lugar de tener que empaquetarlo todo en archivos CPK. (Esta característica es similar al AFS2FS de Kitserver y al FileLoader de las primeras versiones de PES). Dependiendo de cómo y cuándo exactamente el juego lee los archivos reemplazados, puedes incluso editar en vivo algunas cosas, como texturas o modelos 3D, sin salir del juego.
      Si sabes un poco de programación, puedes escribir tu propia lógica de juego utilizando el motor de scripting de Sider. Esto requiere un poco de lectura y comprensión de cómo funciona el juego, pero en realidad no es tan difícil 😉
      Cómo instalar Sider
      Mueva la carpeta que acaba de descomprimir del .7z descargado a un lugar donde su cuenta de usuario de Windows tenga todos los permisos. Le recomiendo encarecidamente que utilice una de estas ubicaciones estándar: Escritorio, Documentos o su directorio personal.
        A partir de la versión 6.3, sider no tiene dependencias externas, lo que significa que todo lo que sider necesita está incluido en su carpeta. No necesita instalar ningún software adicional para poder ejecutar sider. Debe tener al menos Windows 7 64-bit o más reciente (Sider no funcionará en XP/Vista).
      A veces la gente coge los archivos de sider y los mete en el directorio de Steam para PES 2021. No estoy del todo seguro de dónde surgió esa idea. Una posibilidad es un "conocimiento de arrastre" de cómo funcionaba Kitserver para los juegos PES de antigua generación. Sin embargo, en el caso de sider, no es una buena forma de organizar las cosas.
      De hecho, es una idea bastante mala, porque:
      mezclas archivos de sider con archivos del juego, y puede ser complicado recordar qué archivos pertenecen a sider y cuáles - al juego. Desinstalar sider entonces se hace más difícil. sider necesita crear el archivo sider.log y crear y actualizar varios archivos *.cache y *.ini. Si tiene problemas para hacerlo, debido a los permisos de la carpeta, puede dar lugar a errores y bloqueos. Steam puede necesitar/elegir "verificar" los archivos del juego, lo que puede provocar que algunos de los archivos sider se eliminen o se corrompan de alguna manera. Así que, en otras palabras, no lo hagas. No hay absolutamente ninguna necesidad de hacerlo.
      Cómo usar Sider
      Sider en sí no requiere privilegios de Administrador, debes ejecutarlo bajo tu cuenta normal - la misma que usarías para iniciar el juego sin Sider.
      El nuevo método de un solo clic está habilitado por defecto y es muy fácil: sólo tienes que ejecutar sider.exe, se abrirá una pequeña ventana, a continuación, se iniciará automáticamente el juego en sí, a continuación, la aplicación Sider se cerrará, pero el juego seguirá funcionando con el sider.dll cargado en él.
      La primera vez (o después de que Steam descargue un nuevo y actualizado PES2021.exe), habrá un pequeño retraso entre el lanzamiento de sider y el inicio del juego - quizás 5-10 segundos, ya que sider necesita analizar el proceso y encontrar lugares de enganche en la memoria. Sin embargo, la próxima vez que lo hagas, el juego debería iniciarse rápidamente (normalmente).
      Sider es una aplicación creada por juice.
    • Por Dekuwa
      El DualShock 4 de Sony PlayStation, el DualSense, los Joy-Cons de Nintendo Switch (usados por parejas) y el mando Pro de Nintendo Switch tienen mucho en común. Tienen muchas de las características que se esperan de los mandos de juego modernos. También tienen una entrada increíblemente versátil e infrautilizada que su mayor rival (el mando de la Xbox One de Microsoft) no tiene: el giroscopio.
      El objetivo con JoyShockLibrary es permitir a los desarrolladores de juegos soportar DS4, DS, Joy-Cons, y Pro Controllers de forma nativa en los juegos de PC. He compilado la biblioteca para Windows, pero utiliza herramientas agnósticas, y espero que otros desarrolladores puedan hacerla funcionar en otras plataformas (como Linux o Mac) sin demasiados problemas.
      Reference
      JoyShockLibrary.h has everything you need to use the library, but here's a breakdown of everything in there.
      Structs
      struct JOY_SHOCK_STATE - This struct contains the state for all the sticks, buttons, and triggers on the controller. If you're just using JoyShockLibrary to be able to use JoyCons, Pro Controllers, and DualShock 4s similarly to how you'd use other devices, this has everything you need to know.
      int buttons contains the states of all the controller's buttons with the following masks: 0x00001 - d-pad up 0x00002 - d-pad down 0x00004 - d-pad left 0x00008 - d-pad right 0x00010 - + on Nintendo devices, Options on DS4 0x00020 - - on Nintendo devices, Share on DS4 0x00040 - left-stick click on Nintendo devices, L3 on DS4 0x00080 - right-stick click on Nintendo devices, R3 on DS4 0x00100 - L on Nintendo devices, L1 on DS4 0x00200 - R on Nintendo devices, R1 on DS4 0x00400 - ZL on Nintendo devices, L2 on DS4 0x00800 - ZR on Nintendo devices, R2 on DS4 0x01000 - the South face-button: B on Nintendo devices, ⨉ on DS4 0x02000 - the East face-button: A on Nintendo devices, ○ on DS4 0x04000 - the West face-button: Y on Nintendo devices, □ on DS4 0x08000 - the North face-button: X on Nintendo devices, △ on DS4 0x10000 - Home on Nintendo devices, PS on DS4 0x20000 - Capture on Nintendo devices, touchpad click on DS4 0x40000 - SL on Nintendo JoyCons 0x80000 - SR on Nintendo JoyCons float lTrigger - how far has the left trigger been pressed? This will be 1 or 0 on Nintendo devices, which don't have analog triggers float rTrigger - how far has the right trigger been pressed? This will be 1 or 0 on Nintendo devices, which don't have analog triggers float stickLX, stickLY - left-stick X axis and Y axis, respectively, from -1 to 1 float stickRX, stickRX - right-stick X axis and Y axis, respectively, from -1 to 1 struct IMU_STATE - Each supported device contains an IMU which has a 3-axis accelerometer and a 3-axis gyroscope. IMU_STATE is where you find that info.
      float accelX, accelY, accelZ - accelerometer X axis, Y axis, and Z axis, respectively, in g (g-force). float gyroX, gyroY, gyroZ - gyroscope angular velocity X, Y, and Z, respectively, in dps (degrees per second), when correctly calibrated. Functions
      All these functions should be thread-safe, and none of them should cause any harm if given the wrong handle. If they do, please report this to me as an isuse.
      int JslConnectDevices() - Register any connected devices. Returns the number of devices connected, which is helpful for getting the handles for those devices with the next function.
      int JslGetConnectedDeviceHandles(int* deviceHandleArray, int size) - Fills the array deviceHandleArray of size size with the handles for all connected devices, up to the length of the array. Use the length returned by JslConnectDevices to make sure you've got all connected devices' handles.
      void JslDisconnectAndDisposeAll() - Disconnect devices, no longer polling them for input.
      JOY_SHOCK_STATE JslGetSimpleState(int deviceId) - Get the latest button + trigger + stick state for the controller with the given id.
      IMU_STATE JslGetIMUState(int deviceId) - Get the latest accelerometer + gyroscope state for the controller with the given id.
      int JslGetButtons(int deviceId) - Get the latest button state for the controller with the given id. If you want more than just the buttons, it's more efficient to use JslGetSimpleState.
      float JslGetLeftX/JslGetLeftY/JslGetRightX/JslGetRightY(int deviceId) - Get the latest stick state for the controller with the given id. If you want more than just a single stick axis, it's more efficient to use JslGetSimpleState.
      float JslGetLeftTrigger/JslGetRightTrigger(int deviceId) - Get the latest trigger state for the controller with the given id. If you want more than just a single trigger, it's more efficient to use JslGetSimpleState.
      float JslGetGyroX/JslGetGyroY/JslGetGyroZ(int deviceId) - Get the latest angular velocity for a given gyroscope axis. If you want more than just a single gyroscope axis velocity, it's more efficient to use JslGetIMUState.
      float JslGetAccelX/JslGetAccelY/JslGetAccelZ(int deviceId) - Get the latest acceleration for a given axis. If you want more than just a accelerometer axis, it's more efficient to use JslGetIMUState.
      float JslGetStickStep(int deviceId) - Different devices use different size data types and different ranges on those data types when reporting stick axes. For some calculations, it may be important to know the limits of the current device and work around them in different ways. This gives the smallest step size between two values for the given device's analog sticks.
      float JslGetTriggerStep(int deviceId) - Some devices have analog triggers, some don't. For some calculations, it may be important to know the limits of the current device and work around them in different ways. This gives the smallest step size between two values for the given device's triggers, or 1.0 if they're actually just binary inputs.
      float JslGetTriggerStep(int deviceId) - Some devices have analog triggers, some don't. For some calculations, it may be important to know the limits of the current device and work around them in different ways. This gives the smallest step size between two values for the given device's triggers, or 1.0 if they're actually just binary inputs.
      float JslGetPollRate(int deviceId) - Different devices report back new information at different rates. For the given device, this gives how many times one would usually expect the device to report back per second.
      void JslResetContinuousCalibration(int deviceId) - JoyShockLibrary has helpful functions for calibrating the gyroscope by averaging out its input over time. This deletes all calibration data that's been accumulated, if any, this session.
      void JslStartContinuousCalibration(int deviceId) - Start collecting gyro data, recording the ongoing average and using that to offset gyro output.
      void JslPauseContinuousCalibration(int deviceId) - Stop collecting gyro data, but don't delete it.
      void JslGetCalibrationOffset(int deviceId, float& xOffset, float& yOffset, float& zOffset) - Get the calibrated offset value for the given device's gyro. You don't have to use it; all gyro output for this device is already being offset by this vector before leaving JoyShockLibrary.
      void JslSetCalibrationOffset(int deviceId, float xOffset, float yOffset, float zOffset) - Manually set the calibrated offset value for the given device's gyro.
      void JslSetCallback(void(*callback)(int, JOY_SHOCK_STATE, JOY_SHOCK_STATE, IMU_STATE, IMU_STATE, float)) - Set a callback function by which JoyShockLibrary can report the current state for each device. This callback will be given the deviceId for the reporting device, its current button + trigger + stick state, its previous button + trigger + stick state, its current accelerometer + gyro state, its previous accelerometer + gyro state, and the amount of time since the last report for this device (in seconds).
      int JslGetControllerType(int deviceId) - What type of controller is this device?
      Left JoyCon Right JoyCon Switch Pro Controller DualShock 4 int JslGetControllerSplitType(int deviceId) - Is this a half-controller or full? If half, what kind?
      Left half Right half Full controller int JslGetControllerColour(int deviceId) - Get the colour of the controller. Only Nintendo devices support this. Others will report white.
      void JslSetLightColour(int deviceId, int colour) - Set the light colour on the given controller. Only DualShock 4s support this. Players will often prefer to be able to disable the light, so make sure to give them that option, but when setting players up in a local multiplayer game, setting the light colour is a useful way to uniquely identify different controllers.
      void JslSetPlayerNumber(int deviceId, int number) - Set the lights that indicate player number. This only works on Nintendo devices.
      void JslSetRumble(int deviceId, int smallRumble, int bigRumble) - DualShock 4s have two types of rumble, and they can be set at the same time with different intensities. These can be set from 0 to 255. Nintendo devices support rumble as well, but totally differently. They call it "HD rumble", and it's a great feature, but JoyShockLibrary doesn't yet support it.
      Known and Perceived Issues
      Bluetooth connectivity
      JoyShockLibrary doesn't yet support setting rumble and light colour for the DualShock 4 via Bluetooth.
      JoyCons and Pro Controllers can only be connected by Bluetooth. Some Bluetooth adapters can't keep up with these devices, resulting in laggy input. This is especially common when more than one device is connected (such as when using a pair of JoyCons). There is nothing JoyShockMapper or JoyShockLibrary can do about this.
      Gyro poll rate on Nintendo devices
      The Nintendo devices report every 15ms, but their IMUs actually report every 5ms. Every 15ms report includes the last 3 gyro and accelerometer reports. When creating the latest IMU state for Nintendo devices, JoyShockLibrary averages out those 3 gyro and accelerometer reports, so that it can best include all that information in a sensible format. For things like controlling a cursor on a plane, this should be of little to no consequence, since the result is the same as adding all 3 reports separately over shorter time intervals. But for representing real 3D rotations of the controller, this causes the Nintendo devices to be slightly less accurate than they could be, because we're combining 3 rotations in a simplistic way.
      In a future version I hope to either combine the 3 rotations in a way that works better in 3D, or to add a way for a single controller event to report several IMU events at the same time.
      Credits
      I'm Jibb Smart, and I made JoyShockLibrary.
      JoyShockLibrary uses substantial portions of mfosse's JoyCon-Driver, a vJoy feeder for most communication with Nintendo devices, building on it with info from dekuNukem's Nintendo Switch Reverse Engineering page in order to (for example) unpack all gyro and accelerometer samples from each report.
      JoyShockLibrary's DualShock 4 support would likely not be possible without the info available on PSDevWiki and Eleccelerator Wiki. chrippa's ds4drv was also a handy reference for getting rumble and lights working right away.
      This software also relies on and links signal11's HIDAPI to connect to USB and Bluetooth devices. Since HIDAPI is linked statically, .objs are included. Since .objs may need to be compiled with the same compiler version as the dll itself, HIDAPI itself is included in a .zip.
×
×
  • Crear nuevo...