I am an amputee that loves to game. My right arm ends about 2" below the elbow. So long as a game doesn't simultaneously require the use of the right bumpers and right side buttons/stick, I am generally fine. But as you well know, most games' primary actions utilize R1/R2. Unfortunately, most console games do not offer the option to fully remap the controls, so much of my gaming is done on my PC.
Over the years I have tried a myriad of different products like the Penguin United's Eagle Eye and Ben Heck's Access controller. but they just don't provide the same tight feel of an OEM controller. Then I came across the XCM Swapper. This is a device that you plug your PS3 controller into and plug it into the PS3. It essentially intercepts the controllers button press signal, and changes it to another button, and sends on to the PlayStation. So essentially, you want to use L2 instead of R2 for the trigger in an FPS. You program the XCM Swapper with this, and when you press L2, it intercepts that signal, changes it to the R2 signal, and relays to the PlayStation, which is none the wiser. I like that it is programmable quickly on the fly so you can experiment with the best key mappings quickly.
Unfortunately, the XCM swapper is hard to come by. You can pretty much only buy it direct from China and it is a bit pricey. i am afraid of spending the money and receiving a device that is defective of dies soon after. I am wondering if it is possible to use an Arduino or RaspberryPi or whatever to replicate the XCM Swapper's functionality. I am brand new to the arduino world, but do work in the IT industry. Thoughts?
tl;dr: Amputee wondering if arduino can be used for remapping controller buttons on the fly.
Hi, would love to help though a little out of my league i feel
Im not confident you could do this with an arduino alone, due to having to read the protocol coming from the controller and parsing it back out to a PS
I did come across this instructable though, which uses a wireless controller via bluetooth back to a pc, and the PC handles all of the protocol translation, and then retransmits it to an Arduino using a wireless Xbee.
I am sure you could adapt this method to suit your needs
BradGee:
I did come across this instructable though, which uses a wireless controller via bluetooth back to a pc, and the PC handles all of the protocol translation, and then retransmits it to an Arduino using a wireless Xbee.
In this case, might just ditch the arduino all together, so transmitting from controller to PC and PC to PS3. It's that last link that I'm unsure how to do.
I'm not a gamer but I may be able to shed some light on this subject. I once built a custom keyboard using a super expensive all-metal keyboard I bought surplus for $50. (mostly because it was so big and looked so cool). It was originally made for an ATE. It
was a parallel output keyboard. I took it apart and found where the cable connected to the PCB to isolate the location of the parallel
pins. I had no documentation so I had to wing it. I connected wires to the output to drive leds and pressed keys and looked up the ASCII code for those keys. By using certain keys it was easy to determine the MSB and the LSB. Then I wired in a UART (parallel to serial converter chip) and used the parallel lines to address the UART and generate serial ASCII. Then I inserted a PROM between the parallel output and the UART and programmed the addresses to output STANDARD ASCII instead of the custom keyset that it originally had. I pressed a key , the address lines addressed the memory location where I burned the ASCII I wanted to assign to that key and the output of the PROM was connected to the parallel input of the UART resulting in a standard ascii serial keyboard with
dip-switch progammable baud rate. The electronics may be simpler than the physical replication of the XCM. If you can replicate the functionality where are you going to connect it ? (what device are you going to hack ?)