I've been wanting to tackle this for awhile now, and now after completing it I know why I didn't try it sooner, it's a bit of a witch.
The PS3 controller uses a really complex button layout, compared to the typical Common Ground or Common Line setup, it uses 3 common lines for all of the buttons (4 if you include the PS button) and of the main ones that you'd most likely want to swap around, the D-pad, face buttons and shoulder buttons, if you don't stay on the same side of the controller it's a real mess to move around, if not right next to impossible. Swapping X and O, or R1 and [ ] is something that isn't too difficult as they all share the same COM line, but to swap R1 and L1, that's where it gets to be a chore.
This controller has everything swapped, minus the Select, PS and Start buttons, which is actually much easier than trying to swap just a few buttons like R1 and L1. The reason for that is because each 'side' of the controller uses a different common line, the D-pad, L1 and L2 share the same common line, while the X, O, [ ], /\, R1 and R2 buttons share a different one, so it's not just a simple matter of swapping 1 line per button like it is with a Common Ground type of controller, and with the way the DS3 Daughter board connects to the controller, not to mention how it's made, it's right freaking impossible to swap a few buttons because of the common line and then you can't just cut traces on the Daughter board and rewire it there. On the older version controllers that still used the Daughter board connector it was still a royal pain to swap buttons around, as seen on
this controller I did awhile back, but with this new Daughter board connection it makes doing even something like that much more difficult than it already is.
So onto why swapping the entire button layout is such a pain. One might think that just swapping the COM lines would result in a full SP swap, and in a way you'd be right because that has to be done anyway, but it makes for a completely rearranged button layout when only that is done..
Actual Button is When Pressed
DU is R2
DD is /\
DL is O
DR is R1
L1 is [ ]
L2 is X
/\ is DD
[ ] is L1
X is L2
O is DL
R1 is DR
RD is DU
Now if you notice the pattern there it makes sense, because of how the buttons are laid out on the Daughter board, one side is just a mirror image of the other. This unfortunately means that every line needs to be cut and rewired so that when you press DU you get /\, and so forth and so on. So after every line is cut it gets rewired like...
Button Line to Controller Line
DU to DD
DD to L2
DL to L1
DR to DL
L1 to DR
L2 to DU
/\ to R2
[ ] to O
X to /\
O to R1
R1 to [ ]
R2 to X
Which means 2 trace cuts to make, and then 2 traces and 3 Vias to prep for soldering on the top of the board.
(IMG:
http://i50.photobucket.com/albums/f320/RDCXBG/Custom%20Controllers/VX3_007FULLSPTopRewire.jpg)
Then on the bottom of the board the real fun is had, with 12 traces to cut and then 5 traces and 14 Vias to prep for soldering to, plus 1 IC leg.
(IMG:
http://i50.photobucket.com/albums/f320/RDCXBG/Custom%20Controllers/VX3_007FULLSPBottomRewire.jpg)
...and then ends up looking like this on the MSU_VX3_0.07 version controller, as well as the 0.08 and 0.11 since they have the same board configuration.
TOP SIDE REWIRE(IMG:
http://i50.photobucket.com/albums/f320/RDCXBG/Custom%20Controllers/VX3_007FULLSPTop.jpg)
BOTTOM SIDE REWIRE(IMG:
http://i50.photobucket.com/albums/f320/RDCXBG/Custom%20Controllers/VX3_007FULLSPBottom-1.jpg)
I still have the Sticks and L3/R3 buttons to swap on this one, and that'll be another 6 to 10 wires depending on how I go about that. Then it'll be done, a full SouthPaw DS3 controller, internally of course, maybe one day I'll do a full shell swap as well as the insides like I did with the
Sinister SP controller for the 360, but that's for another time.
This post has been edited by RDC: Feb 12 2010, 05:54 AM