mirror of
https://github.com/safijari/openpuck.git
synced 2026-11-04 06:34:45 +00:00
[PR #85] [CLOSED] Add PS3 mode: DualShock 3 personality with gyro and haptics #191
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#191
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/85
Author: @Copilot
Created: 6/25/2026
Status: ❌ Closed
Base:
main← Head:copilot/add-ps3-mode-gyro-haptics📝 Commits (3)
3b64b79Add MODE_PS3: DualShock 3 personality with gyro and haptics88d7743Improve comments in mode_ps3.cpp (MAC, IMU scale, 257u factor)97fe35bMerge branch 'main' into copilot/add-ps3-mode-gyro-haptics📊 Changes
5 files changed (+390 additions, -10 deletions)
View changed files
📝
OpenPuck/OpenPuck.ino(+10 -8)📝
OpenPuck/config.h(+5 -2)📝
OpenPuck/controllers.cpp(+3 -0)➕
OpenPuck/mode_ps3.cpp(+346 -0)➕
OpenPuck/mode_ps3.h(+26 -0)📄 Description
Adds
MODE_PS3(mode 9) so the puck enumerates as a DualShock 3 (054C:0289) and operates on a PS3 console.New files:
mode_ps3.h/mode_ps3.cpp054CPID0289(DS3 with vibration), bcdDevice0100, Sony strings0x01): matches real DS3 wire layout — reserved bytes, 19 digital buttons, analog sticks, 12 analog button pressures, status byte, 8-byte IMU>>6shift (fills 0–1023; tunable)OUTPUT 0x01bytes 2 (right-motor on/off) and 4 (left-motor power) forwarded tohapticSteamRumbleGET_FEATURE 0xF2(device MAC),0xF5(USB-connected status),SET_FEATURE 0xF4(enable) accepted silentlymaxSlots() = 1: PS3 expects one gamepad per USB portmodeIsCleanPSreturns true — no wake-mouse or WebUSB, matchingMODE_PS5_GAME/MODE_DS4_GAMEconfig.hMODE_PS3 = 9,MODE_MAX = 9modeIsCleanPS()andetypeForMode()updated; PS3 sharesET_DS4(same PlayStation button layout and back-paddle config)controllers.cpp/OpenPuck.inoMODE_PS3wired intocontrollerFor()MODE_SUFFIXextended with'3',MODE_NAMEwith"PS3(dualshock3+gyro)",usbReenumeratebounds updated toMODE_MAXSwitch into PS3 mode via CDC
x9or the WebUSB panel (mode 9).🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.