Overloading Keys


As you might be able to tell from my post “Evolution”, I’ve spent a decent amount of time thinking about my keyboard.

One realization I had is that a lot of keys are being wasted because they’re only pressed as modifier keys.

For example, the Alt key (a.k.a the Option key on macs) and the Control key don’t do anything when pressed by themselves but modify other keys. So why not make them do something useful?

I took this to a bit of an extreme, as is my wont to do.

My spacebar also functions of the shift when held, my left command key launches Alfred (a better version of Spotlight), my right command key launches a window manager, my delete key is also a control key, and my shift keys type left and right parentheses when pressed by themselves. My Enter key is also Option when held.

Note that these specific mappings were optimized for a Kinesis Advantage keyboard, and some don’t make any sense on a regular keyboard. But others are quite handy.

In particular, spacebar as shift when held makes typing much easier because either thumb can be used for shift and doesn’t require you to contort your hand into a weird shape. For a programmer, I highly recommend remapping the shift keys to also type parentheses when tapped by themselves. Other good candidates include underscores and equals signs.

My tab key also launches a custom “namespace” when held. I forgot where I read this, but evidently no OSX commands use all of the modifier keys at the same time (Shift, Control, Command, Option). Mostly because that would be impossible to hold, let alone type. so I made holding tab equivalent to holding all those keys at the same time. In that way, I get about 40 new key bindings which cannot conflict with any others. I mostly use them to launch apps and a few macros, but really the sky’s the limit.

One thing that I’ve reflected on while working at a hedge fund is how much use these mappings have for the kinds of workers who have to do what I call “Excel stuff”, even though those workers seem to be the least inclined people to use them. Given the repetitive nature of Excel and most banking tasks, basic programming knowledge would go a very long way with helping with that.

And I don’t mean Visual Basic. A real programming language. Edgar Dijkstra might have been an abrasive man, but I do like this quote by him: “It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration”.

At the very least, they can make an intern do it. A lot of finance jobs seem to undervalue their interns anyway. It certainly wouldn’t be the most pointless thing I’ve ever seen.

Related Posts

Handy command line benchmarking tool

Stan Rogers

Ultimate Hot Couch Guy

Quote on Java Generics

The Programmer Tendency

Figure out undocumented JSON with gron

Mental Model of Dental Hygiene

Book Review: Swastika Night

Is there a name for this construction?

Fun with negation and idioms