Skip to content

0.28.2.2#1336

Merged
Valkirie merged 478 commits intomainfrom
0.28.2.2
Dec 8, 2025
Merged

0.28.2.2#1336
Valkirie merged 478 commits intomainfrom
0.28.2.2

Conversation

@Valkirie
Copy link
Owner

@Valkirie Valkirie commented Dec 8, 2025

Summary by CodeRabbit

  • New Features

    • Added Copilot voice command and Task View shortcuts
    • Added power management options (lock, sleep, hibernate, restart, shutdown)
    • Introduced "Like" profile feature (replacing pin functionality)
    • Added Curve Optimizer support for AMD processors
    • Enhanced battery display with remaining time estimates
    • Added toast notifications with actionable buttons
  • Device Support

    • Added support for new device variants including AYANEO Flip 1 SKB, GPD Win 5, Xbox ROG Ally models, and OneXPlayer G1 series
    • Improved Steam Deck GPU monitoring
  • UI Improvements

    • Created advanced settings and favorites sections
    • Added power menu to overlay quick tools

✏️ Tip: You can customize this high-level summary in your review settings.

Valkirie added 30 commits July 23, 2025 09:52
Device support: ZOTAC Gaming Zone
New Features

Added support for Zotac Gaming Zone devices, including a new VRAM configuration option in device settings.
Introduced controller swap functionality for Lenovo Legion Go devices, with corresponding UI controls and localization.
Added a property to indicate manufacturer platform support in device settings.
Improvements

Refined device settings UI to display panels specific to MSI Claw, Lenovo Legion Go, and Zotac Gaming Zone.
Enhanced splash screen with an animated progress indicator.
Updated controller input handling for improved consistency and mapping support.
Localization

Added new resource strings and placeholders for controller swap and VRAM settings in multiple languages.
Bug Fixes

Improved handling of device-specific settings and toggles to ensure correct UI behavior and device interaction.
- Implemented DelegateCommand with parameter(s)
- Allow user to pick Run/RunAs to start executable from profile page
* Improve ControllerManagement event logic

I was dumb and thought RaisingAnEvent?.Invoke() would simultaneously raise event across all listeners and have their tasks to run in parallel. I was wrong...

* better
- Support both IGDB and SteamGrid researches in parallel.
- Todo: Add checkboxes
* Implement async LayoutUpdated event

* Implement EventHelper.RaiseAsync()
* Make PlatformManager async and start implementing GameLib

* prevent useless power profile updates

* misc

* misc

* implement more platforms

* more work

* Add LaunchString support over StartProcessCommand

* more work

* Add profile page field: LaunchString

* improve ProfileViewModel navigation

* misc

* filter a few executables

* Update SDL3 to 3.2.20

https://github.com/libsdl-org/SDL/releases/tag/release-3.2.20

* Update LibreHardwareMonitorLib

* Update gamecontrollerdb.txt

* Implement Quick Profiles button (Edit layout)

* Implement Quicktools position: BottomCenter

* UI work

* misc

* Improve Scan Library UI with DropDownButton

* Fix process detection on QuickApplicationPage

* Improve overall QuickProfiles UI experience

Add two new buttons: Button_OpenProfilePage, Button_OpenProfileLayout

* Misc UI improvements

* Fix QT Margins

* Improve FanProfile logic

* More work on fan (both UI and backoffice)

* Improve page loading logic

* Improve Quicktools Width under several scenarios

* Misc

* Add QT animation logic

* Fix Icons

* Add FanTable restore logic to LegionGo

* Restore PL1/PL2 logic and fix values for Lunar-Lake based devices

* Update PowerProfileManager.cs

* Proper Intel MicroArchitecture detection

* hacky fix for MSI Claw gamepad

* build 0.27.0.0
- PL2 shouldn't be inferior to PL1
- PL2 should be equal or PL1+1 (Lunar Lake)
* (WIP) implement NET10 support

* Update install script

* Implement RyzenAdj set_coall()

* Fixed: Steam Deck GPU reading

* Update libraries to NET10: LibreHardware, ViGEm.Client

* Update Nefarius.ViGEm.Client.dll

* Device support: GPD Win 5 (WIP)

* Improved: Process manager will now ignore Taskbar and Shellhost

* Updated: Libraries

* build 0.28.2.1

* Improved: Process manager

ForegroundStaging and XamlExplorerHostIslandWindow are now Restricted

* Improved: Process manager

