feat(protocol): TLV metadata on controller arrival, player LED and mic LED extensions #137
No reviewers
Labels
No labels
bug
dependencies
duplicate
enhancement
hacktoberfest-accepted
invalid
question
submodules
wontfix
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-moonlight-stream/moonlight-common-c!137
Loading…
Reference in a new issue
No description provided.
Delete branch "hkirste/feat/controller-metadata-tlv"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Adds three Sunshine protocol extensions for DualSense controller support:
TLV metadata on controller arrival:
LiSendControllerArrivalEventWithMetadata()appends optional TLV (Type-Length-Value) entries after the fixed arrival packet fieldsLI_CTRL_META_TAG_FIRMWARE_INFO(0x01): carries the raw 64-byte HID feature report 0x20 from the client's physical controllerLiSendControllerArrivalEvent()preserved as a thin wrapper (backwards compatible)Player LED (0x5504):
Mic LED (0x5505):
Adds
ConnListenerSetPlayerLedandConnListenerSetMicLedtoCONNECTION_LISTENER_CALLBACKS.Context
These extensions support Sunshine's WinUHid-based virtual DualSense emulation on Windows (LizardByte/Sunshine#4948). The firmware passthrough prevents spurious "firmware update required" prompts, and the LED extensions enable full DualSense indicator fidelity during streaming.
Test plan
View command line instructions
Manual merge helper
Use this merge commit message when completing the merge manually.
Checkout
From your project repository, check out a new branch and test the changes.Merge
Merge the changes and update on Forgejo.Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.