2008 06 30 I've posted a new version of the 3-mode firmware mentioned immediately below. chordite0051.hex corrects errors in the game-mode code that prevented certain simultaneous commands from working. The link in the entry below now points to the new code as well.
2008 05 10 I've posted a new 3-mode version of the executable firmware for the at90usbkey. chordite005.hex toggles between keyboard, mouse and game controller modes. Game controller mode so far is really just Quake II mode and you must change the key for fire weapon from the default Control to the letter h. The 8-key layout is, assuming a left-hand unit, index finger on the right side of the screen, distal above proximal,
Up...........Shoot..........Left.............Forward
Down.......T/R...........Right...........Back
where pressing T/R makes you translate instead of rotating: to jump up press Up+T/R. Up alone causes the view to rotate upward. Etc. The mode toggle chord is 00XX over 0XX0, i.e., inboard ring+both middle+outboard index. I'll post a new patch for the source code.
008 01 08 I've created a patch file which, when executed in some form of Unix, will convert Atmel demo source to the WinAVR/avr-gcc source of my USB implementation mentioned below. You must get the Atmel code from Atmel. I supply current instructions.
2008 01 03 I've finally produced a USB version based on Atmel's at90usbkey small, cheap development board ( 1.25x3.5 inches, <$40 @ DigiKey). It is described in the Yahoo newsgroup. A problem with the Yahoo group is you apparently must become a member to download files so I will try to keep a copy of the latest, greatest hex file here (right click) where anyone can have it without signing up for anything.
2007 01 15 This news page has been semi-abandoned in favor
of the Yahoo
news group. If anything really big needs reporting I'll put
it here but generally stuff goes there.
2005 12 17 I
mentioned some time ago in the newsgroup that Atmel has declared
obsolete the AT90S2313 chip I have been using and replaced it with
the pin-compatible ATtiny2313. I have tried the new chip
with the code and circuitry in the downloadable zip file and it works
fine --- I'm using it now. However, the new chip has "fuse
bits" which the old chip does not have and in order to set
them properly (i. e., for the 4Mhz clock which the code expects) I
ended up spending $80 on a new STK500 development board. As
discussed in the news group, there are cheaper ways to do this but I
had trouble getting them to work so for at least a while if anybody
needs a 'tiny chip programmed he can send it to me and I'll do the
job with my STK500.
2005 11 25 It has been brought to my
attention that at least some people running fully patched Windows XP
can't view my little .avi movies with Windows Media Player (is
that a problem or a benefit? :-) WMP used to work on those
files under NT & W98 but the required codec seems not to have
survived to XP. I'm not sure what to do short term except refer
everyone to the much larger but otherwise equivalent .mov files
sitting.mov and
standing.mov
2005
02 26 Anyone who tried to download the new file mentioned in
the last note got the old one instead because I screwed up the link.
Sorry, please try again if you want the right-handed mouse
version.
2005 02 13 There is a (barely) new
downloadable zip file keyboard_2.2.zip. I
added kbm06_rh, a right-hand version of the code and tidied up the
manifest in readme.txt. The mouse functionality introduces a
handedness to the code because I want keys on the left (keyboard held
knuckles up) to drive the cursor left, etc. If the original
code is used in a right-handed keyboard some people, including me,
will perceive the assigned mouse chords as backward. The basic
keyboard code does not have this problem, only the mouse.
Another way to say all this is that I decided to assign different
mouse chords for left and right handed units but I use the same
keyboard chords for both. Either code will work in either
keyboard and there is (hopefully) no difference at all except in
mouse mode.
2004 10 04 I've added the instructions for
the improved prototype to the downloadable info kit thus transforming
it to keyboard_2.1.zip which by itself now
contains everything but nothing new since the last note.
2004
08 05 I've been working on an improved
prototype. It is more adjustable and rugged than its
predecessors and a little less silly looking. Eventually
instructions for it will be included along with other improvements in
a whole new downloadable .zip file but I want to make them available
sooner than that in case anybody wants to get started using the
existing download. Also I want to weaken the click-through
license so that you no longer have to explicitly agree that my patent
applies, you only have to agree that I (John) think it does ;-).
Temporarily here is the new license from
where you can click through to download the latest
instructions.
2004 03 03 Slashdot
draws our attention to a review
of Gyration's latest gryroscopic mouse. This would be very
sweet integrated into a one-hand keyboard, eh?
2004 02 19
The new, consolidated downloadable kit for the
keyboard+mouse is now in place.
2004 02 17 Bad
movies of the keyboards in action.
2004 02 03 After
eating some more of my own dog food, as they say, I've found and
repaired some more errors in the keyboard+mouse code. The
latest, greatest version is now here.
Both mouse and keyboard functions work through the USB/PS2 adapter as
well at straight into the PS/2 ports under W98. Both also work
into the PS/2 ports under Debian 3.0r2 but for some reason the mouse
(only) screws up through the adapter under Linux (only).
Probably a configuration problem. But never mind that.
The new code is still very much preferable to the old code because
the old code had some goofy errors I don't even want to talk about
and didn't work right. The links in the previous 2 notes also
now point to the latest and greatest. Again, you'll probably
need the original downloadable kit to make
sense of all this. And again, if you don't want to play with
the mouse you'll be fine with the old keyboard-only code that's in
that kit. Hopefully before too long I can tie this all together
in a new kit but first I want to make a little movie.
2004 01
06 I've fixed a problem that my keyboard+mouse code had
with a PS/2-to-USB (some say USB-to-PS/2) adapter with which I've
been playing. The adapter (a generic, brandless unit marked UC
451N ) sends an $F4 "enable reporting" command to the
mouse once every second or so, probably just to generate the ACK to
see if the unit is still plugged in. Long story short the
effect of this on my mouse emulation was to delete any keyboard
modifier keys (shift, alt, control) which had been queued waiting for
their target to be keyed in --- a nasty little bug. Hopefully
it's now repaired. If you aren't using a PS/2-to-USB adapter
there is no need to download the new code.
Also, of course, there is no need to download this code if you're
using the keyboard-only kit without the mouse emulation. Note
the keyboard+mouse download link in the previous note also now points
to the same, newest code.
2003 10 29 I've now got a
version of the mouse+keyboard code that boots NT and W98 on my
machine. You can download it if you
dare. Eventually I'll have better instructions and so forth but
why wait. To make sense of this new code you'll probably need
to have already downloaded the old code.
The keyboard function works just as before.
2003 09 25
Eventually I decided the most ergonomic mini-joystick might be none
at all and now I'm working on new software that adds mouse (pointer)
functionality via the existing keys. I should have thought of
this long ago. The new code isn't quite ready for release.
It doesn't yet converse with the bios quite right at boot time but
everything works OK when hot switched in after booting with a real
mouse. The keyboard+mouse prototype looks exactly like
the keyboard-only units except its cable Y's to a second plug for the
PS/2 mouse port. In mouse mode the keys specify one of 8
directions. When I get the boot dialog fixed I'll declare the
code public domain and put it in a downloadable zip file along with
the diagrams, instructions, etc. Anyone who has already built a
prototype can upgrade by just adding two pull-up resistors and the
new plug. After playing with it for a while I can report
that mousing in this way is clunkier than using a real mouse on a
mouse pad while seated at a desk but, IMHO, not any clunkier than
using a Trackpoint in a laptop. And of course you can do it
standing, etc.
2003 08 15 More on mice: Varatouch (see
the previous note) apparently has a tough, time consuming
"certification" program. The way I read their
literature,
they examine your gizmo, pass "quasi-objective" judgement
on the ergonomics and performance and if they don't like what they
see they refuse to sell you any joysticks! I'm thinking you
might find it hard to explain to your investors that you're not
really in control of the product anymore ;-). If so you
might begin to think about using something like IBM's Trackpoint,
the little pencil eraser that sits in the middle of some lap-top
keyboards. So far I haven't found any place you can get either
the eraser (sensor) or the controller chip, the Phillips
TPM754. When I do I'll say something here. Hopefully,
they'll be treated as ordinary components you can buy and abuse at
will.
2003 08 13 Here,
surely, is the perfect mouse for a portable one-hander.
I shouldn't say mouse. Varatouch Technology Inc. makes tiny
joysticks out of "resistive rubber" (TM). A little
button bends a membrane which acts as variable resistors. These
can be connected to a/d's on the same microprocessor that effects the
keyboard. Varatouch supplies nifty code (firmware) that
automatically adapts to wear, temperature differences, etc., so all
you do is interface that with your keyboard program. Fancy
software makes for simple hardware. The website says $150 gets
you an evaluation
kit and $2500 gets you a development kit with some
engineering help. They've got routines for "ZiLOG
L99 (and more generally Z8 processors), Atmel AT89Cx051 (and more
generally, 8051-compatible), Mitsubishi 740 family and the Samsung
KS88C01xx family."
2003 07 30 Darcy J. Currey very
kindly sent me photos of a one-hander he
built from coat hangers and 5-minute epoxy. He modified
the code in my downloadable kit to implement the (qwerty) keyboard
lights (num lock, cap lock, scroll lock) and has made his mods
available in a zip file. I like the
way the wire frame looks but Darcy says it's difficult to form the
wire precisely. Out of curiosity, I Googled around a while
looking for tools and found the "K&S
Mini Wire Bender" which might (or might not) help if you
choose to go that route. There's also this
if you can find a farmer to teach you how to use it :-)
2003
04 22 If your kingpin-style prototype turns out too heavy for
all-day use, consider adding a webpad.
2003
03 02 Regarding the previous note, I have learned that
(GNU/Linux) Gnome has an "applet"
to change the keyboard (i.e., the key<-->character map). You
can choose as many as you want from a list of just about every
keyboard (map) that ever existed anywhere in the world and then cycle
between them with one click. It's very nice although I still
haven't found the inverted question mark in their version of
us-international. KDE
probably has something similar.
2003 02 26 I was
pondering how best to implement the accented vowels and
non-english characters that are available on qwertys, like á,
ü and ¿ when I finally realized it's all in the host so all I
needed to do was tell my PC to use the US-International keyboard
(map). This
is simple on MS Windows. It's apparently
simple on Linux too but I haven't tried it there yet.
2003
02 13 There is an alternative to making these keyboards
adjustable --- custom build them for individual customers. This
might not be as impractical as it first seems. I'd like to open
a little store in a shopping mall, perhaps next door to an
optometrist's, in which a customer could have his relaxed hand
measured automatically. Perhaps he would stick the hand into a
box where cameras or lasers would scan it. Then a computer
would direct a small
milling machine to carve a keyboard out of a block of plastic. I
think that, given a little time, even I could write the necessary
software. It seems to me the whole setup should fit on a table
top and the customer could pick up his keyboard after an hour. Maybe
instead of a store by the optometrist's I'll just have a cart next to
the popcorn lady's :-)
2003 02 05 Here are some more
doodles, these meant to suggest how a salable unit might look
if manufactured in a garage with very low capital investment.
2003
01 11 Here are some cartoons of how one
might make one of these things adjustable enough to fit
practically anyone. I offer them not as serious designs but
merely to argue that adjustability is not that big a deal.
2002
12 17 Yet another correction to the ever troublesome schematic
diagram in the downloadable zip file (incorrect mini-din pin
numbers). Thanks John Tokash.
2002 12 13 Today I finally
added the power filter capacitor to the schematic diagram in
the downloadable zip file. That's the only change, you don't really
need to redownload. The 1.5uf cap goes between +5 and
ground.
2002 12 12 I'll be incommunicado 18 Dec --- 26
Dec. If you're building a keyboard or even thinking about it
you might want to sign yourself up to this freeby
Yahoo group [correction: no signup required --- I
found where that turns off [correction: I had to turn it back on
because of spambots]] Some of the people building keyboards
clearly know better answers than I do to some of the questions other
builders are asking me. Let me not be a bottle neck.
2002
12 08 I've belatedly become aware there are PS/2 to USB
converters that (should) allow use of the prototypes (or any
other PS/2 keyboard) with things like Macs and Palms that have only
the USB port. Google shows a lot of them. Here,
here, here
and here
are a few. I haven't actually tried any of them. Please
let me know if you do.
2002 11 29 For the record, my
personal typing speed has accidently crept up to 33 wpm on the
one-hand prototype. That's up from 27.6 last time I tested it
and significantly faster than my 26.5 on the qwerty. 33 isn't
what you would call blazing but perhaps it's not too shabby for
something so portable. It's probably faster than most people
can manage using just their thumbs on one of those tiny qwertys you
see on some pagers and palmtops. And it's way easier.
2002
11 24 One of the big motivations for this sort of keyboard is
freedom from postural restrictions. There's no need to sit up
straight, adjust your chair properly or any of that. If you
like you can lie belly up and stare at a screen on the ceiling.
However, I have noticed that my speed drops and my error rate
climbs when I twist my wrist away from what I have been
calling the handshake position meaning, when the forearm is
horizontal, the index finger is above the little finger or, when
standing with the arm hanging down at your side, the index finger
forward (as you would grip a pistol). I don't know whether
this is to be expected by everyone.
2002 11 21 I expect
every new webmaster gets fascinated by his/her/its access log. I'm
certainly no exception. Traffic at chordite.com has
settled down to about 45 visitors per day including 5 or 6
search-engine robots. That's something like 1200 people per
month. Most arrive via a search engine or have followed a link
from a news site. Including the initial transient back when we
were today's news, the total number of visitors is approaching 35,000
(240K hits). About 2400 people have downloaded the prototyping
kit. Of course only some tiny fraction of those downloads will
be actualized but kits have gone to most of the companies which,
IMHO, should be interested and to thousands of dial-up connections
world wide. Hopefully, some potential manufacturers are busy
experimenting, forming opinions about the learning curve, etc.
2002 10 06 Seppo Tiainen has informed me of his
sites supporting "open
standard" design of portable devices with chording keyboards.
Anyone can download his (GPL'd) code
that lets a PIC microprocessor talk to the PS/2 port. I
mention this supposing it may benefit people who are considering
modification of the (public domain) Atmel code in my prototyping kit
to serve some purpose of their own. They might find Seppo's PIC
code a better starting point.
2002 09 17 If you modify the
source code by expanding either scan code lookup table then you
must change the statement ".org 124" in ps2_001.asm
to the new 1st address after the tables. If you expand the
primary table you must also change the statement ".equ
table_start_2 = 108" to the new start point of the
secondary table.
2002 09 10 Stéphane Doutriaux has sent
me photos of the keyboard he built
using the download kit --- AFAIK, the first ever not built by me.
He carved it from a block of wood. It has all 8 keys.
2002 09 03 Guido Schreuder wrote to inform me of an
ERROR on the schematic diagram in the prototyping kit; a
spurious dot connects the PS/2 clock and data lines. I guess
I'll roll the correction into a version 1.1 kit, along with a
(trivially) corrected bom and a reference to this news page.
2002
08 22 When the keyboard fits poorly the keys will seem
difficult to work. Here is a test for proper fit. Hold
the operating hand in the handshake position (index finger above
pinky). With all digits relaxed, you should feel light
but solid contact with all four pads (top pad plus 3 palm pads) and
the thumb brace at their proper contact points (as discussed in the
download). At the same time you should feel all the keys
lightly touching the fingers at their proper points. In other
words all the contact points should conform to the relaxed hand.
You should also be able to maximally straighten
(extend) all your fingers and thumb without losing contact with any
of the palm pads or the top brace.
2002 08 19 I should
say somewhere else besides the source code that the chord
interpretation algorithm used in the prototyping kit is NOT the
one described in my patent, 6,429,854 but is instead the "one
released" technique described by Bequaert et al. in US patent
4,042,777, working on debounced samples of course. The Bequaert
algorithm is just better. It takes as the intended chord the
one you were expressing just before your first key release. In
that way it is just like what we are all used to with the qwerty and
you never have to think about this issue at all. You just bang
away naturally and it all works. I only bring it up for the
interested few.
2002 08 15 At this point over 25,000
people have visited chordite.com (191K hits) and more than 1,800
of them downloaded the prototyping kit.
2002 08 15 It could
be lighter. It's beginning to annoy me that my
kingpin-style prototype is not smaller and as light as my previous
models. I think I'll build another one and remove the circuit
board. I'll use a long, 10-conductor ribbon cable from the
switches to the remote pcb. Hopefully 3 meters or so will not
pick up too much noise. Also I'm going to try lighter, smaller
switches without rollers (probably @@). Also I'll try to find a
skinnier, lighter bolt for the kingpin. Then I should be
happy.
2002 08 15 Slots. I notice I don't have
any good pictures up of the slot-&-screw type of keydeck. They
do appear obscurely in the figures. In figure 6 you can make
out the little bolts perpendicular to the decks. They pass
through slots that follow the curve of the deck. After cutting
these slots (and after taking this picture) I glued small pieces of
wood on the ends of the decks to close the slots and thus add
strength. It's hard to find bolts small enough to go through
the mounting holes of the switches. The motivation for the
slot-&-screw approach is that it can be readjusted. The
disadvantage is that all that hardware is a lot heavier than glue.
2002 08 15 Glue. As has been pointed out
to me by Chris Biggs regarding staking (immobilizing and reinforcing)
the wires at the circuit board, "hot melt glue guns are the
trick here. Quick, strong and non-conductive. Widely used in
electronics. The guns are cheap as dirt these days, too; try a
'discount homewares' store or a craft store."
2002 08 13
Powweb disables the site indefinitely at 3:00am PST, after it's
all over, for "bandwith abuse," just as I was thinking of
sending them a congratulatory email for getting through the hit
storm. Back up by 9:30 after some discussion with
"admin."
2002 08 12 NY Times article
appears and we are promptly Slashdotted
2002
08 06 Patent issued, website up.