Shift Key Problem

Shift Key Problem is a constant battle.

I think to get around the ShiftKeyProblem in any programming language:

Programmable keyboards don't offer a standard, and everyone uses different setups.. this is not good. We need a hardware standard for each language (and similar languages could have a combined setup). (or just better programmable keyboards, ones with buttons in useful places.. not at the top of the keyboard above function keys.. and also not a $600 price tag. It's just a piece of plastic, after all. Then we could develop setup standards for those keys on the keyboard, rather than just a hardware standard.) Maybe the keyboard would cost a bit more, but it would be an investment. For example, having a button below the space bar for your thumb which typed out "end" or "curly brace" would be a lot more useful than using the shift key or a key at the very top of the keyboard.

I've also thought about a FingerWall. This would take up a bit more desktop space and air space, and might require hinges that were 'stiffer than laptop screen' ones.


In my days as a Telex/Teletype/TWX operator, I had to shift back and forth between "letters" and "figures" modes to type messages containing both alpha and non-alpha characters. The patter is something like this (LTRS = letters, FIGS = figures):

(I was in Denmark, so all the alpha characters were lower case).

The [LTRS] and [FIGS] keys were not "state" keys in the "active while held down" sense, they were actual code keys that sent a separate signal and occupied a tape position. You didn't "hold letters shift and press X" or "hold figures shift and press *" rather you pressed [LTRS] and everything you typed was alpha until the next type you pressed [FIGS].

This latching model allowed for a typing rhythm where the shifts were just another single key you pressed, not something requiring two (or three) digits at once. Typing became a streaming activity over the entire symbol set.

If you wanted to, you could code the shift and control keys that way on your conventional keyboard. [Shift] could mean "shift the next key I press" while 2x[Shift] might mean something like CapsLock. It would take some getting used to, but that driver could be used anywhere without requiring new hardware. You could add visual cues as needed, but you would probably not need them for long.

-- GarryHamilton

This feature can be enabled in Windows. Hit the Shift key 5 times and you will get the usability menu. It is intended for impaired people who cannot physically hold 2 keys at the same time. The "hit 5 shift" causes a great deal of problems in non-direcX games where the shift key is being used as an input.

And you can keep it. Some of us prefer to use shift keys and as many BuckyBits? as we can - shift keys are not confusingly MultiModal?, like the CapsLock is. Such approaches create problems in remembering all of the state information.

Imho, the best solution is the aforementioned "programmer keyboard" where most of the punctuation keys are given their own key (so the numbers row is actually 2 rows, for example). Leave the regular keys as is, shift for caps is no big pain (personally, I'm against CaseSensitivity in general). Add an underscore key below the spacebar. Add an A,B,C,D,E,and F key to the numerical keypad.

-- MartinZarate


Maybe also CtrlKeyProblem?, MetaKeyProblem?



EditText of this page (last edited May 23, 2008) or FindPage with title or text search