Releases: Valkirie/HandheldCompanion
Build 0.9.6.2
What's Changed
- Connected controller hotswap
- Windows11 visuals
- Localization support, languages available: English, French, Chinese (Simplified) and Chinese (Traditional).
- Credits to B-Core for Chinese translation
- Fix gyro drift
- Device width ratio multiplier taken into account for gyro horizontal movements
- 3D overlay models now include vibration motors
- Fix profile selection dropdown
- Fix update manager
- Various other improvements and minor fixes
Build 0.9.5.1
What's Changed
- OEM Handheld and emulated controller 3D overlay models
- Virtual trackpads overlay with multi touch
- Anti Deadzone for UMC selected joystick
- Basic generic device support (device tested with Surface Go 3 and OneXPlayer Mini)
- Various improvements and bugfixes
Build 0.9.2.0
How to install
- Download the installer below.
- Run the installer.
Once installation is complete, the installer will automatically start the frontend Handheld Companion
. From here you'll be able to install and start the Controller Service
. Once service is running, the frontend will let you manage the virtual controller and create or modify profiles.
Remarks
- This release supports Windows 10/11 only! (Intel/AMD 64-Bit)
- This release will install and deploy ViGEmBus and HidHide.
- This is a release candidate version compiled in both debug and release mode. Use release mode for better performance.
Features
- Implement support for emulating complete DualShock 4 (DS4 touchpad, DS4 Gyrometer and accelerometer)
- Implement support for emulating complete Xbox 360 gamepad.
- Implement support for motion controls via cemuhook for full compatibility with yuzu and cemu.
- Implement open-API to allow third party applications to communicate with Controller Service.
- Implement Universal Motion Control (UMC). Read more
Handheld Companion API
HandheldCompanion.exe profile
- --whitelist (Optional if present, application can access physical controller)
- --wrapper (Optional if present, application will rely on wrapper dll to translate directinput calls to xinput calls)
- --umc (Optional if present, will translate gyroscope to controls)
- --input (Optional value has to be within InputStyle)
- --trigger (Optional value has to be within GamepadButtonFlags)
- --steering (Optional value are 0 = Roll, 1 = Yaw)
- --inverthorizontal (Optional if present, gyroscope horizontal axis will be inverted)
- --invertvertical (Optional if present, gyroscope vertical axis will be inverted)
- --exe (Required path to executable)
ControllerHelper.exe profile --wrapper --umc --input=1 --trigger=65536 --exe="C:\Users\benja\AppData\Local\Playnite\Playnite.DesktopApp.exe"
HandheldCompanion.exe device
- --cloak (Optional if present, cloak the physical controller)
- --mode (Required value has to be within HIDmode)
ControllerHelper.exe device --cloak --mode=1
HandheldCompanion.exe service
- --action (Required value has to be within ProfileServiceAction)
ControllerHelper.exe service --action="install"
What's Changed
- push toast when application is started as user and on wrapper use by @Valkirie in #37
- Inclinometer functionality based on accelerometer gravity vector by @CasperH2O in #38
- Steering code cleanup by @CasperH2O in #46
- Implement new UI by @Valkirie in #44
- more work on UI by @Valkirie in #52
- UI tweaks by @CasperH2O in #53
- fix known issues with Profile Manager by @Valkirie in #58
- G UI tweaks by @CasperH2O in #60
- GUI Joystick Camera additional settings bar highlight to also include X by @CasperH2O in #62
- implement new settings by @Valkirie in #64
- 15ms by @Valkirie in #65
- Prepare for Sensor Fusion implementation by @Valkirie in #68
- Player space by @CasperH2O in #69
Full Changelog: bin-rc-0.8.5.6...bin-rc-0920
Release 0.8.5.6
How to install
- Download the installer below.
- Run the installer.
Once installation is complete, the installer will automatically start the frontend Controller Helper
. From here you'll be able to install and start the Controller Service
. Once service is running, the frontend will let you manage the virtual controller and create or modify profiles.
Remarks
- This release supports Windows 10/11 only! (Intel/AMD 64-Bit)
- This release will install and deploy ViGEmBus and HidHide.
- This is a release candidate version compiled in both debug and release mode. Use release mode for better performance.
Features
- Implement support for emulating complete DualShock 4 (DS4 touchpad, DS4 Gyrometer and accelerometer)
- Implement support for emulating complete Xbox 360 gamepad.
- Implement support for motion controls via cemuhook for full compatibility with yuzu and cemu.
- Implement open-API to allow third party applications to communicate with Controller Service.
- Implement Universal Motion Control (UMC). Read more
Controller Helper API
ControllerHelper.exe profile
- --whitelist (Optional if present, application can access physical controller)
- --wrapper (Optional if present, application will rely on wrapper dll to translate directinput calls to xinput calls)
- --umc (Optional if present, will translate gyroscope to controls)
- --input (Optional value has to be within InputStyle)
- --trigger (Optional value has to be within GamepadButtonFlags)
- --steering (Optional value are 0 = Roll, 1 = Yaw)
- --inverthorizontal (Optional if present, gyroscope horizontal axis will be inverted)
- --invertvertical (Optional if present, gyroscope vertical axis will be inverted)
- --exe (Required path to executable)
ControllerHelper.exe profile --wrapper --umc --input=1 --trigger=65536 --exe="C:\Users\benja\AppData\Local\Playnite\Playnite.DesktopApp.exe"
ControllerHelper.exe device
- --cloak (Optional if present, cloak the physical controller)
- --mode (Required value has to be within HIDmode)
ControllerHelper.exe device --cloak --mode=1
ControllerHelper.exe service
- --action (Required value has to be within ProfileServiceAction)
ControllerHelper.exe service --action="install"
What's Changed
- implement new API profile settings by @Valkirie in #21
- Implement device width/height ratio slider by @CasperH2O in #27
- improving MouseHook code and reduce CPU usage by @Valkirie in #32
- implement Toast Manager by @Valkirie in #31
- fix notifyicon icon by @Valkirie in #33
- fix an issue preventing the application from starting minimized by @Valkirie in #34
- implement OnPowerChange to Helper by @Valkirie in #35
- prevent crash on system resume by @Valkirie in #36
Full Changelog: bin-0.8.5.3...bin-rc-0.8.5.6
Release 0.8.5.3
How to install
- Download the installer below.
- Run the installer.
Once installation is complete, the installer will automatically start the frontend Controller Helper
. From here you'll be able to install and start the Controller Service
. Once service is running, the frontend will let you manage the virtual controller and create or modify profiles.
Remarks
- This release supports Windows 10/11 only! (Intel/AMD 64-Bit)
- This release will install and deploy ViGEmBus and HidHide.
- This is a release candidate version compiled in both debug and release mode. Use release mode for better performance.
Features
- Implement support for emulating complete DualShock 4 (DS4 touchpad, DS4 Gyrometer and accelerometer)
- Implement support for emulating complete Xbox 360 gamepad.
- Implement support for motion controls via cemuhook for full compatibility with yuzu and cemu.
- Implement open-API to allow third party applications to communicate with Controller Service.
- Implement Universal Motion Control (UMC). Read more
Controller Helper API
ControllerHelper.exe profile
- --whitelist (Optional if present, application can access physical controller)
- --wrapper (Optional if present, application will rely on wrapper dll to translate directinput calls to xinput calls)
- --umc (Optional if present, will translate gyroscope to controls)
- --input (Optional value has to be within InputStyle)
- --trigger (Optional value has to be within GamepadButtonFlags)
- --exe (Required path to executable)
ControllerHelper.exe profile --wrapper --umc --input=1 --trigger=65536 --exe="C:\Users\benja\AppData\Local\Playnite\Playnite.DesktopApp.exe"
ControllerHelper.exe device
- --cloak (Optional if present, cloak the physical controller)
- --mode (Required value has to be within HIDmode)
ControllerHelper.exe device --cloak --mode=1
ControllerHelper.exe service
- --action (Required value has to be within ProfileServiceAction)
ControllerHelper.exe service --action="install"
Changelog
Full Changelog: bin-0.8.5.2...bin-0.8.5.3
What's Changed
Release 0.8.5.2
How to install
- Download the installer below.
- Run the installer.
Once installation is complete, the installer will automatically start the frontend Controller Helper
. From here you'll be able to install and start the Controller Service
. Once service is running, the frontend will let you manage the virtual controller and create or modify profiles.
Remarks
- This release supports Windows 10/11 only! (Intel/AMD 64-Bit)
- This release will install and deploy ViGEmBus and HidHide.
- This is a release candidate version compiled in debug mode. Its perfromance and CPU usage might be slightly higher than final builds.
Features
- Implement support for emulating complete DualShock 4 (DS4 touchpad, DS4 Gyrometer and accelerometer)
- Implement support for emulating complete Xbox 360 gamepad.
- Implement support for motion controls via cemuhook for full compatibility with yuzu and cemu.
- Implement open-API to allow third party applications to communicate with Controller Service.
- Implement Universal Motion Control (UMC). Read more
Controller Helper API
ControllerHelper.exe profile
- --whitelist (Optional if present, application can access physical controller)
- --wrapper (Optional if present, application will rely on wrapper dll to translate directinput calls to xinput calls)
- --umc (Optional if present, will translate gyroscope to controls)
- --input (Optional value has to be within InputStyle)
- --trigger (Optional value has to be within GamepadButtonFlags)
- --exe (Required path to executable)
ControllerHelper.exe profile --wrapper --umc --input=1 --trigger=65536 --exe="C:\Users\benja\AppData\Local\Playnite\Playnite.DesktopApp.exe"
ControllerHelper.exe device
- --cloak (Optional if present, cloak the physical controller)
- --mode (Required value has to be within HIDmode)
ControllerHelper.exe device --cloak --mode=1
ControllerHelper.exe service
- --action (Required value has to be within ProfileServiceAction)
ControllerHelper.exe service --action="install"
Changelog
Full Changelog: bin-0.8.4.2...bin-0.8.5.2
What's Changed
- Add RetroArch profile, remove duplicate profile, fix alphabetic order. by @CasperH2O in #18
- Icon updates by @CasperH2O in #19
- New API commands for external applications to interact with Controller Service. by @Valkirie in f7b1ba9, ac32df6, c6df954, 728dcc3
- Improved overall gyro aiming feeling by @Valkirie in fed1d58
- Fixed issue(s): #12 #11 #15 #16 #17
Known issues
- None
Release 0.8.4.2
How to install
- Download the installer below.
- Run the installer.
Once installation is complete, the installer will automatically start the frontend Controller Helper
. From here you'll be able to install and start the Controller Service
. Once service is running, the frontend will let you manage the virtual controller and create or modify profiles.
Remarks
- This release supports Windows 10/11 only! (Intel/AMD 64-Bit)
- This release will install and deploy ViGEmBus and HidHide.
- This is a release candidate version compiled in debug mode. Its perfromance and CPU usage might be slightly higher than final builds.
Features
- Implement support for emulating complete DualShock 4 (DS4 touchpad, DS4 Gyrometer and accelerometer)
- Implement support for emulating complete Xbox 360 gamepad.
- Implement support for motion controls via cemuhook for full compatibility with yuzu and cemu.
- Implement open-API to allow third party applications to communicate with Controller Service.
- Implement Universal Motion Control (UMC). Read more
Controller Helper arguments
ControllerHelper.exe profile --mode="xinput" --exe="C:\Users\benja\AppData\Local\Playnite\Playnite.DesktopApp.exe"
ControllerHelper.exe profile --mode="ds4" --exe="C:\Users\benja\AppData\Local\Playnite\Playnite.DesktopApp.exe"
ControllerHelper.exe service --action="xxx" (install, uninstall, create, delete, start, stop)
Changelog
Full Changelog: bin-0.8.3.4...bin-0.8.4.2
What's Changed
- Icon set update including controller service status indicator by @CasperH2O in #9
- Attempt to implement madgwick by @Valkirie in #10
- New wrapper with increased compatibility (Xinput Plus) by @Valkirie in bb4c489 and 4092e88 and 341690f
- Complete support for inverted axis and steering axis swap by @Valkirie in 0fcc3af
Known issues
- None
New Contributors
- @CasperH2O made their first contribution in #9
Build 0.8.3.4
How to install
- Download the installer below.
- Run the installer.
Once installation is complete, the installer will automatically start the frontend Controller Helper
. From here you'll be able to install and start the Controller Service
. Once service is running, the frontend will let you manage the virtual controller and create or modify profiles.
Remarks
- This release supports Windows 10/11 only! (Intel/AMD 64-Bit)
- This release will install and deploy ViGEmBus and HidHide.
- This is a release candidate version compiled in debug mode. Its perfromance and CPU usage might be slightly higher than final builds.
Features
- Implement support for emulating complete DualShock 4 (DS4 touchpad, DS4 Gyrometer and accelerometer)
- Implement support for emulating complete Xbox 360 gamepad.
- Implement support for motion controls via cemuhook for full compatibility with yuzu and cemu.
- Implement open-API to allow third party applications to communicate with Controller Service.
- Implement Universal Motion Control (UMC). Read more
Controller Helper arguments
ControllerHelper.exe profile --mode="xinput" --exe="C:\Users\benja\AppData\Local\Playnite\Playnite.DesktopApp.exe"
ControllerHelper.exe profile --mode="ds4" --exe="C:\Users\benja\AppData\Local\Playnite\Playnite.DesktopApp.exe"
ControllerHelper.exe service --action="xxx" (install, uninstall, create, delete, start, stop)
Changelog
Full Changelog: bin-0.8.3.3...bin-0.8.3.4
- Now using new set of icons to identify HID mode (Playstation or Xbox logos rather than gamepads).
- Controller Service now has the ability to read the default profile even when Controller Helper is not running.
- Minor performance optimization when using Xbox 360 emulation.
Fixed Issues
- fixed a potential crash on application start due to incorrect window's size and position.
Known issues
- Steering Axis, Invert Axis are partially implemented features.
Build 0.8.3.3
How to install
- Download the installer below.
- Run the installer.
Once installation is complete, the installer will automatically start the frontend Controller Helper
. From here you'll be able to install and start the Controller Service
. Once service is running, the frontend will let you manage the virtual controller and create or modify profiles.
Remarks
- This release supports Windows 10/11 only! (Intel/AMD 64-Bit)
- This release will install and deploy ViGEmBus and HidHide.
- This is a release candidate version compiled in debug mode. Its perfromance and CPU usage might be slightly higher than final builds.
Features
- Implement support for emulating complete DualShock 4 (DS4 touchpad, DS4 Gyrometer and accelerometer)
- Implement support for emulating complete Xbox 360 gamepad.
- Implement support for motion controls via cemuhook for full compatibility with yuzu and cemu.
- Implement open-API to allow third party applications to communicate with Controller Service.
- Implement Universal Motion Control (UMC). Read more
Controller Helper arguments
ControllerHelper.exe profile --mode="xinput" --exe="C:\Users\benja\AppData\Local\Playnite\Playnite.DesktopApp.exe"
ControllerHelper.exe profile --mode="ds4" --exe="C:\Users\benja\AppData\Local\Playnite\Playnite.DesktopApp.exe"
ControllerHelper.exe service --action="xxx" (install, uninstall, create, delete, start, stop)
Changelog
Full Changelog: bin-rc-0.8.3.1...bin-0.8.3.3
- Application title will now display the current build and elevated status (User, Administrator).
- About tab was added.
- Application icon will change based on selected HID mode (DualShock 4 emulation, Xbox 360 emulation).
- Application will display profile issue.
Fixed Issues
- fixed a potential crash on application start due to incorrect window's size and position.
- fixed a potential crash when FindHostedProcess would return a null value.
Known issues
- Steering Axis, Invert Axis are broken features, therefore they were disabled.
Release Candidate 0.8.3.1
How to install
- Download the installer below.
- Run the installer.
Once installation is complete, the installer will automatically start the frontend Controller Helper
. From here you'll be able to install and start the Controller Service
. Once service is running, the frontend will let you manage the virtual controller and create or modify profiles.
Remarks
- This release supports Windows 10/11 only! (Intel/AMD 64-Bit)
- This release will install and deploy ViGEmBus and HidHide.
- This is a release candidate version compiled in debug mode. Its perfromance and CPU usage might be slightly higher than final builds.
Features
- Implement support for emulating complete DualShock 4 (DS4 touchpad, DS4 Gyrometer and accelerometer)
- Implement support for emulating complete Xbox 360 gamepad.
- Implement support for motion controls via cemuhook for full compatibility with yuzu and cemu.
- Implement open-API to allow third party applications to communicate with Controller Service.
- Implement Universal Motion Control (UMC). Read more
Controller Helper arguments
ControllerHelper.exe profile --mode="xinput" --exe="C:\Users\benja\AppData\Local\Playnite\Playnite.DesktopApp.exe"
ControllerHelper.exe profile --mode="ds4" --exe="C:\Users\benja\AppData\Local\Playnite\Playnite.DesktopApp.exe"
ControllerHelper.exe service --action="xxx" (install, uninstall, create, delete, start, stop)
Changelog
Full Changelog: bin-rc-0.8.2.2...bin-rc-0.8.3.1
- improved wrapper deployment (now supports all xinput dlls and distinct Xbox360, DS4 x360ce ini)
- improved process monitoring (now capable to get Gamepass games executable path)
Fixed Issues
- fixed an issue causing profiles to be updated twice.
- fixed an issue preventing wrapper from being deployed
- fixed an issue causing UMC triggers to ignore AlwaysOn
- fixed an issue causing crash on null PipeClient, PipeServer
Known issues
- Steering Axis, Invert Axis are broken features, therefore they were disabled.