XOR Userforum
"Full" Sega Gamepad Mapping - Printable Version

+- XOR Userforum (https://forum.xor.eu)
+-- Forum: Products (https://forum.xor.eu/forumdisplay.php?fid=3)
+--- Forum: NerdSEQ (https://forum.xor.eu/forumdisplay.php?fid=6)
+---- Forum: Project / Mapping Exchange (https://forum.xor.eu/forumdisplay.php?fid=30)
+----- Forum: Mappings (https://forum.xor.eu/forumdisplay.php?fid=33)
+----- Thread: "Full" Sega Gamepad Mapping (/showthread.php?tid=2040)



"Full" Sega Gamepad Mapping - chasing_ghosts - 12-22-2025

Hi all,

I quite enjoy using my NerdSEQ connected up to an HDMI screen, and using an 8bitdo M30 2.4g wireless Sega gamepad. I'm always a little frustrated, though, that the the built-in button mapping screen doesn't let you fully control the NerdSEQ just from the gamepad, as there aren't enough buttons on the gamepad to map onto each NerdSEQ button, and 'chording' button combinations aren't generally supported.

I'd been toying with using mappings to allow button combinations, so that there would be a way to reproduce all NerdSEQ button presses just from a gamepad. After Thomas shared a toy example of a button combination on Discord, I decided to sit down and work it out.

The attached mapping--made on firmware v3.0--uses a good chunk of the mapping table (rows 00--2E), but allows arbitrary button combinations on the gamepad. I developed it for the 8bitdo M30, which has two shoulder buttons (LT|RT) mapped to (Z|C). It should more or less work on other controllers, though.

Current mappings:

Code:
  | modifier | button | mapping |   
  |----------|--------|-------- |   
  | -        | A      | Stop    |   
  | -        | B      | OK      |   
  | -        | X      | Mark    |   
  | -        | Y      | Copy    |   
  | -        | Z/LT   | Delete  |   
  | RT(C)    | A      |  -      |   
  | RT(C)    | B      |  -      |   
  | RT(C)    | X      | Record  |   
  | RT(C)    | Y      | Nerd    |   
  | RT(C)    | Z(LT)  | Setup   |   
  | LT(Z)    | A      | -       |   
  | LT(Z)    | B      | Down    |   
  | LT(Z)    | C(RT)  | Setup   |   
  | LT(Z)    | X      | -       |   
  | LT(Z)    | Y      | Up      |

Things to note:
  • All button mappings need to be turned off in the gamepad setup screen.
  • To allow combinations, buttons are registered when you release the combination, rather than when you press a button.
  • "Start" and "Mode" are mapped to "Shift" and "Start" respectively, and aren't included in button combinations. (So Shift+<combination> acts as you'd expect.)
  • "Mode" is mapped to "Start", rather than "Shift", because holding it down for three seconds changes the 8bitdo M30 to a reduced three-button mode.

It's easy to add other combinations, but each one adds two or three rows in the table. Very open to being told that I've done this inefficiently and stupidly. :)

I've thrown this up on Github here: https://github.com/josswright/nerdseq-mapping-sega. (I'd love to see the tool to convert mappings to human readable format and back again!)