Skip to content

Releases: JibbSmart/JoyShockLibrary

JoyShockLibrary 3.0

02 Apr 16:04
Compare
Choose a tag to compare

JoyShockLibrary reads DualSense, DualShock 4, JoyCon, and Pro Controller input. Use this to add native support for these controllers to your games.

Version 3 improves thread safety and JslConnectDevices behaviour so it can be called without resetting current connections. It also improves auto calibration and adds features to help with getting high resolution, useful gyro input. It also includes a bunch of new quality of life features.

Look for these new functions in the README:

  • JslSetGyroSpace (gyro options that adapt to player's preferred controller orientation)
  • JslGetAndFlushAccumulatedGyro (get complete gyro motion even when polling at low rates)
  • JslSetConnectCallback
  • JslSetDisconnectCallback
  • JslGetTimeSinceLastUpdate
  • JslGetControllerInfoAndSettings
  • JslGetAutoCalibrationStatus

Also see the description for JslConnectDevices to see how you can use it when you detect new devices are connected (eg WM_DEVICECHANGE on Windows).

This update also addresses bugs in the gravity and quaternion calculations with some devices.

JoyShockLibrary 2.2.3

09 Mar 13:35
Compare
Choose a tag to compare

JoyShockLibrary reads DualSense, DualShock 4, JoyCon, and Pro Controller input. Use this to add native support for these controllers to your games.

Version 2 adds a sensor fusion solution to help calculate orientation and separate gravity and acceleration. It also includes touchpad support for PlayStation controllers.

This minor update fixes one last issue with the quaternion in MOTION_STATE rounding out very small rotations to nothing.

JoyShockLibrary 2.2.2

09 Mar 07:20
Compare
Choose a tag to compare

JoyShockLibrary reads DualSense, DualShock 4, JoyCon, and Pro Controller input. Use this to add native support for these controllers to your games.

Version 2 adds a sensor fusion solution to help calculate orientation and separate gravity and acceleration. It also includes touchpad support for PlayStation controllers.

This minor update fixes an issue with the quaternion in MOTION_STATE rounding out very small rotations to nothing.

JoyShockLibrary 2.2.1

06 Mar 14:53
Compare
Choose a tag to compare

JoyShockLibrary reads DualSense, DualShock 4, JoyCon, and Pro Controller input. Use this to add native support for these controllers to your games.

Version 2 adds a sensor fusion solution to help calculate orientation and separate gravity and acceleration. It also includes touchpad support for PlayStation controllers.

This minor update fixes an issue with the MOTION_STATE quaternion by using an updated version of GamepadMotionHelpers.

JoyShockLibrary 2.2.0

08 Feb 06:51
Compare
Choose a tag to compare

JoyShockLibrary reads DualSense, DualShock 4, JoyCon, and Pro Controller input. Use this to add native support for these controllers to your games.

Version 2 adds a sensor fusion solution to help calculate orientation and separate gravity and acceleration. It also includes touchpad support for PlayStation controllers.

This update adds improved support for PlayStation controllers, fixing Bluetooth gyro behaviour with the DualShock 4 (which was working for only for some users previously) and adding Bluetooth support for DualSense. Thanks to Robin for making these improvements!

JoyShockLibrary 2.1.0

17 Nov 05:38
Compare
Choose a tag to compare

JoyShockLibrary reads DualSense, DualShock 4, JoyCon, and Pro Controller input. Use this to add native support for these controllers to your games.

Version 2 adds a sensor fusion solution to help calculate orientation and separate gravity and acceleration. It also includes touchpad support for PlayStation controllers.

This minor feature update adds experimental support for the PS5's DualSense controller, but only when connected by USB.

JoyShockLibrary 2.0.2

20 Oct 02:22
Compare
Choose a tag to compare

JoyShockLibrary reads DualShock 4, JoyCon, and Pro Controller input. Use this to add native support for these controllers to your games.

Version 2 adds a sensor fusion solution to help calculate orientation and separate gravity and acceleration. It also includes touchpad support for the DualShock 4.

This bug-fix should make the motion state work correctly even if a callback hasn't been set.

JoyShockLibrary 2.0.1

14 Sep 04:17
Compare
Choose a tag to compare

JoyShockLibrary reads DualShock 4, JoyCon, and Pro Controller input. Use this to add native support for these controllers to your games.

Version 2 adds a sensor fusion solution to help calculate orientation and separate gravity and acceleration. It also includes touchpad support for the DualShock 4.

This bug-fix corrects the accelerometer and gravity axes of the right Joy-Con, which was behaving differently to other controllers.

JoyShockLibrary 2.0.0

31 Aug 08:15
Compare
Choose a tag to compare

JoyShockLibrary reads DualShock 4, JoyCon, and Pro Controller input. Use this to add native support for these controllers to your games.

Version 2 adds a sensor fusion solution to help calculate orientation and separate gravity and acceleration. It also includes touchpad support for the DualShock 4.

This version breaks backwards compatibility with previous versions! The gyro and accelerometer axes have been changed to be consistent with each other. When upgrading to this version, if you are using the gyro and/or accelerometer data and don't want behaviour to change, please:

  • Invert Gyro X
  • Swap Accel Z and Y
  • Then invert Accel Z

JoyShockLibrary 1.2.1

16 Jul 09:15
Compare
Choose a tag to compare

JoyShockLibrary reads DualShock 4, JoyCon, and Pro Controller input. Use this to add native support for these controllers to your games.

This update fixes Switch accelerometer axes being inconsistent with DualShock 4. DualShock 4 behaviour should be the same, but Switch will be different. This will change behaviour if you were using the accelerometer for Switch controllers in previous versions, but since no one reported another bug fixed in the previous version -- some Switch accelerometer reports were zeroes -- my guess is you probably weren't.