feat(input): update libvirtualhid integration - #5563
Conversation
Renamed the license-state refresh flow from mouse-only to shared virtual input so Sunshine now recreates both libvirtualhid keyboard and mouse devices, including resetting keyboard/mouse state before refresh. Added explicit keyboard refresh support in the virtualhid input context and wired config HTTP license updates to trigger the full refresh. Updated Windows-facing messaging and docs to describe Raw Input keyboard + mouse support, added troubleshooting guidance for keyboard detection, and adjusted tray/UI localization strings accordingly. Also bumped the minimum supported Virtual HID Driver version to 2026.826.2024.22, updated related unit tests, and advanced the libvirtualhid submodule.
Bundle ReportChanges will increase total bundle size by 91 bytes (0.0%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: sunshine-esmAssets Changed:
|
Build artifactsArtifacts from workflow run 33283016496:
You must be signed in to GitHub to download workflow artifacts. |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #5563 +/- ##
==========================================
+ Coverage 33.65% 33.91% +0.25%
==========================================
Files 104 104
Lines 25125 25193 +68
Branches 11118 11145 +27
==========================================
+ Hits 8457 8543 +86
- Misses 13824 15635 +1811
+ Partials 2844 1015 -1829
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 41 files with indirect coverage changes Continue to review full report in Codecov by Harness.
|
Screenshot ComparisonPR #5563 screenshots vs Matrix:
|
596fbf9 to
91434da
Compare
Introduce a new gamepad feedback path for player indicator LEDs, including a new feedback message type, control-stream packet encoding (0x5504), and virtual HID output handling with deduplication of repeated LED states. Broaden controller extension capability detection from touchpad-only to touchpad-or-motion and use it consistently across Linux, macOS, and Windows capability reporting. Update unit tests to cover both touchpad support and controller extension advertising, plus player LED routing/dedup behavior, and bump the libvirtualhid submodule.
91434da to
923eb82
Compare
13e5b36 to
735842d
Compare
735842d to
2ab80c8
Compare
Extend udev rule reloading to cover hidraw and input subsystems so permissions are applied to dynamically created libvirtualhid gamepad child nodes, not just /dev/uinput and /dev/uhid. Also: - Always install the udev rules file regardless of whether libudev is detected at build time - Add Homebrew postinst support to copy rules to host-monitored directories - Trigger udevadm reload on rule removal (AppImage, Flatpak) - Update comments to say "gamepad emulation" instead of "DS5 emulation" - Add docs clarifying that manual chmod/setfacl changes are lost on reconnect and how to reload rules
67945fd to
50c5419
Compare
Raise the minimum supported Virtual HID Driver version to `2026.829.2338.54` in config HTTP status output, update the related unit test expectations, and sync the Getting Started and Troubleshooting docs. The embedded `libvirtualhid` submodule is also updated to match the newer Windows control and broker protocol requirements.
|



























































Description
TODO:
Screenshot
Issues Fixed or Closed
Roadmap Issues
Type of Change
Checklist
AI Usage
See our AI usage policy.