ApplicationManager_DesktopShellWindow is now Restricted

* build 0.28.2.2
…OEM button usage and improve FAN/LED management) (#480)

* Tentative: Fix OneX button lock

* Fixed: Several issues with OneX devices and IsOpen, IsReady checks as well ad HidDevice pickup on OneXFly

* Device support: OneXPlayer G1

* Improved overall ONEX/AOKZOE device support

backported some logic from HHD
@Valkirie Valkirie merged commit 7542c00 into main Dec 8, 2025
0 of 2 checks passed
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 8, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Updates the application from .NET 9.0 to 10.0, bumps version from 0.28.1.6 to 0.28.2.2, introduces voice-activated Copilot command and task view command functionality, refactors device class hierarchies, consolidates device profiles, enhances power management and battery overlay, and updates UI components alongside comprehensive localization support across multiple languages.

Changes

Cohort / File(s) Summary
Build & Installer System
HandheldCompanion.iss, HandheldCompanion.csproj, HandheldCompanion/App.config
Upgraded .NET framework from 9.0 to 10.0; updated runtime/toolchain references and Windows target version (22621); bumped app version to 0.28.2.2; added garbage collection and tiered compilation settings; updated NuGet dependency versions; added RyzenAdjCoall configuration entry.
Command System & Input Handling
HandheldCompanion/Commands/FunctionCommands.cs, HandheldCompanion/Commands/Functions/Windows/CopilotVoiceCommands.cs, HandheldCompanion/Commands/Functions/Multitasking/TaskViewCommands.cs, HandheldCompanion/Commands/Functions/Multitasking/TaskManagerCommands.cs
Added CopilotVoiceCommands (UI automation-based Copilot window interaction) and TaskViewCommands to function registry; refactored TaskManagerCommands to use Process-based detection instead of input simulation.
Device Base & Infrastructure
HandheldCompanion/Devices/IDevice.cs, HandheldCompanion/Devices/OneXAOKZOE.cs
Added new OneXAOKZOE base class for HID-based devices with V1/V2 LED and fan control; updated IDevice with BatteryMonitor default, DeviceHotkeys, IsOpen property, memory detection, and expanded device discovery mappings.
AOKZOE Device Implementations
HandheldCompanion/Devices/AOKZOE/AOKZOEA1.cs, HandheldCompanion/Devices/AOKZOE/AOKZOEA1Pro.cs
Refactored AOKZOEA1 to inherit from OneXAOKZOE with HID v2 LED support; removed direct fan control methods from AOKZOEA1Pro.
ASUS Device Implementations
HandheldCompanion/Devices/ASUS/ROGAlly.cs, HandheldCompanion/Devices/ASUS/ROGAllyX.cs, HandheldCompanion/Devices/ASUS/XboxROGAlly.cs, HandheldCompanion/Devices/ASUS/XboxROGAllyX.cs
Expanded ROGAlly product IDs; removed OEM input monitoring from ROGAllyX; added XboxROGAlly and XboxROGAllyX variants with tuning overrides.
AYANEO Device Implementations
HandheldCompanion/Devices/AYANEO/AYANEODevice.cs, HandheldCompanion/Devices/AYANEO/AYANEOFlip1SDS.cs, HandheldCompanion/Devices/AYANEO/AYANEOFlip1SKB.cs, HandheldCompanion/Devices/AYANEO/AYANEOFlipDS.cs, HandheldCompanion/Devices/AYANEO/AYANEODeviceCEc.cs
Added power profiles to AYANEODevice; introduced AYANEOFlip1SKB variant; added Close override with event cleanup to AYANEOFlipDS; initialized axes on flip devices.
GPD Device Implementations
HandheldCompanion/Devices/GPD/GPDWin4.cs, HandheldCompanion/Devices/GPD/GPDWin5.cs
Removed Close override from GPDWin4; introduced GPDWin5 with comprehensive EC fan control, axis configuration, and Type-C detection.
OneXPlayer Device Consolidation
HandheldCompanion/Devices/OneXPlayer/OneXPlayer2.cs, HandheldCompanion/Devices/OneXPlayer/OneXPlayer2Pro.cs, HandheldCompanion/Devices/OneXPlayer/OneXPlayerMini.cs, HandheldCompanion/Devices/OneXPlayer/OneXPlayerMiniAMD.cs, HandheldCompanion/Devices/OneXPlayer/OneXPlayerMiniIntel.cs, HandheldCompanion/Devices/OneXPlayer/OneXPlayerMiniPro.cs, HandheldCompanion/Devices/OneXPlayer/OneXPlayerX1.cs, HandheldCompanion/Devices/OneXPlayer/OneXPlayerX1AMD.cs, HandheldCompanion/Devices/OneXPlayer/OneXPlayerX1Intel.cs, HandheldCompanion/Devices/OneXPlayer/OneXPlayerX1Mini.cs, HandheldCompanion/Devices/OneXPlayer/OneXPlayerOneXFly.cs, HandheldCompanion/Devices/OneXPlayer/OneXPlayerOneXFlyF1Pro.cs
Consolidated variant classes (AMD/Intel) into parent class constructors; removed standalone variant files; refactored inheritance to OneXAOKZOE base; added HID LED support and fan control to X1Mini; removed custom Open/Close overrides from MiniPro.
Controller Implementations
HandheldCompanion/Controllers/Lenovo/LegionController.cs, HandheldCompanion/Controllers/Steam/NeptuneController.cs
Replaced Vector2-based touch tracking with integer coordinates and introduced multi-stage touch state machine in LegionController; added IsReady property and IsConnected method to NeptuneController.
MSI Device & WMI Handling
HandheldCompanion/Devices/MSI/ClawA1M.cs
Refactored WMI namespace handling with field renaming (Scope→WmiScope, Path→WmiPath); added DLL deployment/registry checks; converted StartWatching to async; replaced Task-based key press with KeyPressAndRelease.
Valve Device
HandheldCompanion/Devices/Valve/SteamDeck.cs
Enabled GPU monitoring flag (GpuMonitor = true).
Manager Enhancements
HandheldCompanion/Managers/ControllerManager.cs, HandheldCompanion/Managers/DeviceManager.cs, HandheldCompanion/Managers/InputsManager.cs, HandheldCompanion/Managers/ProcessManager.cs, HandheldCompanion/Managers/ProfileManager.cs, HandheldCompanion/Managers/ToastManager.cs, HandheldCompanion/Managers/VirtualManager.cs
Added toast routing and visual detection UI in ControllerManager; made GetDetails nullable in DeviceManager; added null-safety in InputsManager.GetChord; extended ProcessManager with window handle parameter and class name filtering; updated ProfileManager default power profiles; introduced typed ToastAction/ToastRequest model with CommandReceived event; added thread-safety locks to VirtualManager.
Library & Profile Management
HandheldCompanion/Managers/LibraryManager.cs, HandheldCompanion/Libraries/LibraryEntry.cs, HandheldCompanion/Libraries/SteamGridEntry.cs, HandheldCompanion/Misc/Profile.cs
Added logo support (LibraryType.logo flag, GetLogoId/GetLogoExtension methods, SteamGridEntry Logo fields); replaced IsPinned with IsLiked in Profile; added LogoType and related download logic.
Performance & Power Control
HandheldCompanion/Managers/PerformanceManager.cs, HandheldCompanion/Processors/AMD/RyzenAdj.cs, HandheldCompanion/Processors/AMDProcessor.cs, HandheldCompanion/Helpers/PowerActions.cs
Added RyzenAdjCoall setting handler; introduced FAM_DRAGONRANGE/FAM_FIRERANGE CPU families and SetCoall method; created new PowerActions utility with Lock/Sleep/Hibernate/Restart/Shutdown via Win32 API.
OSD & Battery Widgets
HandheldCompanion/Managers/OSDManager.cs, HandheldCompanion/Managers/Overlay/Widget/BatteryWidget.cs
Added overlay content assembly with "h" unit support; extended battery widget with time-remaining display (hours/minutes) and charging-state handling.
UI Framework & Views
HandheldCompanion/Views/Pages/DevicePage.xaml, HandheldCompanion/Views/Pages/DevicePage.xaml.cs, HandheldCompanion/Views/Pages/ProfilesPage.xaml, HandheldCompanion/Views/Pages/ProfilesPage.xaml.cs, HandheldCompanion/Views/Pages/LibraryPage.xaml, HandheldCompanion/Views/TemplatesDictionary.xaml, HandheldCompanion/Views/SplashScreen.xaml, HandheldCompanion/Views/SplashScreen.xaml.cs, HandheldCompanion/Views/UIGamepad.cs, HandheldCompanion/Views/Windows/OverlayQuickTools.xaml
Consolidated TDP controls into Advanced Settings expander; added RyzenAdj slider; added Like/Favorite profile functionality with FavoritesView; added Logos display; introduced query toggles for SteamGrid/IGDB; changed SplashScreen base from OverlayWindow to Window; reordered command/event execution in UIGamepad buttons.
ViewModels
HandheldCompanion/ViewModels/ControllerViewModel.cs, HandheldCompanion/ViewModels/Pages/DevicePageViewModel.cs, HandheldCompanion/ViewModels/Pages/LibraryPageViewModel.cs, HandheldCompanion/ViewModels/Pages/ProfilesPageViewModel.cs, HandheldCompanion/ViewModels/Pages/QuickApplicationPageViewModel.cs, HandheldCompanion/ViewModels/ProfileViewModel.cs, HandheldCompanion/ViewModels/Windows/OverlayQuickToolsViewModel.cs
Added null-conditional safety checks in ConnectCommand; added IsAMD/IsIntel predicates and HasAdvancedSettings confirmation flow to DevicePageViewModel; introduced FavoritesView and HasLiked property to LibraryPageViewModel; added QuerySteamGrid/QueryIGDB toggles to ProfilesPageViewModel; switched from IsPinned to IsLiked in profile handling; added IsLiked and Logo properties to ProfileViewModel; added PowerDropCommand to OverlayQuickToolsViewModel.
Localization Resources
HandheldCompanion/Properties/Resources.*.resx, HandheldCompanion/Properties/Resources.Designer.cs
Added locale entries for CopilotVoice hotkey, AYANEO power profiles, Advanced Settings, and Curve Optimiser across all supported languages (de-DE, es-ES, fr-FR, it-IT, ja-JP, ko-KR, pt-BR, ru-RU, zh-Hans, zh-Hant); updated Task Manager label capitalization.
Settings & Configuration
HandheldCompanion/Properties/Settings.Designer.cs, HandheldCompanion/Properties/Settings.settings
Added RyzenAdjCoall setting (double, default 0).
Localization Framework
HandheldCompanion/Localization/StaticExtension.cs, HandheldCompanion/Localization/TranslationSource.cs
Made StaticExtension public; made TranslationSource public and implemented INotifyPropertyChanged.
HID Library
hidapi.net/HidDevice.cs
Fixed resource cleanup argument in OpenDevice; refactored ReadLoop with explicit length capture; made Close operation thread-safe with locking.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~75 minutes

Areas requiring extra attention:

  • LegionController touch state machine — Replacement of Vector2 tracking with multi-stage integer-based state machine introduces complex edge detection logic for tap/double-tap/long-tap that requires careful validation of state transitions and timeout handling.
  • Device inheritance refactoring — Multiple device classes changed base classes (IDevice → OneXAOKZOE), and variants consolidated from separate files into parent constructors; verify all overrides are properly preserved and no functionality is lost.
  • CopilotVoiceCommands UI automation flow — Complex interaction with AutomationElement, window resizing via WinAPI SetWindowPos, and pattern-based control invocation; verify timeout handling and null-safety throughout the interaction loop.
  • ProcessManager window handle threading — Added IntPtr window handle parameter to ForegroundCallback with fallback logic; verify null-conditional access patterns and window class name filtering don't introduce regressions.
  • LibraryManager logo integration — New logo download/display pipeline integrated alongside existing cover/artwork flows; verify logo retrieval, caching, and UI binding work correctly across SteamGrid and IGDB paths.
  • ToastManager callback/command routing — New typed ToastAction model with ephemeral ID-based callbacks and CommandReceived event; verify action registration/cleanup and command dispatch don't cause memory leaks or missed events.
  • UIGamepad event ordering — Command execution order changed relative to click events across multiple control types; verify no unintended side effects or double-execution of handlers.

Possibly related PRs

  • PR #1306 — Modifies BatteryWidget.cs with identical battery time-remaining display logic and charging-state handling.
  • PR #1070 — Updates HandheldCompanion.iss installer dependencies and procedure declarations, overlapping with build/deployment changes.
  • PR #1302 — Modifies FunctionCommands.Functions registry to add new command types, directly related to command system changes.

Poem

🐰 From .NET nine to ten we leap,
With Copilot's voice, commands run deep,
Devices unified, profiles now like,
Toast notifications and power control's might,
Advanced settings shine with glyphs so bright! ✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch 0.28.2.2

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 834a2bd and 3f319ad.

⛔ Files ignored due to path filters (10)
  • HandheldCompanion/PresentationCore.dll is excluded by !**/*.dll
  • HandheldCompanion/Resources/DeviceImages/device_gpd5.png is excluded by !**/*.png
  • HandheldCompanion/Resources/DeviceImages/device_onexplayer_g1.png is excluded by !**/*.png
  • HandheldCompanion/Resources/DeviceImages/device_xbox_rog_ally.png is excluded by !**/*.png
  • HandheldCompanion/Resources/DeviceImages/device_xbox_rog_ally_x.png is excluded by !**/*.png
  • HandheldCompanion/Resources/msiapcfg.dll is excluded by !**/*.dll
  • HandheldCompanion/SDL3.dll is excluded by !**/*.dll
  • Resources/LibreHardwareMonitorLib.dll is excluded by !**/*.dll
  • Resources/Nefarius.ViGEm.Client.dll is excluded by !**/*.dll
  • redist/windowsdesktop-runtime-9.0.0-win-x64.exe is excluded by !**/*.exe
📒 Files selected for processing (91)
  • HandheldCompanion.iss (10 hunks)
  • HandheldCompanion/App.config (1 hunks)
  • HandheldCompanion/Commands/FunctionCommands.cs (1 hunks)
  • HandheldCompanion/Commands/Functions/Multitasking/TaskManagerCommands.cs (2 hunks)
  • HandheldCompanion/Commands/Functions/Multitasking/TaskViewCommands.cs (1 hunks)
  • HandheldCompanion/Commands/Functions/Windows/CopilotVoiceCommands.cs (1 hunks)
  • HandheldCompanion/Controllers/Lenovo/LegionController.cs (3 hunks)
  • HandheldCompanion/Controllers/Steam/NeptuneController.cs (1 hunks)
  • HandheldCompanion/Devices/AOKZOE/AOKZOEA1.cs (3 hunks)
  • HandheldCompanion/Devices/AOKZOE/AOKZOEA1Pro.cs (1 hunks)
  • HandheldCompanion/Devices/ASUS/ROGAlly.cs (2 hunks)
  • HandheldCompanion/Devices/ASUS/ROGAllyX.cs (0 hunks)
  • HandheldCompanion/Devices/ASUS/XboxROGAlly.cs (1 hunks)
  • HandheldCompanion/Devices/ASUS/XboxROGAllyX.cs (1 hunks)
  • HandheldCompanion/Devices/AYANEO/AYANEODevice.cs (2 hunks)
  • HandheldCompanion/Devices/AYANEO/AYANEODeviceCEc.cs (1 hunks)
  • HandheldCompanion/Devices/AYANEO/AYANEOFlip1SDS.cs (2 hunks)
  • HandheldCompanion/Devices/AYANEO/AYANEOFlip1SKB.cs (1 hunks)
  • HandheldCompanion/Devices/AYANEO/AYANEOFlipDS.cs (1 hunks)
  • HandheldCompanion/Devices/GPD/GPDWin4.cs (0 hunks)
  • HandheldCompanion/Devices/GPD/GPDWin5.cs (1 hunks)
  • HandheldCompanion/Devices/IDevice.cs (8 hunks)
  • HandheldCompanion/Devices/MSI/ClawA1M.cs (18 hunks)
  • HandheldCompanion/Devices/OneXAOKZOE.cs (1 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayer2.cs (2 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayer2Pro.cs (0 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayerG1.cs (1 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayerMini.cs (2 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayerMiniAMD.cs (0 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayerMiniIntel.cs (0 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayerMiniPro.cs (0 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayerOneXFly.cs (2 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayerOneXFlyF1Pro.cs (0 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayerX1.cs (5 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayerX1AMD.cs (0 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayerX1Intel.cs (0 hunks)
  • HandheldCompanion/Devices/OneXPlayer/OneXPlayerX1Mini.cs (2 hunks)
  • HandheldCompanion/Devices/Valve/SteamDeck.cs (1 hunks)
  • HandheldCompanion/HandheldCompanion.csproj (5 hunks)
  • HandheldCompanion/Helpers/PowerActions.cs (1 hunks)
  • HandheldCompanion/Libraries/LibraryEntry.cs (1 hunks)
  • HandheldCompanion/Libraries/SteamGridEntry.cs (2 hunks)
  • HandheldCompanion/Localization/StaticExtension.cs (1 hunks)
  • HandheldCompanion/Localization/TranslationSource.cs (1 hunks)
  • HandheldCompanion/Managers/ControllerManager.cs (21 hunks)
  • HandheldCompanion/Managers/DeviceManager.cs (5 hunks)
  • HandheldCompanion/Managers/InputsManager.cs (1 hunks)
  • HandheldCompanion/Managers/LibraryManager.cs (6 hunks)
  • HandheldCompanion/Managers/OSDManager.cs (6 hunks)
  • HandheldCompanion/Managers/Overlay/Widget/BatteryWidget.cs (1 hunks)
  • HandheldCompanion/Managers/PerformanceManager.cs (2 hunks)
  • HandheldCompanion/Managers/ProcessManager.cs (9 hunks)
  • HandheldCompanion/Managers/ProfileManager.cs (2 hunks)
  • HandheldCompanion/Managers/ToastManager.cs (4 hunks)
  • HandheldCompanion/Managers/VirtualManager.cs (1 hunks)
  • HandheldCompanion/Misc/Profile.cs (2 hunks)
  • HandheldCompanion/Processors/AMD/RyzenAdj.cs (2 hunks)
  • HandheldCompanion/Processors/AMDProcessor.cs (3 hunks)
  • HandheldCompanion/Properties/Resources.Designer.cs (5 hunks)
  • HandheldCompanion/Properties/Resources.de-DE.resx (1 hunks)
  • HandheldCompanion/Properties/Resources.es-ES.resx (1 hunks)
  • HandheldCompanion/Properties/Resources.fr-FR.resx (1 hunks)
  • HandheldCompanion/Properties/Resources.it-IT.resx (1 hunks)
  • HandheldCompanion/Properties/Resources.ja-JP.resx (1 hunks)
  • HandheldCompanion/Properties/Resources.ko-KR.resx (1 hunks)
  • HandheldCompanion/Properties/Resources.pt-BR.resx (1 hunks)
  • HandheldCompanion/Properties/Resources.resx (2 hunks)
  • HandheldCompanion/Properties/Resources.ru-RU.resx (1 hunks)
  • HandheldCompanion/Properties/Resources.zh-Hans.resx (1 hunks)
  • HandheldCompanion/Properties/Resources.zh-Hant.resx (1 hunks)
  • HandheldCompanion/Properties/Settings.Designer.cs (1 hunks)
  • HandheldCompanion/Properties/Settings.settings (1 hunks)
  • HandheldCompanion/UI/UIGamepad.cs (3 hunks)
  • HandheldCompanion/ViewModels/ControllerViewModel.cs (1 hunks)
  • HandheldCompanion/ViewModels/Pages/DevicePageViewModel.cs (2 hunks)
  • HandheldCompanion/ViewModels/Pages/LibraryPageViewModel.cs (5 hunks)
  • HandheldCompanion/ViewModels/Pages/ProfilesPageViewModel.cs (3 hunks)
  • HandheldCompanion/ViewModels/Pages/QuickApplicationPageViewModel.cs (1 hunks)
  • HandheldCompanion/ViewModels/ProfileViewModel.cs (2 hunks)
  • HandheldCompanion/ViewModels/Windows/OverlayQuickToolsViewModel.cs (3 hunks)
  • HandheldCompanion/Views/Pages/DevicePage.xaml (2 hunks)
  • HandheldCompanion/Views/Pages/DevicePage.xaml.cs (1 hunks)
  • HandheldCompanion/Views/Pages/LibraryPage.xaml (1 hunks)
  • HandheldCompanion/Views/Pages/ProfilesPage.xaml (4 hunks)
  • HandheldCompanion/Views/Pages/ProfilesPage.xaml.cs (3 hunks)
  • HandheldCompanion/Views/SplashScreen.xaml (4 hunks)
  • HandheldCompanion/Views/SplashScreen.xaml.cs (1 hunks)
  • HandheldCompanion/Views/TemplatesDictionary.xaml (6 hunks)
  • HandheldCompanion/Views/Windows/MainWindow.xaml.cs (2 hunks)
  • HandheldCompanion/Views/Windows/OverlayQuickTools.xaml (1 hunks)
  • hidapi.net/HidDevice.cs (3 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai bot mentioned this pull request Feb 1, 2026
@Valkirie Valkirie deleted the 0.28.2.2 branch February 1, 2026 16:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants