At the EDGE Lab in the Digital Media Zone, we are trying to design a custom keyboard for children with disabilities in order to make typing more exessable. Many of the children simply cannot work a standard US keyboard. The buttons are too close, the buttons are too hard, or the layout is really confusing for children. These are many of the complaints we got so we attempted to build our own custom keyboards.
A few months ago a new line of arduino micro controllers came out called UNO and MEGA 2560. They included a new ATmega8U2 chip which was flashable. This ment that you could change the code on the chip and make the USB port resister as something different then an arduino. Using this chip I was able to get a keyboard hid firmware onto the ATmega8U2 and when I plugged it in my commuter it recognized it as a plug and play keyboard. I am still able to flash the mega chip using a ISP programmer.
Then using the schematic of a button from arduino.cc I was able to create a small sketch that wrote the letter a to the computer whenever the usb was plugged in and the button was pressed. Creating a full keyboard is as simple as adding more buttons.
Attached are the hex files for the ATmega8U2 for both the UNO and MEGA 2650 as well as a demo sketch to get you started. I will post the final code for the keyboard when it is complete.
In the last few months the EDGE Lab has been working very hard building this custom keyboard. Our final goal is to create a mobile wearable vest that can be worn. It will include a speaker for voice, and a custom screen for visual display. Currently here are the pictures of our prototypes as of September 2011. Feel free to comment if you have any more question about how you can make this for someone with disabilities.