mirror of
https://github.com/safijari/openpuck.git
synced 2026-11-03 22:30:22 +00:00
[PR #242] [MERGED] Allow emulating a Steam Machine's receiver instead of a Puck #256
Labels
No labels
pull-request
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
safijari/openpuck#256
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
📋 Pull Request Information
Original PR: https://github.com/safijari/openpuck/pull/242
Author: @Leseratte10
Created: 8/22/2026
Status: ✅ Merged
Merged: 9/4/2026
Merged by: @safijari
Base:
main← Head:machine3📝 Commits (4)
d518bc3Allow emulating Steam Machine internal receiver9a97bd0Fix6dd1dd3Fix clang-format634942eFix comment📊 Changes
7 files changed (+78 additions, -25 deletions)
View changed files
📝
OpenPuck/config.cpp(+11 -3)📝
OpenPuck/config.h(+2 -0)📝
OpenPuck/identity.cpp(+9 -1)📝
OpenPuck/identity.h(+3 -2)📝
OpenPuck/puck_hid.cpp(+17 -4)📝
OpenPuck/webusb_config.cpp(+28 -15)📝
docs/index.html(+8 -0)📄 Description
This adds a toggle to the WebUSB configuration page (taking the spot of the unused
rsvd2variable) to choose whether OpenPuck should emulate a Steam Controller Puck, or a Steam Machine internal receiver.This is mostly just cosmetics (it shows "Steam Machine Internal Adapter" instead of "Steam Controller Puck"), but it might be helpful for people actually putting an OpenPuck chip inside their own custom Steam Machine, since it lets Steam know that that's not actually a Puck the controller can be placed on.
This re-uses the
rsvd2variable previously used for g_landAll87. To make sure there's no conflicts with past values, I've added a new magic value "0xEE" for this variable; only this value will make OpenPuck act like a Steam Machine.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.