New Feature Release - User Input! (Patreon)
Content
Hey Patrons! While things may have seemed a little quiet lately, we've actually been working on a bunch of exciting new features for yuzu! This time around, were introducing a complete rewrite of our user input management, which includes a totally revamped controller configuration UI, and a rewrite of the HID (Human Interface Device) backend!
This feature introduces many exciting improvements which should significantly improve your experience setting up and switching between input devices. This rewrite was led by the efforts of yuzu developer Morph, with help on the user interface design from Rei, and is based on original work from jroweboy.
The improvements with this release include:
- Overhauled "Controls" section with a brand new layout and theme-specific controller icons.
- Pro Controller is now the default controller instead of Dual Joycons.
- "Use Docked Mode" and "Joycons Docked" are no more, these are replaced by Docked/Undocked radio buttons under "Console Mode" and the Handheld Controller only selectable by Player 1.
- Input Devices are now selectable, with "Any", "Keyboard", or any controller connected through SDL. GC Controller input is captured under "Any".
- Selecting an SDL connected controller within the input devices combobox will map buttons and axis automatically, no setup required!
- Multiple controllers can be differentiated by their name and port number. For example: "XInput Controller 0", "XInput Controller 1", "PS3 Controller 0".
- Joystick range spinbox when analog sticks are used, thanks to ameerj for implementing this with #4330.
- Easily connect multiple players with the "Connected Controllers" checkboxes.
- Moved Joycon color selection to the Advanced tab.
- Fully implement DisconnectNpad.
- Fix a questionable implementation of SetSupportedNPadIdTypes.
- Consolidate all usages of InitNewlyAddedController.
- Implement styleset changed events and signal them on connecting and disconnecting controllers.
- Synchronize controller settings between the frontend and backend. This allows changes done by either the game (through HID service commands) or user (through the frontend) to be reflected accurately on both ends.
- Pokémon: Let's Go, Pikachu and Let's Go, Eevee will now go in game with Single Joycons!
This feature is now available to our Patrons in the latest Early Access builds of yuzu.
Take a look at it in action:
We've got a few more exciting improvements to this releasing coming very soon, so stay tuned!
As always thank you for your support, and stay safe!
- The yuzu development team