I’ve been wanting a gaming footpedal for awhile. I’ve been playing Counterstrike for many years and recently I’ve been sick of my keyboard/mouse settings for my talk and walk buttons. When I am steadily aiming at a wall, waiting for someone to round the corner for that headshot I don’t want to hit a button on my mouse to talk to the team and tense up my hand and possibly throw off my aim. Also, if I am in the middle of a firefight I don’t want to have to hit a keyboard button to talk because it would mess up my moving/crouching/jumping etc. This goes the same with the walk button, but less so.
Well recently we were cleaning out upstairs at work and I found an old controller with a footpedal. It was getting thrown out so I got my hands on it and took it a part with the purpose of using it as my walk/talk buttons.
I took it a part and the cable had five wires.
Green wire was chassis ground on the pedal, Red was the NO connection for both pedals, Blue was the NC connection for both pedals, and Yellow and Black were signal wires for the pedals. A friend from Sector67 turned me on to Teensy boards, which are USB Atmel AVR’s, they are small and can be programmed through USB. These are often used for HID Keyboard hacks, here is the one I am using
I stripped the foot pedal wires and connected them to the board. I connected the NO connection to ground, and both signal wires to pins on PORTB. PORTB is set up to internally pullup to VCC. I then edited some sample Teensy code and tossed it on the board to press the 7 and 8 buttons on the numpad for each pedal.
(Code was lost in website upgrade, examples for HID keyboards here)
Works great, here is the semi finished product
Next steps are to add a status LED, secure the board in place, and to use Sugru to add good looking strain reliefs to the cables.
I’m also thinking of adding a pushbutton and making the controller configurable using a windows based program communicating over the USB port. You could press the button, open up the program, and change what keys the pedals are bound to.