Releases: Valkirie/HandheldCompanion
Mainline 0.18.0.3
Support for new devices
- Add support for, OXP2 7840U (Non-Eva)
Improvements
- Implemented Steam Deck GPU control, control the Steam Deck GPU, based on work from SteamDeckTools.
- Implemented Steam Xbox Controller Enhanced Features Driver detection, HC will show a warning when this is enabled in Steam, as it conflicts with HidHide.
- Implemented Steam Desktop Mode detection, HC will show a warning when Steam was started before HC with Steam Desktop Layout enabled, causing double inputs.
- Implemented AutoTDP max TDP per profile setting through manual TDP slider, the manual TDP slider can now be used together with AutoTDP and will restrict it's upper range limit.
- Implemented gyro weight based on joystick position, prevent gyro and joystick fighting by having a configurable weight. This should result in smoother gyro aiming, especially in scenarios where players had to move both the joystick and use gyro simultaneously, like in fast-paced 3rd or 1st person shooters.
- Improved controller hiding process, by implementing a more robust HidHide logic, therefore improving overall controller hiding/unhiding process. UI experience was also improved.
- Improved XInput device detection.
Bugfixes
- Fixed HC from setting RTSS OSD to off.
- Fixed an issue freezing the UI thread.
- Fixed an issue when hiding/unhiding controller that could freeze the UI or fails.
- Fixed the settings needing to be re done every update of HC, note this will start working next install, not this install.
- Fixed an issue crashing HC when power cycling Steam Controllers.
- Fixed the main GUI navigation menu going back to the Controller page on the first page change.
- Fixed an issue preventing settings from being saved properly if HandheldCompanion folder was missing from local %appdata%.
- Fixed an issue causing HC to crash when power-cycling Neptune and Gordon controllers (Steam Deck and Steam Controller).
- Fixed an issue causing HC to crash when trying to manipulate locked files or folders.
Release 0.18.0.1b
Version 0.18.0.0 should mark a new milestone for the project. We have spent a considerable number of hours improving the software and simplifying its use. Version 0.18.0.0 also marks the end of Controller Service, reducing the software's resource consumption and simplifying its maintainability. Last but not least, this new version sees the appearance of the gyroscope in the layout manager, enabling you to transform your movements into mouse commands.
A huge thanks to all the (new) contributors we helped out for this release. @Havner @trippy @lunabagboi @oolongtea @micdah @Geckon01 @MiguelLedesmaC @MeikoMenmaHonma
Hotfix 0.18.0.1a
- Fix an issue preventing default profile from being loaded on application startup
- Fix an issue preventing RSR and other AMD specific features to work
- Fix OEM buttons support for AYANEO 1S
Hotfix 0.18.0.1b
- Fix an issue with layout manager being stuck on Desktop Layout
Support for new devices
- Add support for, AOKZOE A1 Pro
- Add support for, AYN Loki
- Add support for, OneXPlayer Mini AMD (A07 following BIOS update)
- Add support for, OXP2 6800U and 7840U Eva
- Add support for, Ayaneo Air Plus (Intel)
- Add support for, Ayaneo Air 1S
Support for new languages
- Add support for Portuguese (Brazilian)
- Add support for Spanish
- Add support for Japanese
- Add support for Russian
Support for external controllers, including gyro, gyro calibration, touchpads etc
- Add support for, Steam Controller
- Add support for, Dualshock 4
- Add support for, DualSense
- Add support for, Nintendo Pro Controller
Improvements
- Implemented steam file support, controller_neptune_steamcontroller.vdf
- Implemented AMD Radeonโข Super Resolution, available as a profile toggle.
- Implemented Maximum CPU Count, available as a profile toggle to force targeted application to run on a specific number of cores (experimental).
- Implemented trigger to trigger mapping, using layout mapping.
- Implemented Multi-action mapping, a single gamepad button, mouse click, or keyboard key can now produce as many actions as the user wishes.
- Implemented Extended Compatibility Injection, allowing virtual controller to be properly detected by many more games, including Xbox and Xbox Gamepass library.
- Implemented Automatic sensor swap, Improved the sensor selection swap, it will now automatically select the most logical choice
- Implemented Gyro Mouse, the gyro can now be configured as mouse input for even smoother motion gameplay
- Implemented Layout long press delay, configurable long press delay
- Implemented QuickTools Time, QuickTools now features a clock with the time
- Implemented OSD Option External, set HC OSD level to external to prevent conflicts with externally run OSDs and HC closing RTSS or HWiNFO
- Implemented 3D Overlay position reset, reset the 3D controller overlay position by holding B1 B4 button combination
- Improved DSU server (Cemuhook), now accepting remote connections from external devices
- Improved UI, when RTSS or HWiNFO get stalled**, controls should no-longer be disabled (greyed) but instead returned to default state
- Improved UI, by displaying currently applied profile on quick profiles page
- Improved device support, now supporting Turbo button on AOKZOE A1 and OneXPlayer Mini and OneXPlayer Mini Pro
- Improved localization support, removing a few hardcoded values and error calls
- Improved performance manager, now applying device configurable max TDP when restoring default TDP
- Improved physical controller hide/unhide robustness, we are now capable of capturing all HIDs linked to a USB controller.
- Improved Xbox 360 controller detection, finally addressing issues with undetected controllers on startup/resume.
- Improved Dualshock4 compatibility, with ability to map touchpad.
- Improved Steam platform compatibility, with better controller profile manipulation.
- Improved Quicktools readability, with improved UI.
- Improved overall layout manager, with faster UI drawing.
- Improved Language updates, German, Chinese
- Improved Layout keyboard selection list, Improved naming, much more readable and understandable
- Improved Controller service removal, less UI clutter, less confusion, more stability
Bugfixes
- Fixed an issue preventing performance manager from having the ability to stop cpu and gfx watchdogs on degraded state
- Fixed an issue that would allow performance manager to apply "below specs" TDP values
- Fixed an issue that would cause inputs manager to release incomplete OEM key strokes
- Fixed an issue with the 3D controller overlays, missing pieces and colors of various models
- Fixed an issue with the virtual controller detection feature, this fixes closing from tray menu, text and start order
- Fixed an issue with layout loading overwriting the wrong layout
- Fixed an issue with DSU Server controller, R2 and R1 were swapped
- Fixed an issue showing the right UI glyphs for various (external) controllers
- Fixed an issue with the new ROG Ally firmware update making the back button causing Long (3) detection of all OEM buttons. Be sure to update the BIOS to the latest version!
Known Issues
- External Xbox One controller support no longer works
- New profiles will need to be created. Note, old profiles are not deleted and you settings can still be found in the profiles folder
Release 0.16.2.5
A new HC release, with a focus on bug fixes, controller connection improvements and preventing games from minimizing.
What's Changed
Improvements
- Implemented steam file support, controller_neptune_steamcontroller.vdf
- Improved DSU server (Cemuhook), now accepting remote connections from external devices
- Improved UI, when RTSS or HWiNFO get stalled, controls should no-longer be disabled (greyed) but instead returned to default state
- Improved UI, by displaying currently applied profile on quick profiles page
- Improved device support, now supporting Turbo button on AOKZOE A1 and OneXPlayer Mini and OneXPlayer Mini Pro
- Improved localization support, removing a few hardcoded values and error calls
- Improved performance manager, now applying device configurable max TDP when restoring default TDP
Bugfixes
- Fixed an issue preventing performance manager from having the ability to stop cpu and gfx watchdogs on degraded state
- Fixed an issue that would allow performance manager to apply "below specs" TDP values
- Fixed an issue that would cause inputs manager to release incomplete OEM key strokes
Build 0.16.2.4
A new HC release, with a focus on bug fixes, controller connection improvements and preventing games from minimizing.
Improvements
- Improved Quicktools compatibility, borderless and full screen maximized games should no longer be minimized when QT is summoned
- Improved physical controller manipulation, by forcing the controller restart before making HidHide adjustments
Bugfixes
- Fixed an issue that would crash HC if the target controller was not initialized
- Fixed an issue that would prevent connection with SteamDeck controller
- Fixed an issue that would prevent setting core isolation and memory integrity checks for the Windows OS
- Fixed an issue that would crash HC when the gamepad navigation was used to change the resolution in QuickTools
- Fixed an issue that would set the device's default TDP and GPU every time the default profile was activated a.k.a. the 15 W TDP bug
- Fixed an issue that would have RTSS from searching for an entry if the process had already exited
Build 0.16.2.3
A new HC release, with a focus on bug fixes and controller connection improvements.
What's Changed
Improvements
- Controller power cycle, forces a restart of the physical controller when hidden/unhidden. This should prevent any application from retaining its hold on the controller, which had the unwanted effect of giving double input to users until the application in question was restarted.
- Improved gamepad navigation, with better detection of foreground window and navigation item auto-pick.
- Improved Microsoft Gamepass profile creation, with better file filtering.
- Improved virtual trackpads, by adding two extra buttons to mimic Dualshock4 trackpad click.
Bugfixes
- Fixed an issue that would randomly crash HC when OEM buttons would be pressed.
- Fixed an issue that would apply the lowest possible TDP on HC startup when default profile had a TDP value set.
- Fixed an issue that would cause the gamepad navigation to pop-out even when using external application.
- Fixed an issue that would prevent ROG Ally OEM keys to work when resuming from sleep or hibernation.
- Fixed an issue that would prevent virtual trackpads to send trackpad click information to virtual Dualshock 4.
- Fixed an issue that would randomly steal focus from games due to proprietary process (ashotplugctrl, gameinputsvc, gamebuzz, asmultidisplaycontrol, lockapp)
Build 0.16.2.2
What's Changed
Today is an exciting day for all new ROG Ally owners, we're releasing the first early-access implementing partial support to the device, which includes: gyro support, controller support, OEM front buttons support and all other HC functionalities.
ReadMe
Rog Ally and AYANEO Air Plus users, you need to install the attached 1.0.1.5 signed drivers from Bosch.
- Download : UMDF2.0_BMI323_v1.0.1.5_Signed_Win11_22H2_V2.zip.
- Start : Install drivers.bat.
Changelog
New features
- ASUS ROG Ally is now supported (partially)
- Ayaneo 2S and Geek 1S are now supported
- New settings: QuickTools auto hide when window is losing focus
- Gamepad UI navigation for both QuickTools and the main GUI
- Joystick anti-deadzone is now implemented, on profile layout
- Add support for Japanese language (ja-JP)
- System theme awareness (color, theme: light, dark)
Improvements
- Improved Steam Deck rumble experience when using default rumble engine
- Improved overall platform management for RTSS and HWiNFO
- Improved overall application performance by rewriting part of the inter-process communication protocol
- Improved some inputs and movements function
- Improved profile page, and removed the update button. All profile modifications are now instantaneously saved and applied
- SteamDeck, add fan support for 0xB030/0xA model
- Steamdeck, disabled automatic physical controller hiding default behavior
- ROG Ally, properly name special keys (OEM) in the UI
- Increased AutoTDP max value from 60 to 120 FPS
- Updated the UI rendering library, now uses : Inkore.UI.WPF.Modern, net7.0
- Updated PrecisionTimer library
- Updated Univeral Motion Control (UMC) anti-deadzone default percentage to 15%
- We're now emulating a 2nd generation DualShock 4 instead of 1st generation to improve overall compatibility
- Improved Dekstop Manager behavior, should now properly pull color and depth bits
- Improved Controller Manager behavior, automatically connect first available controller on plug
Bugfixes
- Fixed an issue causing QuickTools to enter into an infitine profile update loop
- Fixed an issue affecting parallel inputs reading/writing
- Fixed an issue preventing volume buttons from being held
- Fixed an issue causing Quick tools window to stop rendering (by removing acrylic/transparent backdrop)
- Fixed an issue affecting TDP on profile change
- Fixed an issue causing the application to crash when manipulating TDP.
- Force restart Bosch BMI320/323 chips when HC starts to prevent stalled gyroscope on ROG Ally and Ayaneo Air Plus
- Fixed an issue preventing "Extended compatibility" profile feature to operate normaly. Controller number can now be adjusted again to support games that only properly works with controller number one
- Fixed an issue with Univeral Motion Control (UMC) activation button that would force reload the profile page
- Fixed several issues causing HC crashes when using gamepad navigation
- Fixed several issues that were preventing the Steam Deck to properly communicate with the virtual DualShock4 (touchpads and gyroscope)
- Fixed an issue preventing Rog Ally controllers and OEM keys to work on system resume
- Fixed an issue preventing Rog Ally gyro to work on system startup or resume
Build 0.16.0.5
What's Changed
We've got an exciting update for you! In addition to the usual improvements and bug fixes, this release introduces some cool new features. We're also working on making certain installations (Vigem, HidHide, RTSS and HWiNFO) will be optional in the near future, so stay tuned for more customization options!
A huge shoutout to all the amazing individuals who contributed to this release over the past 6 weeks. Your time, energy, code, testing, and Patreon contributions have made this update possible. Thank you!
Note that this release will additionally install HWiNFO64 and RTSS.
Hotfix release 0.16.0.5 changes:
- RTSS first startup in combination with a profile wanting to use it requiring a focus change
- GPU Slider not having any effect
- Quick Tools per game profile toggle getting in the wrong state
- Chinese localation update
- Fix crash with XInputPlus
Features
- Framerate limiter: Say goodbye to screen tearing! Now you can set a framerate limiter based on your screen's refresh rate, per profile.
- AutoTDP: Automatically adjusts TDP based on requested FPS performance, per profile. Say goodbye to wasted power!
- On Screen Overlay (OSD) with multiple levels: Keep an eye on vital information like FPS, CPU/GPU usage, and clockspeeds without leaving the game.
- GPU Mhz control, per profile: Fine-tune your GPU performance for optimal gameplay.
- Support for Volume Up/Down buttons: Adjust your volume on the fly with convenient hotkeys.
- New hotkeys for brightness and volume control: Easily tweak your display settings without leaving your game.
- New SteamDeck rumble engine: Immerse yourself in a more tactile gaming experience with improved haptic feedback.
- Ayaneo Air Plus support: Enjoy seamless compatibility with the Ayaneo Air Plus handheld.
- CPU Boost mode: Get that extra kick of processing power when you need it most or disable it for less power consumption.
- EPP adjustment support, per profile: Optimize your CPU/GPU energy performance balance preferences for each game or application.
Improvements
- Fan override on QuickTools: Take control of your cooling system with ease.
- Desktop toggle in Main GUI controller page: Switch between desktop and gaming modes effortlessly.
- Simplified profile creation and default profile usage in QuickTools: Creating profiles and using default settings is now a breeze.
- Process detection for profile activation: Profiles will activate automatically based on the applications you're using.
- Default emulated controller is now the Xbox360: Enjoy enhanced compatibility right out of the box.
- Disabled and none options in layouts/remapper: More flexibility for your customization needs.
- Auto-matching joystick orientation to screen rotation: Seamless gaming experience regardless of how you hold your device.
- PowerMode changes matching system setting: Ensure consistent power settings across your system.
- Lizard mode completely removed: Streamlined functionality for improved performance.
- Power control using a better API.
- SteamDeck haptics: Enhanced haptic feedback for a more immersive gaming experience.
- Layout exporter and manager: Share and manage your custom layouts effortlessly.
- Hardware controller hidden by default again: Enjoy a clutter-free interface with the option to reveal the hardware controller when needed.
- RTSS and HWInfo only start when needed and close on application close (configurable).
- Better DPI awareness: Improved display scaling for different screen resolutions and scaling.
- Info messages for undesirable user situations: Receive helpful notifications when your setup may not be optimal, such as having the hardware controller hidden without a virtual controller connected.
Bugfixes
- Keyboard layout: Resolved issues with keyboard mapping.
- QuickTools fixes: Addressed several bugs in QuickTools for smoother performance.
- Neptune ButtonFlags: Fixed issues related to the SteamDeck buttons.
- Various profile activation issues: Resolved problems with profile activation across different applications.
- DSU Server crash: Prevented crashes related to the DSU Server and IMU readiness.
- OneXPlayer special key button: Fixed issues with the OneXPlayer special key button.
- High SteamDeck CPU usage: Optimized CPU usage for improved performance on the SteamDeck.
- Volume control now controls the default output device: Adjust volume settings for your default selected output device.
- GPD Win 4 Fan control (again): Restored fan control functionality for the GPD Win 4.
- Profile on/off toggle deleting profiles: Addressed issues where toggling profiles would unintentionally delete them.
- External IMU selection: Fixed problems with selecting to and from the external IMU device as motion sensor.
We hope you enjoy this update! As always, if you encounter any issues or have suggestions for further improvements, please don't hesitate to let us know. Happy gaming!
Build 0.16.0.4
What's Changed
We've got an exciting update for you! In addition to the usual improvements and bug fixes, this release introduces some cool new features. We're also working on making certain installations (Vigem, HidHide, RTSS and HWiNFO) will be optional in the near future, so stay tuned for more customization options!
A huge shoutout to all the amazing individuals who contributed to this release over the past 6 weeks. Your time, energy, code, testing, and Patreon contributions have made this update possible. Thank you!
Note that this release will additionally install HWiNFO64 and RTSS.
Features
- Framerate limiter: Say goodbye to screen tearing! Now you can set a framerate limiter based on your screen's refresh rate, per profile.
- AutoTDP: Automatically adjusts TDP based on requested FPS performance, per profile. Say goodbye to wasted power!
- On Screen Overlay (OSD) with multiple levels: Keep an eye on vital information like FPS, CPU/GPU usage, and clockspeeds without leaving the game.
- GPU Mhz control, per profile: Fine-tune your GPU performance for optimal gameplay.
- Support for Volume Up/Down buttons: Adjust your volume on the fly with convenient hotkeys.
- New hotkeys for brightness and volume control: Easily tweak your display settings without leaving your game.
- New SteamDeck rumble engine: Immerse yourself in a more tactile gaming experience with improved haptic feedback.
- Ayaneo Air Plus support: Enjoy seamless compatibility with the Ayaneo Air Plus handheld.
- CPU Boost mode: Get that extra kick of processing power when you need it most or disable it for less power consumption.
- EPP adjustment support, per profile: Optimize your CPU/GPU energy performance balance preferences for each game or application.
Improvements
- Fan override on QuickTools: Take control of your cooling system with ease.
- Desktop toggle in Main GUI controller page: Switch between desktop and gaming modes effortlessly.
- Simplified profile creation and default profile usage in QuickTools: Creating profiles and using default settings is now a breeze.
- Process detection for profile activation: Profiles will activate automatically based on the applications you're using.
- Default emulated controller is now the Xbox360: Enjoy enhanced compatibility right out of the box.
- Disabled and none options in layouts/remapper: More flexibility for your customization needs.
- Auto-matching joystick orientation to screen rotation: Seamless gaming experience regardless of how you hold your device.
- PowerMode changes matching system setting: Ensure consistent power settings across your system.
- Lizard mode completely removed: Streamlined functionality for improved performance.
- Power control using a better API.
- SteamDeck haptics: Enhanced haptic feedback for a more immersive gaming experience.
- Layout exporter and manager: Share and manage your custom layouts effortlessly.
- Hardware controller hidden by default again: Enjoy a clutter-free interface with the option to reveal the hardware controller when needed.
- RTSS and HWInfo only start when needed and close on application close (configurable).
- Better DPI awareness: Improved display scaling for different screen resolutions and scaling.
- Info messages for undesirable user situations: Receive helpful notifications when your setup may not be optimal, such as having the hardware controller hidden without a virtual controller connected.
Bugfixes
- Keyboard layout: Resolved issues with keyboard mapping.
- QuickTools fixes: Addressed several bugs in QuickTools for smoother performance.
- Neptune ButtonFlags: Fixed issues related to the SteamDeck buttons.
- Various profile activation issues: Resolved problems with profile activation across different applications.
- DSU Server crash: Prevented crashes related to the DSU Server and IMU readiness.
- OneXPlayer special key button: Fixed issues with the OneXPlayer special key button.
- High SteamDeck CPU usage: Optimized CPU usage for improved performance on the SteamDeck.
- Volume control now controls the default output device: Adjust volume settings for your default selected output device.
- GPD Win 4 Fan control (again): Restored fan control functionality for the GPD Win 4.
- Profile on/off toggle deleting profiles: Addressed issues where toggling profiles would unintentionally delete them.
- External IMU selection: Fixed problems with selecting to and from the external IMU device as motion sensor.
We hope you enjoy this update! As always, if you encounter any issues or have suggestions for further improvements, please don't hesitate to let us know. Happy gaming!
Build 0.15.1.1
What's Changed
This is a day1 hotfix build.
Bugfixes
- Fixed an issue affecting OEM keys support and overall inputs management.
Full Changelog: 0.15.1.0...0.15.1.1
Build 0.15.1.0
What's Changed
We highly recommend all users to remove all previous layouts from %UserProfile%\Documents\HandheldCompanion.
Features
- Implemented quiet mode (fan control) for supported devices; AOKZOE A1, AYANEO 2, AYANEO Air, GPD Win Max 2, OneXPlayer Mini, Steam Deck
-- Can be triggered through hotkeys and quicktools window
-- Quiet fan duty cycle can be set using a new setting - Implemented an option to export and share custom layouts
- Implemented support and detection of GOG Galaxy platform and games
- Implemented support and detection of Ubisoft Connect platform and games
- Implemented the option to enable Desktop mode on Handheld Companion startup
- Implemented support for GPD Win 4, thanks to @cloudonz
- Implemented support for OneX Mini devices extra button, thanks to @Brackaus
Improvements
- Controller layout can be enabled/disabled within profile
- Controller layout now offers the ability to rotate joysticks for portrait gaming, thanks to @ShadowFlare
- Extended compatibility option within profile brings greater compatibility with XInput games when needed (missing rumble, undetected controller)
- Greatly improved controller layout mouse and touchpads scroll and cursor movements experience, thanks to @Havner
- Improved UI loading time and overall performance
- QuickTools can now be closed using the Esc key
- The system tray icon allows you to open the main graphical interface and the Quicktools
Bugfixes
- Fixed all known crash issues
- Fixed all known layout and layout template issues
- Fixed an issue affecting profile file size
- Fixed all known UI issues
Device specific
Steam Deck
- Lizard mode toggles have been removed from UI to avoid confusion. Use desktop layout instead
- Fixed an issue preventing service from resuming from hibernation (on SteamDeck)
GPD Win
- Default OEM key chords have to be changed from key 0 and key 9 to chord: F11 + L and chord: F12 + R respectively
New Contributors
- @Havner made their first contribution in #446
- @ShadowFlare made their first contribution in #458
Full Changelog: 0.15.0.4...0.15.1.0