Ban Shift Key

By Xah Lee. Date: . Last updated: .

I'm banning Shift key again.

Around , i discovered that key combinations (aka key chords) is extremely stupid. It is also one of the major cause of RSI. See:

From efficiency point of view, key chord should be completely banished on keyboard. It was a historical mistake. A big mistake. It happened due to HABIT, like almost everything else.

So, i've made major changes to my emacs so that there's almost no use of chord keys with Alt or Ctrl. However, there's still the Shift key, which i didn't think about at the time. Sometimes in 2013, i experimented with a key sequence set so that for any character that requires Shift, i type a sequence of 3 keys instead. Here's the sample snippet of that system.

(define-key key-translation-map (kbd "<menu> SPC 1") (kbd "!"))
(define-key key-translation-map (kbd "<menu> SPC 2") (kbd "@"))
(define-key key-translation-map (kbd "<menu> SPC 3") (kbd "#"))
(define-key key-translation-map (kbd "<menu> SPC 4") (kbd "$"))
(define-key key-translation-map (kbd "<menu> SPC 5") (kbd "%"))
(define-key key-translation-map (kbd "<menu> SPC 6") (kbd "^"))
(define-key key-translation-map (kbd "<menu> SPC 7") (kbd "&"))
(define-key key-translation-map (kbd "<menu> SPC 8") (kbd "*"))
(define-key key-translation-map (kbd "<menu> SPC 9") (kbd "("))
(define-key key-translation-map (kbd "<menu> SPC 0") (kbd ")"))

(define-key key-translation-map (kbd "<menu> SPC a") (kbd "A"))
(define-key key-translation-map (kbd "<menu> SPC b") (kbd "B"))
(define-key key-translation-map (kbd "<menu> SPC c") (kbd "C"))

(the <menu> key above is left spacebar on the Truly Ergonomic Keyboard.)

I used this for a month or two. Finding it really convenient. However, eventually i stopped using it. I was worried that i won't be able to type on other people's computer anymore, or any new laptop. Because this is rather a major change. Changing shortcut keys is one thing, but now changing how to type any uppercase letters is a new level of incompatibility with the norm.

Over the past year, i yearned for my ban shift system. But just didn't revisit the issue. Today, i'm going back to it! Thanks to Sacha Chua for mentioning it. (see 〔►see Sacha Chua's Emacs Chat

The Shift key is actually useful, just not the way it is used today as a modifier key.

The way Shift should work is that once pressed, then, the next key press will insert the shifted version. (you can use stickey keys to make it so, in any {Microsoft Windows, Linux, Mac}.) Similarly, Caps Lock key should work the same way.

it's not that the Shift key is bad. It's the concept of modifier — the need to hold the key down. 〔►see Banish Key Chords

Speed Typing King Sean Wrona on Not Using Shift Key

Chris Jones wrote:

Intriguing fact regarding the Caps Lock key: Although it may sound counterintuitive, Sean Wrona who currently holds a bunch of speed typing records uses it to type all capital letters. Instead of hitting Shift+‹letter› he finds it is more efficient to hit Caps Lock+‹letter›+Caps Lock in quick succession. The reason is that hitting one key at at time is considerably easier than hitting two keys at the same time.

If you analyze what your fingers actually do when you hit Shift+‹letter› you really do the following:

so you really have three successive actions in sequence. Pretty much the same as when you hit three keys in succession, at least where your brain is concerned. And even if it may arguably be marginally faster to hit Shift+‹letter› AND release the Shift key before you move on to the next key (!). The risk of typos is definitely much higher. In a sense he's using the Caps Lock key as if it were some kind of sticky key modifier! I would imagine very few people use this technique. I definitely do not, but then I'm not in the 200-something wpm class by a long shot. ☺

Sean Wrona on typing:

How to Setup Shift-Lock Key

Linux: Setup Shift Lock Key

Mac: Key Remapping and Keybinding Tools