Do you have a wearable computer? Are you interested in alternate keyboard layouts but too lazy to learn Dvorak? Do you masturbate at your desk? If you answered yes to any of these questions, you may be interested in my custom keyboard layout.
I spend most of my desktop time in a web browser and the rest in terminals/messengers. So, like a gamer, I’m usually sitting with one hand on the keyboard and the other on the mouse, typing things occasionally. I found that I was actually biasing myself towards things I could type with my left hand — saying “haha” instead of “lol”, for example. This got me thinking about one-handed keyboard layouts.
Now, there exist all sorts of specially-built one-handed chording keyboards. There are also one-handed layouts like Left-handed Dvorak which can be used with a standard keyboard. That’s no good for me. I’m not going to spend months rewiring my brain just to type a few things faster (Dvorak people, I admire your perseverance, but I do not have the commitment that you do). What I really wanted was a modification of QWERTY that let me occasionally type with one hand without learning anything really new.
The key moment was when I realized that the brain command I use to type the letter ‘e’ is very similar to the one I use to type ‘i’. I found that if I held my right hand away from the keyboard and tried to type “the kitten parked the hovercraft”, it came out “tge dettev qarded gte gwvercraft” — I was doing the same motions with my left hand that I’d normally do with my right.
Mirrorboard is a keyboard layout that lets you type simple things on a QWERTY keyboard with only the left hand. It works by mirroring the layout between the left and right hands when you press caps lock. “asdf” becomes “;lkj” — the entire keyboard is reflected. To press a key on the right side of the board, you hold caps-lock with your pinky and then press the corresponding key on the left side.
When caps-lock is pressed, the layout turns from this:

into this:

