[PR #125] [MERGED] Improvements to scpair.py #214

Closed
opened 2026-10-22 05:07:42 +00:00 by roman · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/safijari/openpuck/pull/125
Author: @Leseratte10
Created: 7/5/2026
Status: ✅ Merged
Merged: 7/5/2026
Merged by: @safijari

Base: main ← Head: main


📝 Commits (1)

  • f41641d Improvements to scpair.py

📊 Changes

1 file changed (+161 additions, -85 deletions)

View changed files

📝 ReversePuck/scpair.py (+161 -85)

📄 Description

This fixes a bunch of issues in scpair.py (and uncovers a bug in the OpenPuck firmware for which I will open a separate issue shortly).

  • If you had multiple pucks connected (say, two), that was displayed as one puck with 8 slots. Now it correctly displays the two pucks separately.
  • Fixes bug in pair() where --slot was used both for the puck slot and the controller slot. Now there's separate parameters.
  • The /dev/hidraw entries were sorted alphabetically, not numerically. This means 10 came before 9. Depending on the amount of HID devices you have connected to your machine, if the Puck's interface cross such a boundary, the puck slots were displayed (and written to!) in the wrong order. This is now fixed by ensuring these are sorted numerically.
  • Removes the "unpair" functionality since during my tests, it didn't even work. A controller can still be unpaired by running write-puck and then write-controller, both with an empty key.
  • Adds the parameter --puck-serial to choose between different pucks when pairing or writing to puck slots.
  • Adds a parameter so you can write arbitrary text instead of a serial number into the controller or puck pairing slot. This will actually be displayed by Steam and apparently has no effect on the connection, the connection only relies on the 8-byte key.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/safijari/openpuck/pull/125 **Author:** [@Leseratte10](https://github.com/Leseratte10) **Created:** 7/5/2026 **Status:** ✅ Merged **Merged:** 7/5/2026 **Merged by:** [@safijari](https://github.com/safijari) **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (1) - [`f41641d`](https://github.com/safijari/openpuck/commit/f41641d4b1ee2863c5ed5aec00af690d5822d726) Improvements to scpair.py ### 📊 Changes **1 file changed** (+161 additions, -85 deletions) <details> <summary>View changed files</summary> 📝 `ReversePuck/scpair.py` (+161 -85) </details> ### 📄 Description This fixes a bunch of issues in scpair.py (and uncovers a bug in the OpenPuck firmware for which I will open a separate issue shortly). - If you had multiple pucks connected (say, two), that was displayed as one puck with 8 slots. Now it correctly displays the two pucks separately. - Fixes bug in pair() where --slot was used both for the puck slot and the controller slot. Now there's separate parameters. - The /dev/hidraw entries were sorted alphabetically, not numerically. This means 10 came before 9. Depending on the amount of HID devices you have connected to your machine, if the Puck's interface cross such a boundary, the puck slots were displayed (and written to!) in the wrong order. This is now fixed by ensuring these are sorted numerically. - Removes the "unpair" functionality since during my tests, it didn't even work. A controller can still be unpaired by running write-puck and then write-controller, both with an empty key. - Adds the parameter `--puck-serial` to choose between different pucks when pairing or writing to puck slots. - Adds a parameter so you can write arbitrary text instead of a serial number into the controller or puck pairing slot. This will actually be displayed by Steam and apparently has no effect on the connection, the connection only relies on the 8-byte key. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
roman 2026-10-22 05:07:42 +00:00
Sign in to join this conversation.
No labels
pull-request
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
safijari/openpuck#214
No description provided.