I actually did the faceplate re-drilling on last saturday, completed everything in one session as intended. Also drilled a back side hole for the cable.
I further sat down and assembled all keys I already have wooden interiors for - sister #2 has promised to deliver the rest sometime next week. I'll glue on the letters at the very end, once I decided which keys fit where. Might also have to use the brand spanking new Dremel to enlarge some of the drilled holes, had the impression some of them might not fit perfectly (and again, 16 mm diameter holes are not guaranteed to have 16 mm diameter keys sliding freely. My wife squealed with joy at the sight of my new toy, so it's actually her cutting down the plastic instead of me. Ah well.
Now a somewhat lengthy description of a little side project.
Since I recently started working at a software company, my forearms have started acting up. Never had any troubles with it some years ago when I programmed all day and gamed all night, but now it feels like the beginning of RSI or something close. My father also had a carpal tunnel surgery a couple years back, so I might have some disposition for this sort of crap.
I figured I better act soon than pay the price later and got myself a new ergonomic keyboard (MS natural 4000). I used to have one of those and liked working on it, but it stopped working once I poured half a gulp of Weizenbier over it. Guys, I tell you something about quality made in germany, as represented by my n-year-old cheap-ass Cherry rubber-dome keyboard: I can't count how often I spilled some sort of drink over it, but it keeps working perfectly (to be fair, considering they're based in Bavaria, they probably have Weizenbier spillage as a standard test case). I found it quite ridiculous that even after careful drying and fawning the 'f' key (was it f?) on the MS natural totally refused to do anything at all, while some other keys always triggered twice. Anyway. So I bought a new one last week, and while I was at it also got myself a trackball to change it up for the mouse arm (which was the one giving me more trouble).
Now, I've got two computers I work on a lot. The one at work, and the one at home. Figured I'd take the keyboard to work, since I'm guaranteed to type almost 8 hours a day, and keep the trackball at home to get used to it. After a couple of days using it, I feel I'm fairly competent, can play D3 no problem but wouldn't use it yet to play a "serious" game of SC2.
Now for the little side project of mine mentioned in the title. Years ago, I bought an AlphaGrip, since I'm generally a sucker for alternative input devices. Anyone remember the Microsoft Strategic Commander? Sitting right there in my drawer, waiting for some wicked fate I might have in store for him (any buyers around here?).
Aaaanyway, back to the AlphaGrip. I first caught wind of it in the vaporware awards for the year 2005, and apparently it had been announced as early as 2000.
I figured since I kept it around, I might give it another go and while I'm at it improve both the hardware as well as the software aspects of it. There were a couple of problems that made me put it in the drawer last time I used it more frequently.
- It's a tad too small for my hands, which makes the hand and wrist position way less comfortable than it could be
- The trackball sucks. Badly.
- It natively only supports the US keyboard layout, which doesn't quite cut it for ze germans with all our umlauts and special characters.
All points had already been addressed by the community in parts:
Even the the dodgy official AG page features a couple of newsgroup(?) posts (it doesn't even have a proper forum) describing how to mod the outer form factor. In most cases, basically glue some sturdy foam to it and there you go.
Of course there are guys such as Carl Anderson, a gentlemen and serious maker, that will not settle for these cheap proletarian mods. Nope sir, he will buy TWO AlphaGrips and wire them together to perfectly fit his RSI-pained arms, or alternatively (I guess on his third AG) install a salvaged trackball.
It was also Carl who originally came up with an innovative AG-specific Auto Hotkey script to a) greatly increase the trackball speed and usability and b) re-bind its keyboard input so it actually becomes more usable, including support for chording (pressing two keys at once produces a third character). Basically, the thumb keys on the front become additional "color" shift keys, so that when you hold one of them down, the other keys are remapped from say letters to symbols, punctuation, what have you. This idea was figured in the original product (with only two shifts), but it didn't offer enough keys for many purposes. He also remapped the Control and Alt modifiers so they could be more easily reached.
So, this was the point where a french guy name ivanw stepped in and took it a step further. He commented Carl's script to be readable by mere mortals such as you and me and addressed one or two little bugs. I was able to modify Ivan's script to contain the additional german characters ä, ö, ü and ß and customized it a bit to my liking.
This script quite nicely addressed the US-only layout I mentioned as one of the limiting factors.
Except one built-in and unfixable bug.
The original AG layout features ',' and '.' as primary keys (you get them on the outward keys of the middle and ring fingers of your right hand). Now, pressing shift on them would send ';' and ':', as is fairly reasonable. The problem is that ';' is actually a hardware key code and is sent as such, and ':' is sent in hardware as 'shift+;' which is the way it works on the US layout.
This results in a major bug in Carl's remap, namely that you can't really send uppercase L and C (which are put where ',' and '.' used to be), because the script is not able to determine if you pressed 'Shift+,' which ought to be remapped to Shift+L, or 'Shift+.', which ought to be remapped to 'Shift+C'. I don't know about the english language, but in german there certainly are enough words starting with capital C's and L's to make this seriously annoying. I never was able to figure out a way around that, so I eventually tired of the AlphaGrip.
Now, in my spontaneous RSI-prevention drive I got the AG back out of the drawer and seriously pondered this problem. I tried getting more deeply into AutoHotkey, which over the last couple years had introduced way more powerful features and I thought maybe there's some way around the old problems. I also had to introduce the 'missing umlaut' bug that was introduced by AHK switching from ANSI to Unicode (easily fixed).
To cut the story just a tiny bit short, I didn't succeed. Still, I badly wanted to get this mod working, so I started cutting foam with an exacto knife and bolstered the size anyway, even if Ls and Cs were impossible, but I was confident I would somehow figure it out. Unfortunately, the additional index finger keys (m, h, g, r) were almost covered by the foam, so I had to introduce more chorded combinations and bound them there, which I actually found to be more comfortable (you _never_ have to move your fingers to different keys).
So I got back into training my ten-finger touch-typing on the AG using Typershark by PopCap (awesome indy game developers, by the way), reaching breakneck speeds as high as 20 words per minute (where 'words' is to be taken as pretty random 5 letter words intended to teach you the keys).
While training, I noticed that the keys distribution actually sucks - almost all the frequent letters are on the left hand. This is a weakness the AG has imported from the qwerty layout, since they wanted the transition for fluent keyboard typists to be easier than to, say, Dvorak. This problem is amplified by chording (try pressing d, a, d+a, r, w, a+w, a in quick succession on your keyboard). You can get used to it, but it feels wrong and you could be way faster if keys were properly distributed between your hands. Another thing I noticed was that I always used the left thumb color shift keys, my right thumb was basically idle (just as I mostly tend to press space with my right thumb on a regular keyboard, it's just a habit). Also, the outward chords (pulling two adjacent finger outward simultaneously) were a bit difficult for me to hit, but the facing and inward chords were ok.
With a sigh I went back to the drawingboard, consulted the wikipedia article about the distribution of the most frequent letters in english and german (which is what I type most) and resolved to find another key layout according to these principles:
- find a way to generate 30 symbols (26 letter alphabet + ä,ö,ü,ß) using only 16 keys while avoiding the awkward chords as much as possible.
- as far as possible, the most frequent letters should be accessible on the easiest strokes (in this order: single key, inward facing chords, outward facing chords, adjacent chords)
- avoid putting color modded punctuation etc. on chorded keys
- as far as possible, keep the letters on the same keys as on the qwerty (or in the german case, the qwertz) layout
After longer conceptual battles, I came up with the following compromise layout. I think the only major change compared to qwerty is that R is on the right and H is on the left pinky. There's just plain not enough index finger real estate to go around (which is probably what guided AG's inventor to include the additional index finger keys that are totally not up to par with the rocker keys). I still have some spares, so if during extended use I realize I absolutely have this crucial key I need somewhere else, I still have some wigging room.
The foam add-ons on the finger keys started to both unstick and dissolve pretty quickly, and I hated the smell on my fingers, so I carved wooden ones:
For now, the size-increasing side portions are still done in rubber foam, but I think I'll custom-fit wood carved extensions, maybe with a type of handle that makes the AG kind of hang from my hands, so I don't have to actively hold it. I also plain like the feel of wood way better.
The one remaining limitation is the still crappy trackball. This Logitech trackball on my desk starts to look interesting... I also might open the case of my AG and check out how the hardware is realized (mechanical, rubber dome, ...) and possibly do a full conversion as one of my more serious projects.
In summary, I hope this somewhat lengthy excursion was entertaining for you. I find it epitomizes today's combination of hardware and software modification you immediately run into when modifying technical equipment, and a modern maker is well advised to be open about software and conceptual customization as well as physically "making" stuff.
If you're interested in getting into the maker scene, if it can be called that, check out Jake von Slatt's Steampunk Workshop and Datamancer's creations for the more steampunky variety, browse Make Magazine for the more mainstreamy variety. For the future, I also see immense potential in 3D printers such as the Maker Bot.
Start discussing, I'll pop in regularly if I have formed opinions on a matter.