This means that to type “parking”, you press <caps+q> <a> <r> <caps+d> <caps+i> <caps+v> <g>. The nice thing about this is that you can start typing at a decent speed right away, and it doesn’t interfere with normal typing — there’s no need to switch back and forth like with dvorak. It’s just an additional set of shortcuts to get to letters on the right side of the keyboard. You can use it as much or as little as you want. I don’t use it for too much of my typing, but I use it enough that I miss it when it isn’t there.
Here’s the layout file:
http://xkcd.com/mirrorboard.xkb
Activate it by running
xkbcomp mirrorboard.xkb $DISPLAY 2>/dev/null
You can stick that in a startup file somewhere to run automatically on boot.
This is a mapping for X, so it works on Linux and probably some sort of Unix machines. I use it on my Ubuntu desktop and the Gentoo server in the living room. I don’t have a version of this for any other OS, but if anyone creates one I’ll stick it up here. (edit: Pat points out that the concept of a mirrorable one-handed keyboard has been explored before, at least on the hardware side.)
Thank you to Neale for his help in putting the file together.
Notes:
(1) I recommend remapping the tilde key, without caps-lock, to backspace. I didn’t make the change in the published file because I want it to make no changes if you don’t use caps-lock. To make this change, just switch which line is commented in the file where it talks about “tilde is backspace” (or download the alternate version where I made this change).
(2) Caps-space is mapped to return. This is incredibly handy and is probably the aspect of the layout I use the most.
(3) I had to be a little inconsistent with the number keys, but for the most part I only use this layout to type letters anyway. You can adjust them pretty easily in the file.
(4) This would become orders of magnitude faster if intelligent-guess methods were used so you could stop worrying about caps lock. For starters, I bet someone could easily write a line or two of perl that took an input word, such as “qardevg”, and searched the dictionary for /^[qp][a'][ru][dk][ei][vn][gh]$/. I bet most of the time this would only turn up one word (xkcd@aram:~$ cat words | grep -i “^[qp][a'][ru][dk][ei][vn][gh]$” turns up “parking”). With a lot more work, you could build the same idea into a layer that sits in X somewhere and is activated when you hit a key (caps lock or scroll lock, perhaps). As long as it added to its dictionary based on what you’d typed previously, this could become a pretty powerful system for one-handed typing, with possible applications for wearable computers and accessibility for the recently-disabled.
(5) Just for fun, try typing “We fear a few dwarf watercraft stewardesses were regarded as desegregated after a great Texas tweezer war.” on a QWERTY keyboard. Also try “I’ll kill him in Honolulu, you unhook my pink kimono.” Can anyone come up with better ones?
learn how to french kiss…
In 2003, France was the 2nd-largest recipient of foreign direct investment among OECD countries at $47 billion, ranking behind Luxembourg…
Tastatur-Rodeo…
Ok, Hanno Behrens hat sich Mühe gegeben, als er sich das NEO-Tastaturlayout ausgedacht hat. Aber diese Vorschläge werden langsam nervig. Immer wenn ein Schlaumeier in der Wikipedia liest, dass das QWERTZ-Layout ja nur entwickelt wurde, um den Schreib…
One of my friends recently broke his right wrist, and now has learned to type everything with his left hand (without your ingenious method). Maybe this would help him a lot.
I recently read this article for the first time and looked through the comments. It seems people have been looking for a windows version, but are unable to find one. Someone mentioned AutoHotkeys, which is definitely the right track. I’ve used it in the past to do various stuff (mostly rebinding mouse/controller buttons and scripting sequences), so I thought I’d write one up quickly.
Instructions are in the readme, and the source is included, so you can customize it. If you don’t want to compile it yourself, you don’t even need to install AutoHotkeys, just run the exe in the pack.
http://www.reknet.ca/mirrorboard.rar
heh, this was actually smart and sweet enough for me to want to learn…
i’m trying to learn dvorak at the moment, though writing this post w/ qwerty
(god damn me switching now :P)
i think i’ll give this a shot… if i don’t like it no harm done :P
Well… I sort of liked this idea, and I couldn’t resist making one based on the swedish qwerty…
Uhmm, I’ll just post the comments I made to my xkb-file:
This is a Swedish variant of the Mirrorboard,
entirely made by copypasting a lot of segments
from other files and a few from Munroe’s Mirrorboard.
Idea is completely of Munroe
His original layout uses the level 3 modifier
to add the necessary letters on the keyboard.
The swedish qwerty RELIES heavily on the level 3
modifier in the form om ALT GR (right alt).
Therefore, the swedish qwerty and mirrorboard
isn’t entirely compatible…
I’ve omitted some of the characters not used commonly
and relocated some that couldn’t stay (most notably @).
You’ll find I’ve done my best to keep characters
where they should, but of course, one thing
can’t be the best for all.
If you find my placements REALLY disturbing
you can of course change here.
The file must be the most self-explainatory thing
I’ve ever seen, so no worries.
Some characters remain where they are on the
swedish qwerty, and remains with the level
3 modifier, though you have to press caps lock
to get characters like {, [, ], } and ~…
This should be no problem as I find that
even more intuitive. :)
Image of the layout here: http://kr1sse.shivas.se/uppladdningar/keybalfnum02.png
Link to xkb-file here: (Install the same way as original)
http://kr1sse.shivas.se/uppladdningar/mise.xkb
(Last note, a link to my comment i first post might be good for other swedes. ;))
[...] Typen met 1 hand [...]
Ah, my last post disappeared, for it probably counted as a double one…
What I did when I was bored was a Swedish mirrorboard!
Uhmm… my comments to the file:
// This is a Swedish variant of the Mirrorboard,
// entirely made by copypasting a lot of segments
// from other files and a few from Munroe’s Mirrorboard.
// Idea is completely of Munroe
// His original layout uses the level 3 modifier
// to add the necessary letters on the keyboard.
// The swedish qwerty RELIES heavily on the level 3
// modifier in the form om ALT GR (right alt).
// Therefore, the swedish qwerty and mirrorboard
// isn’t entirely compatible…
// I’ve omitted some of the characters not used commonly
// and relocated some that couldn’t stay (most notably @).
// You’ll find I’ve done my best to keep characters
// where they should, but of course, one thing
// can’t be the best for all.
// If you find my placements REALLY disturbing
// you can of course change here.
// The file must be the most self-explainatory thing
// I’ve ever seen, so no worries.
// Some characters remain where they are on the
// swedish qwerty, and remains with the level
// 3 modifier, though you have to press caps lock
// to get characters like {, [, ], } and ~…
// This should be no problem as I find that
// even more intuitive. :)
And… I realise now I’ve forgot the $-sign, which might be necessary if you do PHP, Perl or something, but you can easily hack it wherever you want.
http://kr1sse.shivas.se/uppladdningar/mise.xkb
Also, I think a link in the original post might help other swedes. :)
I can’t help but notice that xkcd is incredibly fast to type on the Left-handed Dvorak layout, all the letters adjacent and basically in order, with only x being off the home row.
>E cavat gesw brt vwtece tgat xdcd es evcredebsy fast tw tyqe wv tge Seft-Ganded Dvwrad saywetx a** tge setters adfacevt and basecassy ev wrderc wetg wvsy x beevg wff tge gwce rwwx
>I can’t help but notice that xkcd is incredibly fast to type on the Left-Handed Dvorak layout, all the letters adjacent and basically in order, with only x being off the home row.
Wow that was fun. The first paragraph was me just typing with my left hand alone, just pretending that the keyboard was flipped. I was suprised at how simple it was to superimpose the right hand over the left.
3.5 hours later and some (very simple) scripting for http://www.autohotkey.com (ala gmp@lj above) and I was able to type the second paragraph at about 1/4 speed, but (nearly) all with my left hand. Once I get the hang of this it’ll be great! I work on a computer all day doing AutoCAD drafting, and most of the commands can be entered as text and shortcuts. I’ve been tempted to plunk down $50 for a gaming keypad and programming it with my favorite commands, but with this setup I can just type whatever I want with the one hand! Fabulous.
I know, it sounds incredibly lazy – not moving my hand from one side of the keyboard to the other, oh the pain – but I know that I waste far too much time hunting and pecking for the letter that I want, and more often than not getting it wrong. Now if I could only find a workaround to force that program to accept the space bar as a hotkey modifier….
[...] The XKCD mirrorboard: a variation on the 508 theme which uses the caps lock key to shift halves. However I’m an emacs freak so I have my capslock remapped to CTRL already, and I also use a custom keyboard layout to get at Croatian extended characters. [...]
Hi!
I’ve been frustrated both by the way that the original XKCD mirrorboard works, and the way I couldn’t get the monstrosity of MXK to work properly. Therefore I’ve sat down yesterday to write The Mirrorboard. It’s a Linux evdev/uinput hack that allows you to use your regular keyboard just like the way you would use the Matias 508 keyboard.
Of course, the best part is – now any keyboard is a 508.
You can check out the short project intro here: http://www.ordecon.com/2008/12/29/mirrorboard-type-with-one-hand-use-the-other-for-something-else/ and if you need help compiling it / getting it to run, don’t be afraid to contact me!
[...] form the qwerty version of the original mirrorboard, I made one for Dvorak, specialized to an HP Pavilion (dv2000) Laptop keyboard. Click on the image [...]
RENAULT ecu maps power tuning flash files download area…
MINI COOPER33 ecu maps power tuning flash files download area…
Nine Fingernails…
On the evening of March 12th, I had a bit of an accident…nearly lost a finger in the process…In-all, the final moral of the story, is that one should be careful where they stick their things…no, not that! I meant fingers!
Before diving into de…
[...] was an idea that Randall Munroe outlined on his blog. Go read [...]
Such was the case when I solicited a Computer Ergonomic Workstation. It is a computer posture environment because it has a special keyboard, which allows me to have my hands straight and not have to bend my wrists.