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 ban'd on keyboard. It was a historical mistake. A big mistake. It happened due Mechanical Typewriters shift key shifting gears, and then HABIT struck, 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 http://sachachua.com/blog/2014/05/emacs-chat-xah-lee-ergoemacs/) [see Sacha Chua's Emacs Chat]

The way Shift should work is that once pressed (and released), then, the next key press inserts the shifted version. [see Sticky Keys]

Speed Typing King Sean Wrona on Not Using Shift Key

Chris Jones wrote:

Intriguing fact regarding the CapsLock 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 CapsLock+letter+CapsLock 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:

  1. depress the Shift key.
  2. hit the letter
  3. release the Shift key.

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 CapsLock 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: http://seanwrona.com/typing.php

How to Setup Shift-Lock Key

Keybinding and Input-System