Skip to content

Separate improved handler Mad Catz C.T.R.L. R Model 32266 - #1136

Open
MattCarrX wants to merge 6 commits into
ndeadly:masterfrom
MattCarrX:master
Open

Separate improved handler Mad Catz C.T.R.L. R Model 32266#1136
MattCarrX wants to merge 6 commits into
ndeadly:masterfrom
MattCarrX:master

Conversation

@MattCarrX

@MattCarrX MattCarrX commented Aug 30, 2026

Copy link
Copy Markdown

This is a new class MadCatz32266Controller that has improved support for the Mad Catz C.T.R.L. R Mobile GamePad Model 32266 (and the Micro variant). It now supports all standard Switch buttons and triggers reliably, and maps Capture and Home to V- and V+ on the media bar. (These buttons are just above Back and Start.)

Users are asked to set the pad to Desktop mode as this sets the triggers to digital mode, and fixes the unreliable Back button (which would otherwise be mapped to an instantaneous tap Android-Back/System-Back event).

This version supports both the stock firmware and the 125 firmware - the only way to currently tell them apart is by the length of the 0x01 Input Report. The new firmware trades analogue values precision for a shorter message length (and lower latency I would expect).

I've separated out support for this pad from the mad_catz file into a new .cpp/.hpp because otherwise I might've messed up the Samsung or L.Y.N.X. pad support by trying to intertwine them. I don't have a L.Y.N.X. so I didn't want to mess with it. Touch wood, this should be a good fully self contained C.T.R.L. R handler that should be '100% done' now (unless someone reverse engineers the extra Input/Output Reports that measure battery level - the Windows and Android 'A.P.P.' programs can access these). As I said on Discord, please feel free to integrate this back into mad_catz however you prefer if there's a clean way to do it, but the digital triggers mean the analogue threshold calcs aren't needed, and the different struct definitions and the different member signature for handling report 0x01 make this pad different from the other MC products.

I've added the C.T.R.L. R + instructions to the readme as well (uh sorry about those other weird edits, I think my text editor auto-clipped some trailing spaces and that's why those lines are showing up?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant