BetterJoy

Allows the Nintendo Switch Pro Controller, Joycons and SNES controller to be used with CEMU, Citra, Dolphin, Yuzu and as generic XInput

OTHER License

Stars
3.9K

Bot releases are visible (Hide)

BetterJoy - Version 7.1 - Hotfix Latest Release

Published by Davidobot almost 3 years ago

Fixes config reading not working when the locale is set to countries whereby the floating-point delimiter is a , (rather than the US' .)

Thanks, @BurndiL ! I would have been scratching my head for a while

BetterJoy - Version 7 - 3rd Party Support + Fixes

Published by Davidobot almost 3 years ago

Lots of changes - specific list in the commits - but the summary:

  • 3rd party controller support - not perfect, so check the issues tab for hints/tips/trick; done via the "Add Controllers" button
    • can change default calibration for 3rd party controller in the config file: acc_sensiti, gyr_sensiti etc.. (useful for gyro/sticks not working as expected)
  • Implemented gyro-to-joystick
  • Significantly improved gyro-to-mouse accuracy/stability by using a DCM filter
  • Added option to double click sticks to change joycon orientation (split or join)
  • Added "DoNotRejoinJoycons" setting that allows you to use two joycons (or more) separately while in vertical mode
  • Updated ViGEm drivers
  • Fixed DS4 mappings
  • Fixed bug with keyboard being messed up by bumping WindowsInput version
  • Fixed hidapi.dll not loading for some people (mainly older versions of Windows)

This version has been out and about for some time in the issues page as various zips, so I decided to finally release it officially. Enjoy!

BetterJoy - Version 6.4β - Quick Fix

Published by Davidobot almost 4 years ago

Primarily dropping to fix the window not popping up for some people.

Changes:

  • Low battery notification
  • Mappable shake input @shukenmg
  • Fix accelerometer axis to have correct data for orientation @german77

Single zip for all bit-ness too, courtesy of @shukenmg

BetterJoy - Version 6.4α - Even Less Lag™, Gyro Toggle, Rumble Fix

Published by Davidobot about 4 years ago

An alpha (α) release of v6.4 - primarily to push the improved rumble out. This version gets rid of the annoying high-pitched rumble sounds that occurred at certain amplitudes.

α is because there is an "Add Controllers" option that hasn't been fully tested, but should allow (at least in theory) to add 3rd party Joycons and Pro Controllers.

BetterJoy - Version 6.3 - Gyro Trigger Inputs, Less Lag

Published by Davidobot over 4 years ago

  • Added ability to map gyro to analogue trigger inputs
  • Added checks to forbid running multiple instances of the program
  • Fixed input lag
    • thanks @RobertBorg
  • Added ability to specify inactivity timeout period (default: 30 mins)
BetterJoy - Version 6.2 - fixed input lag, convenient power-off, bug fixes

Published by Davidobot over 4 years ago

  • Rumble motor fix
  • Added power off options
    • thanks andreabak
    • default: hold home button for 2 seconds
    • option to turn off automatically after program close
  • Fixed input lag for USB and BT
BetterJoy - Version 6.1 - DS4 emulation, Bugfixes, Name Change

Published by Davidobot over 4 years ago

Mostly bug-fixes and QoL

  • Fixed rumble lag introduced in v6 but not present in v5
  • Added DS4 emulation
  • Changed driver installation process to be a lot more pain-free
  • Fixed joycon-to-joycon mapping
  • Name change to BetterJoy
  • Implemented activate-gyro button
  • Bugfixes
BetterJoy - Version 6 - SNES, Re-Mapping, Gyro-as-Mouse, QoL

Published by Davidobot over 4 years ago

Huge update. Rightfully so - the last version was out 1.5 years ago.

  • Added option from starting the application minimized to tray
  • Fixed gyro drift on some controllers
  • Added option to config to remove affected devices at application shutdown
    • Should prevent any more issues of the controller being unusable after the program (even though this can be fixed if you read the README)
  • Added battery level indicator by changing background colour of respective controller icon
  • Fixed multi-joycon lag
  • Allow for more than one pair of joycons to be joined up
  • Fixed stick casting overflow
  • Separated swap buttons into swapAB and swapXY; hid BetterJoy from Alt+Tab when minimised
  • Added way to automatically enumerate options and enable to control them directly from the UI. Any further options can be supported.
    • Click the arrow to open config panel.
    • thanks StarryTony
  • Fixed joycon LED bug and minimising behaviour.
  • Added option to calibrate gyroscope for 3rd (and 1st) party controllers.
    • Experimental - only supports pro controllers at the moment
    • thanks xqdoo00o
    • see NonOriginalController option
  • Fixed exception when pressing Add Controllers button
  • Added the ability to toggle the HOME button ring LED on and off
  • Perform null check on enumerate.serial_number. Caused by Mayflash Dolphinbar and nonOriginal selected
  • Added a way to use single joycon in vertical mode
    • with a single joycon attached, click on the icon to change its orientation
  • Added Switch SNES controller support
  • Added option to use gyro input as mouse input
    • works quite well actually! It's a bit like playing Wii!
    • with left-handed mode
  • Improved start-up and shut-down time
    • improves usability immensely
  • Added option to disable motion server
  • Fixed USB lag (hopefully)
  • Added option to remap special buttons to keybindings
BetterJoy - Version 5 - Passive Scanning, Single Joycon Mode, QoL

Published by Davidobot about 6 years ago

Quite a big update feature lots of quality of life improvements that make the program actually usable in my opinion.

  • Progressive scanning
    • You can keep BetterJoyForCemu running and just connect controllers to your PC - it will detect them.
  • UI rework
    • Buttons for locating controllers through vibration
    • Click on the joycon controller buttons to toggle single/joint Joycon mode.
  • Improved rumble
  • Added options to turn off HidGuardian and XInput emulation
    • Allows BetterJoy to be used exclusively for gyro (for example when using Citra + Steam)
  • Improved driver install batch files (thanks BetaLeaf)
  • General system stability improvements to enhance the user's experience
BetterJoy - Version 4 - GUI and HidGuardian

Published by Davidobot over 6 years ago

Reworked the program to have a GUI.

If you have used a previous version of BetterJoyForCemu, please uninstall that driver before installing this version's

After installation - connect your controllers and then run BetterJoyForCemu - this will add the controllers to the Windows devices blacklist. First time running, everything might glitch out - worry not though. Once BetterJoy starts up, close it normally and restart your computer.

Added HidGuardian support.

  • Weird jittering / Windows / steam glitching shouldn't happen anymore
  • Streamlined driver install process
  • Installs HidGuardian as a Windows process - don't move the BetterJoyForCemu folder after installation without uninstalling first.
BetterJoy - Version 3b - XInput and Rumble Support

Published by Davidobot over 6 years ago

Added XInput Support using ViGEm.

  • Rumble support
  • Ability to rebind keys
  • No longer need to use "Also use for axes/buttons"
  • System-wide compatibility (use your Joycons with Steam, or something)
  • Requires ViGEm driver (provided in release)

v3a

  • Added more app settings
    • Ability to disable rumble (on request of DieKloeteCH)
    • Option to swap A-B and X-Y (on request of Paul)
  • CemuHook gets fed correct data about the kind of connection the controller is on

v3b

  • Fixed button swap not working for Joycons
BetterJoy - Version 2c - Joycon Support

Published by Davidobot over 6 years ago

  • Added Joycon support

    • Exposes two CemuHook controllers - both have all the buttons, selecting one or the other will just pick whether to use the right or left Joycon for the motion controls
    • Make sure both controllers are connected beforehand
  • Further gyro fixes

  • Code cleanup

  • Reached a total of 600 downloads on all versions! (before wiping 2.0b in favour of 2.0c)

BetterJoy - Version 1.51b - USB Support and no shaking

Published by Davidobot over 6 years ago

Changelog:

  • Added USB support
  • Eliminated gyro shaking
  • Improved Bluetooth support
    • It's no longer necessary to completely remove and then reconnect the pro controller from your Bluetooth devices when you turn it off
    • Pro controller reconnects to computer normally now
  • Added 32-bit release
  • v1.51
    • More gyro fixes (runs at max UDP now - as precise as one can get)
    • Especially noticeable in USB mode
    • Recompiled hidapi.dll to improve compatibility
BetterJoy - Version 1

Published by Davidobot over 6 years ago

First version - 64-bit only. Shaky gyro but it works.