Adding a hardware button layout switch to a stick?


#1

Hi, I’m interested in looking at the possibility of installing a switch into a stick in order to go back and forth between two preset button layouts. I’ve noticed that most recent KOF players seem to use the default square button layout at events and I’m personally more familiar with the old MVS layout, which usually means either tolerating the default layout or spending a lot of time to change the control layout just to change it back for the next person in line and repeat the process (naturally SNK is still using the old slow button config method in 2013). I’m thinking that a faster option that wouldn’t inconvenience other players would be to add a switch that would toggle between the stick’s original button layout (this being an 8-button stick) and a layout for 4-button games that moves the face buttons to the top row and disables the bottom row (or just moves the L/R buttons), making it possible to switch instantly between the square and MVS layouts:

http://underground.bananachan.net/stick%20layout%20switch%20concept.png

(and I know I probably got the Xbox button labels wrong)

I’m imagining that some other players out there would find similar switch setups useful for disabling L2/R2 in Capcom games or instantly switching to arcade 5-button layouts (GG, Melty?), so I’m wondering how costly or difficult this option would be in terms of installation and added complexity of wiring. I’d be installing this in a HRAP3 with the stock PS3 PCB alongside a PSX Digital H PCB and extra wire connections going from the signal line on each button to the second PCB (the button ground lines are connected directly between the PCBs) and I’d ideally be interested in having the switch option control both, though I can reasonably consider building it with the switch hooked up to only one PCB if it would be simpler to maintain (the issue is more “relevant” to PS3 since it mostly comes up while playing 13 at events so I can consider passing on PSX switch support). If this works out then I’ll probably also be installing it into a second stick that has a PSX PCB alongside a Paewang and is wired similarly. Would it be significantly more expensive/complicated to set it up to toggle automatically when pressing a button combination (say start+select = toggle) as opposed to drilling an opening to install a physical 2-way switch? Could it be done in a way that scales up well to adding more switching options (e.g., 3-way or 4-way) or would it inevitably turn into a growing rat’s nest of wires that way?


#2

Anyone know how to do this? I would like to know also. Can a 3 way mini switch on/on/on be used like in electric guitars?


#3

The problem I see is that should you do this, all the signals are still connected. I think there would have to be some kind of diode in there between the switch and the buttons to keep them from being used. You need a Multiple Pole, Dual Throw Switch, one that I don’t know if it’s made or not, two eight pole barrier blocks, and probably twelve diodes.

I’d say that’d work, but I’m no expert. Gummo or Toodles would probably have a better idea on how to do it.


#4

I’m thinking that you could use 2 common ground PCBs on a USB hub.Then use a SPDT switch to switch ground lines from one PCB to the other.

Conversely, with a bit more work, you could use a DPDT switch to switch the ground lines and the 5v line powering each PCB to make sure that only one PCB at a time is powered.


#5

The latter option is probably best, right d3v?

I don’t think there’s anything dangerous with the former option, but with a USB splice, the latter would guarantee only one board was trying to communicate with the system at once.

But considering his proposed setup, that wouldn’t be very cost efficient, and he may not even have that kind of real estate in his stick.

If you want to have PSX support as well as 360/PS3 Support and still do this, I would take two PlayStation PCBs only, wire them up using the latter method d3v discussed, then purchase an inPin and xTokki adapter for 360 and PS3 support, and you’ve just saved yourself around $50 give or take.


#6

I have a really ghetto idea of doing this in my upcoming supergun and some DB25 modded TE sticks, basically between the buttons and the supergun you have a project box with two sets of barrier strips with 8 terminals, one side is from the TE stick’s buttons and one side is from the arcade board’s buttons, and you remap by undoing the wires from the terminals and moving them around. Like I said, ghetto. Actually this probably won’t save you any time versus remapping on the console…

For what it’s worth I’m also considering making short DB25 cables with the buttons remapped to make a box layout within the cables. Would need to make one set per game though versus making it once and remapping whenever.

If you wanna switch around a bunch of stuff without needing a billion poles, you can look into Shift Registers.


#7

Assuming that controllers are common ground, active low, you can use 2 NPN transistors and appropriately sized resistors per button (20c give or take) plus a switch to open one set of transistors or the other.

Alternatively, you could do it with an OR or two NAND gates per button and a switch. I guess you don’t need as many if you want to bank disable.


#8

The easiest way would be with XPDT switches. Ideally a 7PST switch, but you can’t get that (not for less than ~$100 anyways), so you probably end up with two 4PDT switches, like this one, and you just have to always flip them both. (Actually you could use a 4PDT for the top row and just a 4PST for the bottom, but why bother?)
Wire one side of the button to ground. Wire the other side to one of the poles on the switch. Then wire one of the throws to the PCB’s terminal for button config #1 and the other throw to the terminal for button config #2. (For disabled buttons just don’t wire up the second throw.) Some terminals on the PCB will have two wires connected to them; this is fine as only one will actually connect to a button at any given time.

The more elegant way to do it would involve some ICs. The 4066 is popular for replacing physical switches around these parts, but it’s SPST so you’d need more of them and some inverters to go with.


#9

Would a open source board like an Arduino or some other custom open source hardware option work?


#10

Liking all the different ideas here. This is what I want to do just trying to figure out how to do it. I want 3 different button configs.

Standard

X Y RB LB
A B RT LT

SF4

Back X Y RB
Back A B RT

Umvc3

LB X Y RB
LT A B RT

Was thinking of doing it the way icy black deep stated but can you get 3 button configs using 3 4dpt switches? Anyone think of a better way doing it?


#11

3 PCBs! You know you want to.


#12

Hahaha this is the only way I know how to do it and it will be messy that’s why I’m hoping some of the more experienced modders can help.


#13

> Would a open source board like an Arduino or some other custom open source hardware option work?

Yes. Pretty easily. Though it might add a couple of us of lag.

> Hahaha this is the only way I know how to do it and it will be messy that’s why I’m hoping some of the more experienced modders can help.

If you want to have a bunch of different configurations, then a microcontroller is probably the way to go.


#14

Thanks for the reply, any recommendations on micro controllers? Have never heard of them before and possibly a tutorial on how to do it?


#15

You could look at arduinos…
http://code.google.com/p/unojoy/


#16

3 PCBs is the most swag way. It also adds zero lag.


#17

> 3 PCBs is the most swag way. It also adds zero lag.

It’s probably also the expensive way to go.