Skip to content

Commit 3abdef6

Browse files
committed
feat(persona): add adaptive gamepad modes (2026.6.15.7-6BC8)
1 parent 844fa5f commit 3abdef6

40 files changed

Lines changed: 2304 additions & 357 deletions

NOTICE

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,7 @@ Release archives published from this repository contain:
1515

1616
The build uses Rust crates from crates.io and the Raspberry Pi Pico SDK. Those
1717
components retain their own upstream licenses.
18+
19+
Portions of the PlayStation and Xbox One USB descriptor/report reference data
20+
are adapted from GP2040-CE, Copyright (c) 2024 OpenStickCommunity
21+
(gp2040-ce.info), licensed under the MIT License.

README.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Parsec CouchLink lets a remote Parsec player use a real retro console as player
44

55
The Windows host reads the Parsec virtual Xbox controller, sends the button state over Wi-Fi, and a Raspberry Pi Pico 2 W or Pico W presents that input as a USB controller to a console adapter such as USB4MAPLE.
66

7-
For games that need a keyboard instead -- Typing of the Dead on the Dreamcast, for one -- the same Pico can switch to a USB keyboard with `couchlink.exe keyboard` and forward the player's typing. For Dreamcast Maple adapters, `couchlink.exe maple` keeps a Maple-labelled Xbox 360-compatible mode, and `couchlink.exe dinput` presents an experimental 8BitDo Pro 2 D-Input HID gamepad shape for adapters that accept DInput. See [Controller Routing](https://github.com/RealWhyKnot/ParsecCouchLink/wiki/Controller-Routing) for keyboard, Maple, and DInput modes.
7+
For games that need a keyboard instead -- Typing of the Dead on the Dreamcast, for one -- the same Pico can switch to a USB keyboard with `couchlink.exe keyboard` and forward the player's typing. For adapters with uncertain gamepad support, `couchlink.exe auto` tries the supported gamepad USB modes and keeps the first one the adapter polls. See [Controller Routing](https://github.com/RealWhyKnot/ParsecCouchLink/wiki/Controller-Routing) for Auto, Xbox, DInput/PlayStation, Maple, and keyboard modes.
88

99
**[Releases](https://github.com/RealWhyKnot/ParsecCouchLink/releases)** | **[Wiki](https://github.com/RealWhyKnot/ParsecCouchLink/wiki)** | **[Quick Start](https://github.com/RealWhyKnot/ParsecCouchLink/wiki/Quick-Start)** | **[Troubleshooting](https://github.com/RealWhyKnot/ParsecCouchLink/wiki/Troubleshooting)**
1010

@@ -16,7 +16,7 @@ For games that need a keyboard instead -- Typing of the Dead on the Dreamcast, f
1616
- Raspberry Pi Pico W or Pico WH (RP2040 + Wi-Fi) -- also fully supported
1717
- Micro-USB data cable
1818
- 2.4 GHz Wi-Fi name and password (both boards use a 2.4 GHz-only radio)
19-
- USB4MAPLE or another USB-to-console adapter that accepts Xbox 360/XInput or DInput-style USB controllers
19+
- USB4MAPLE or another USB-to-console adapter that accepts Xbox 360, Xbox One, PS3, PS4, or keyboard USB devices
2020
- The console and controller adapter you want to use
2121

2222
## Quick Start
@@ -56,10 +56,16 @@ Useful commands:
5656

5757
```powershell
5858
.\couchlink.exe doctor
59+
.\couchlink.exe auto
60+
.\couchlink.exe xbox
61+
.\couchlink.exe xinput
62+
.\couchlink.exe xbox360
63+
.\couchlink.exe xboxone
5964
.\couchlink.exe keyboard
60-
.\couchlink.exe controller
6165
.\couchlink.exe maple
6266
.\couchlink.exe dinput
67+
.\couchlink.exe ps3
68+
.\couchlink.exe ps4
6369
.\couchlink.exe logs --tail
6470
.\couchlink.exe configure-wifi
6571
.\couchlink.exe recover
@@ -80,7 +86,7 @@ start streaming.
8086

8187
`couchlink lab` is for development benches with the Pico plugged into the
8288
Windows host. `--power pnp-remove` asks Windows to remove and rescan the
83-
CouchLink Pico devices, including the run-mode XInput controller, which is
89+
CouchLink Pico devices, including the run-mode XInput device, which is
8490
useful for checking reconnect handling. It is not a physical cable pull or a
8591
USB power cut; use an external power backend for that.
8692

@@ -92,8 +98,9 @@ If something went wrong, the fastest path is:
9298
2. Open an issue at <https://github.com/RealWhyKnot/ParsecCouchLink/issues>
9399
3. Fill in the form and drag the generated ZIP into the comment box.
94100

95-
The bundle contains logs, doctor output, and firmware diagnostics when
96-
the Pico is reachable. It does NOT contain your Wi-Fi password.
101+
The bundle contains logs, doctor output, firmware diagnostics, USB adapter
102+
counters, and recent Windows USB events when the Pico is reachable. It does
103+
NOT contain your Wi-Fi password.
97104

98105
If the bridge won't run at all, the setup transcript at
99106
`%LOCALAPPDATA%\ParsecCouchLink\data\logs\setup-*.log` is the next-best

0 commit comments

Comments
 (0)