Friday, October 17, 2014

Hack a USB game controller for browser reading

This is another example of a minor annoyance that snowballed into a time-consuming yet satisfying and elegant solution, all thanks to AutoHotkey (see Better Transcription... and Color Coding...).

I end up reading quite a lot of articles and documents in my web browser as I'm sure you do too. However, I find that I usually end up hunched over with my eyes too close to the screen. My index finger also gets tired from the repetitive scrolling on the mouse wheel. I thought to myself that it would be nice to just have a single button that I could press to scroll the page down while I sat back from the screen a bit. My mouse is wireless but it's awkward to hold it in my lap. I remembered that there are USB foot pedal peripherals that one can buy and program. But then the lightbulb went on!

In my backpack was a knockoff super nintendo USB controller (don't ask me why that was in my backpack, it just was). If I could use the gamepad controller to control my browser, I could sit back and read documents with ease.

A bit of research later, I came across this AutoHotkey script that helped me identify the parameters of the controller to use, such as button numbers. I then modified the script, and with the help of some other useful pages, like this one, I managed to achieve what I was looking for.

Because the default mouse speed was too fast to accurately click buttons on screen, I gave my Right Alt and Right Ctrl keys the function of decreasing and increasing, respectively, the mouse pointer speed. I don't really use those keys for anything else, and they don't execute any other commands when pressed solo, so I thought it made sense. The other thing I didn't show in the video was I mapped the X key to the browser's back button.

You can download the script here and make your own changes however you like.
It isn't totally refined or robust (might take some tweaking to make it work with your own controller), but in its current state, it works how I want it to. One thing I don't like is that pressing the right bumper once is essentially translated into pressing the down arrow key twice. I'd prefer a one-to-one translation for more control and to use with other applications (e.g. did you know using the arrow keys on a google search result page moves between search results?).

Again, the script download link is:



  1. These posts are totally awesome. Your writing makes me laugh. It seems the link to you script is broken??

  2. The link should start the ahk file downloading, alternately try right click > save link as... keeping in mind you'll also have to have AutoHotkey installed to use it.

  3. Thanks for this wonderful article on how to hack a usb game controller for browser. Well, if someone is looking to buy a new game controller for their gaming needs then it is recommended to take a look at this list of PC game controllers. I bet you will find the best one for your needs on this link.

  4. Its a great pleasure reading your post.Its full of information I am looking for and I love to post a comment that "The content of your post is awesome" Great work. game hacks

  5. Thanks for the informative and helpful post, obviously in your blog everything is good.. National Bagelfest Day

  6. Nice blog about game controller. Your blog for game controller is very informative ! keep posting

  7. On the Internet, I'm searching this types post and finally I found it from your blog...

  8. The gaming mouse wireless review can make a big difference to your games, whether you're talking tethered or the best wireless mouse.