joy2chord Home Page

Useful Links
Downloads Logo

What is joy2chord?

Everything (Software and instructions) you need to build your own 6 button keyboard (or however many you want)

A Chorded Keyboard driver that runs in userspace under linux and uses uinput to send its output to the kernel.
This user space driver can easily be used with a normal gamepad, but as I don't know of any 1 handed game pads it probably would be rather useless without makeing your own hardware mod. On the other hand this is a great way to get a feel for if you think a chorded keyboard would work for you, without much of an investment of money or time.


I'm usually on #freenode in linuxice if you want to talk about any chorded keyboard stuff

How (videos to come soon)

I'll describe what I did, and i'd enjoy hearing from others that decide to build their own keyboards.

What you will need:
required: Joystick
optional: hot glue gun, dremel

Method: I bought a cheap $10 usb gamepad on ebay, which was shaped like a playstation controller, gutted it, chopped off some unneeded parts of the pcb, rewired a few traces i broke, and glued in in place.
I would reccomend using a hot glue gun on your first one, because positioning of the keys is very important for the keyboard to be comfortable and useable. I've probably moved parts around on mine over 20 times so far.


I've been interested in mobile computing for a number of years. I had considered buying a twiddler2 for a while, but the price tag made me hold off. Now Handykey corp is not planning on making anymore, as of the last post on their web page.

Most of the other home project types of chorded keyboards require that a micro controller is used, which will usually end up being larger then a game pad controller board, and will always cost more. I'm also rather comfortable using the linux joystick interface, so it had a lower learning curve for me.

This left me with few options for a chorded keyboard I could use. So after much research, including a great uinput tutorial and brainstorming I decided to build my own.
Learning curve: So far I have about 8 hours of practice in on my keyboard, I can easily navigate between programs with it under compiz-fusion, and pass the basic levels on tuxtype. My speed is no where comparable to normal typing speed now, but I haven't had to look up any combinations for a while for numbers or letters. I still haven't added symbol support yet.
The numbers I remembered seeing for basic typing skills on the twiddler were about 10 hours, so it seems i'm on pace with my device for about the same learning curve. Note: as I wrote the key mappings I think I probably have an advantage in that area.

I'm also working with the nghost project To port joy2chord into the joystick input system for corded input of commands as well as keyboard functions


The downloads link on the left side has some source releases. I usually do most of my work in subversion, which you can check out with:
svn co joy2chord
If you check out the subversion release you should be able to run ./autogen && ./configure && make to build the code. Button configuration is handled via a config file, my keyboard config is included as a reference of how to map buttons for your keyboard.


I have a Wiimote, with nunchuk, and a sixaxis controller on the way, I want to make a bluetooth wireless controller based off of one of them. I havn't got around to coding for either of them yet, but it sounds like fun.
Contact: wirelessdreamer A@T GMAIL D0T COM with questions