Wireless Chording Keyboard

Wireless Chording Keyboard

thingiverse

THE PHOTOS: Are mostly of the OLD design these STLs are meant to pretty-up, but illustrate how to make one without a 3D printer. WHAT IS IT? A Chording Keyboard is a one-handed (usually) input device, where you type keystrokes by pressing combinations of buttons. Kind of like playing Guitar Hero. It's also called a Keyer. All the commercially available designs are bulky, old, and stupid, but the basic idea of a chording keyboard is a great one for wearable computing. http://en.wikipedia.org/wiki/Chording_keyboardhttp://en.wikipedia.org/wiki/Keyer I've always wanted to produce this design -- poor guy gave up before everyone on the planet had a 3D printer: http://www.xaphoon.com/dataegg/ MY DESIGN: But my design is nothing of the sort. I put this together a while back, before I had a 3D printer, myself. If you want to go that route, you can... there's no reason to use my STLs, and they're not even complete. So this is basically a very old project I am resurrecting now that I have more resources; but this version is basically the old resource-starved version. It's based around a Nintendo Wii remote. These things are amazing devices for hardware hacking; the wiimote unit itself contains: Several accessable button/switches A speaker 3-Axis Accelerometer BLUETOOTH A point-tracking infrared CAMERA. Seriously! Vibration buzzer Expansion port... with Arduino/ATmega library!! You can find Wiimotes on sale as low as $15; normally about $30. There is no other way to get this kind of functionality attached to an ATMega/Arduino for twice the price. Probably significantly more. WHAT YOU NEED: This little project doesn't even use an ATMega or Arduino (yet) - all you need is a wiimote, some appropriate buttons, and a way to put/hold it all together. WHAT YOU GET: The only software I am providing assumes you are running Linux, and will only work there. But it would be trivial for anyone with knowledge of their operating system to modify for their purposes; the libraries it relies on are available on all platforms. All you need to do is know how to hook into your OS's input queue so you can imitate a keyboard/mouse. WHAT IT CAN DO: Use the buttons to emulate a keyboard, obviously. Use the accelerometer to emulate a mouse. All this over BLUETOOTH! WIP WHY: Just until I get some STLs that work for this design. I have future designs already under way but they will be separate Thingiverse projects. I'm not uploading the .scad files until I'm done, since Thingiverse refuses to render STLs anymore in a Thing once I've uploaded something it can't render. ABOUT THE STL: The STL published is a slightly fixed version of the one in the photos, which has too-thin walls and too little space between index finger and thumb buttons. WHERE THE SOFTWARE LIVES:https://github.com/ScribbleJ/WiimoteKeyer Instructions 1) Get the source code from my github account: github.com/ScribbleJ 2) Compile it on your machine. On Ubuntu, the steps are: $ sudo aptitude install libcwiid-dev $ git clone http://github.com/ScribbleJ/WiimoteKeyer.git $ cd WiimoteKeyer $ ./make.sh Now you can test it with a Wiimote before you go on. 3) Disassemble a Wiimote. Wire your switches to it. Which button goes to which switch is not important; you can easily change it in the source code and recompile. Don't use the three buttons along the middle on top; those are used here to change to mouse mode and back. (See photos) 4) Mount it all up in some suitable fashion. You will see (OLD!) photos attached of how I originally did this; a rollerblade glove, some carving foam, and lots of electrical tape and hot glue was the first version. The second iteration replaced some of the electrical tape with PCL plastic, which you can form by hand at reasonable temperatures. I guess it's the thing to do before you have a 3D printer. 5) Install something like tuxtype and learn to type all over again! A key is typed when you release the first button of the chord. So you can take your time pressing the buttons down, and if you want to type a letter repeatedly, you only have to let one finger up and down again and up again. Make sense? Modifier keys like SHIFT and ALT apply to the next keystroke. So if you type SHIFT then type E you'll get the E shifted. Simple! EXAMPLE: Type an upper-case 'R'. a) Look at cheatsheet.txt. This is arranged so one side has the fingers going one way and the other the opposite. b) First type SHIFT by clicking the 4th thumb button and releasing it. c) R is all the finger buttons together; a full chord. Type an R by pressing in all four finger buttons and then releasing them. I only used it seriously for a couple hours overall and probably got up to about 30WPM. There's no reason you can't go much faster, but it will never be as fast as a keyboard with a separate button for each letter, obviously. :) THEORY AND DESIGN NOTES: I decided to go with my left hand, so I'd have my right hand free. A better design would allow you to easily clear your hand for other uses. I wrote a perl script (in the source repo) that counts the frequency of characters in text you feed it, and gave it a bunch of things I'd typed lately. I used those along with some intuition about which chord combinations were easiest to reach to decide which characters went with which chords.

Download Model from thingiverse

With this file you will be able to print Wireless Chording Keyboard with your 3D printer. Click on the button and save the file on your computer to work, edit or customize your design. You can also find more 3D designs for printers on Wireless Chording Keyboard.