[PR #303] Add optional Switch Pro profiles, trackpad D-pad and HD Rumble Emulation #277

Open
opened 2026-10-22 05:08:37 +00:00 by roman · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/safijari/openpuck/pull/303
Author: @Froggerdog
Created: 10/2/2026
Status: 🔄 Open

Base: main ← Head: switch-profiles-hd-emulation-dpad-controls


📝 Commits (1)

  • 6fdd6eb Add optional Switch Pro profiles, trackpad D-pad and HD Emulation

📊 Changes

31 files changed (+1853 additions, -154 deletions)

View changed files

📝 OpenPuck/OpenPuck.ino (+4 -1)
📝 OpenPuck/bonds.cpp (+9 -9)
📝 OpenPuck/config.cpp (+218 -11)
📝 OpenPuck/config.h (+24 -1)
📝 OpenPuck/gamepad_util.cpp (+36 -4)
📝 OpenPuck/gamepad_util.h (+2 -0)
📝 OpenPuck/haptics.cpp (+279 -1)
📝 OpenPuck/haptics.h (+12 -1)
📝 OpenPuck/lizard_map.cpp (+12 -9)
📝 OpenPuck/mode_dinput.cpp (+2 -2)
📝 OpenPuck/mode_sinput.cpp (+1 -1)
📝 OpenPuck/mode_switch_hori.cpp (+1 -7)
📝 OpenPuck/mode_switch_pro.cpp (+133 -37)
📝 OpenPuck/mode_xbox_og.cpp (+1 -1)
📝 OpenPuck/mode_xinput.cpp (+2 -2)
📝 OpenPuck/rf_link.cpp (+76 -36)
📝 OpenPuck/serial_console.cpp (+9 -2)
➕ OpenPuck/storage.cpp (+66 -0)
➕ OpenPuck/storage.h (+9 -0)
📝 OpenPuck/triton.h (+43 -1)

...and 11 more files

📄 Description

  • Adds an option not to have controller modes via shortcuts, but rather have different back button profiles all for switch.
  • Adds option to use trackpads as dpad, with optional haptics
  • Adds option to have QAM be the shortcut modifier instead of 4 back buttons (QAM + select/minus will be default for screenshots)
  • Adds haptics for shortcut presses
  • Adds HD rumble emulation, bringing trackpad haptics into the fold
  • Rumble strength and trackpad strength can be edited independently
  • New optional shortcuts to cycle 3 rumble states with (modifier + dpad left).
  • New optional shortcuts to cycle 3 rumble intensities for the trackpads and the grips (modifier +dpad up/down respectively)
  • 3 rumble states and 3 rumble intensities configurable in the web configurator
  • option 1 has one vibration, 2 has 2, and 3 has 3 so you can tell which one you're on

🔄 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/303 **Author:** [@Froggerdog](https://github.com/Froggerdog) **Created:** 10/2/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `switch-profiles-hd-emulation-dpad-controls` --- ### 📝 Commits (1) - [`6fdd6eb`](https://github.com/safijari/openpuck/commit/6fdd6eb988bf4bdb5505f484b88b1f93d0abf9a4) Add optional Switch Pro profiles, trackpad D-pad and HD Emulation ### 📊 Changes **31 files changed** (+1853 additions, -154 deletions) <details> <summary>View changed files</summary> 📝 `OpenPuck/OpenPuck.ino` (+4 -1) 📝 `OpenPuck/bonds.cpp` (+9 -9) 📝 `OpenPuck/config.cpp` (+218 -11) 📝 `OpenPuck/config.h` (+24 -1) 📝 `OpenPuck/gamepad_util.cpp` (+36 -4) 📝 `OpenPuck/gamepad_util.h` (+2 -0) 📝 `OpenPuck/haptics.cpp` (+279 -1) 📝 `OpenPuck/haptics.h` (+12 -1) 📝 `OpenPuck/lizard_map.cpp` (+12 -9) 📝 `OpenPuck/mode_dinput.cpp` (+2 -2) 📝 `OpenPuck/mode_sinput.cpp` (+1 -1) 📝 `OpenPuck/mode_switch_hori.cpp` (+1 -7) 📝 `OpenPuck/mode_switch_pro.cpp` (+133 -37) 📝 `OpenPuck/mode_xbox_og.cpp` (+1 -1) 📝 `OpenPuck/mode_xinput.cpp` (+2 -2) 📝 `OpenPuck/rf_link.cpp` (+76 -36) 📝 `OpenPuck/serial_console.cpp` (+9 -2) ➕ `OpenPuck/storage.cpp` (+66 -0) ➕ `OpenPuck/storage.h` (+9 -0) 📝 `OpenPuck/triton.h` (+43 -1) _...and 11 more files_ </details> ### 📄 Description - Adds an option not to have controller modes via shortcuts, but rather have different back button profiles all for switch. - Adds option to use trackpads as dpad, with optional haptics - Adds option to have QAM be the shortcut modifier instead of 4 back buttons (QAM + select/minus will be default for screenshots) - Adds haptics for shortcut presses - Adds HD rumble emulation, bringing trackpad haptics into the fold - Rumble strength and trackpad strength can be edited independently - New optional shortcuts to cycle 3 rumble states with (modifier + dpad left). - New optional shortcuts to cycle 3 rumble intensities for the trackpads and the grips (modifier +dpad up/down respectively) - 3 rumble states and 3 rumble intensities configurable in the web configurator - option 1 has one vibration, 2 has 2, and 3 has 3 so you can tell which one you're on --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
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#277
No description provided.