75

In most word processors, you can easily toggle many text styles. For example:

  • Ctrl + B - Will bold or un-bold selected text.
  • Ctrl + U - Will underline or un-underline selected text.
  • Ctrl + I - Will italicize or un-italicize selected text.

With Caps Lock, however, it is not a toggle function. Unless the program has a feature to convert the text one way or the other, the text must be deleted, Caps Lock hit, then retyped. This seems like part of the reason the Caps Lock seems so useless; because it is not easy to use. And how about that scenario where you hit Shift in the middle of a sentence for a name or something, but accidentally hit Caps Lock too? Then you don't notice until your wORK LOOKS LIKE THIS. nOW YOU HAVE TO DELETE THE WHOLE THING.

Why is Caps Lock not a toggle key, in this respect? Should it be?

15
  • 4
    What should happen if I select mixed-case text (which is vastly more common in practice than all-lower-case or all-upper-case) and press Caps Lock to turn it on? What should happen if I select all-lower-case text with Caps Lock already turned on? How often do you really do this? Etc., etc. No software feature comes for free. It must be envisioned, designed, coded, tested, documented, supported, ... All of that costs money. Any one feature means something else doesn't get implemented. The payoff in usability (and possible at least initial confusion to users) needs to justify that whole cost.
    – user
    Commented Sep 11, 2014 at 7:42
  • 51
    Caps lock shouldn't be a key at all, any more. It's like having a key that makes a loud farting noise: sure, it's useful about once a year but, for every time you actually use it, there are a thousand times when it's annoying and/or embarrassing, wrecks your concentration or otherwise gets in your way. Commented Sep 11, 2014 at 8:17
  • 10
    As a long-time user of Vi/Vim (on Windows as well as *nix) my immediate reaction on reading this question is that I use the ~ key to reverse the effects of an accidental caps-lock (on computers where I haven't already disabled caps-lock) or to change a block of text to the opposite case for any other reason. Commented Sep 11, 2014 at 8:39
  • 2
    Just a note, some Android keyboards (including Google Keyboard) do this with the Shift key, and I find it works quite well. The toggle works like this: 1. Capitalize the first letter of the selection; 2. CAPITALIZE EACH LETTER; 3. lower-case each letter. Commented Sep 11, 2014 at 17:57
  • 3
    Caps Lock -> Ctrl is incredibly useful, with the only unfortunate side effect that it messes up my muscle memory on different computers. For example, with Caps+F I only have to shift one finger a single key, but Ctrl+F requires that my entire hand twist to reach the Ctrl key.
    – Doorknob
    Commented Sep 11, 2014 at 23:17

7 Answers 7

62

History

The Caps lock key origins are in the Shift lock key found on old mechanical typewriters.

An early innovation with these typewriters was the introduction of a second character per type bar - the metal stamper hitting against the ink ribbon. The shift key practically shifted the whole type apparatus so it is the second set (capital set for letter keys) that would hit the ribbon.

The shift key was used with the little finger, so prolonged press was physically demanding. The Shift lock key simply locked the shift key in its down position.

A photo showing an old type writer, with the shift and shift-lock keys on the left.

A similar photo to the one below, showing the shift lock key more clearly.

Usability

The Caps lock key is a toggle key meaning it has two states, as denoted by an LED on modern keyboard. This is in contrast to nearly all other keyboard keys which are action keys - they don't have two states.

An image showing a caps lock key on mac keyboard with LED on

Now toggling upper/lower case on selected text is an action, thus the caps lock key is unfit for such purposes. Various use-case scenarios make little sense if the caps lock key would be a hybrid state-action key.

For instance, consider this:

  • The user wish to change a sentence from lower to upper case.
  • The user selects the text.
  • The user presses caps lock (caps lock is now on).
  • The user wishes to write in lower case, but caps lock is on, so the user needs to press caps lock again. caps lock is now off. The later is a superfluous action due to the state-action mixup of the key.
  • Now the user has text that is upper case, but wishes to change it to lower case.
  • The user selects the text.
  • The user presses caps lock (caps lock is now on).
  • Now note that previously on > off changed to upper case, where now it changed to lower case. This is confusing.
11
  • 1
    I'm not a very good programmer, but from what I know, you can code your word processor to utilize the caps key any way you want. I do see, though, that having the key behave both ways is confusing. There would also be scenarios where it is already on, and using it to convert text to upper or lower would turn it off, now. On a different note, why answer but not upvote?
    – user51426
    Commented Sep 10, 2014 at 23:44
  • 1
    To the best of my knowledge, nowadays the caps lock key implementation is standard - the programmer gets it as a key up/down event, and say the key 'a' as its keycode on key up/down, but the actual letter 'A' or 'a' on keypress event. So yes - what you suggest can be done. The hardware, however, sends a different code for caps lock on or off. I do suspect that this was not always the case and that older implementation involved key up for caps lock on and key down for caps lock off.
    – Izhaki
    Commented Sep 10, 2014 at 23:56
  • 5
    As for the upvote business - first, I was too keen to provide an answer; second, I'd normally upvote questions that I've either searched for or want to know the answer for myself. But it's a good question alright so you got my upvote now. Although I'd argue that knowledge is more precious than rewards...
    – Izhaki
    Commented Sep 10, 2014 at 23:59
  • I was thinking that the other text format keys I note are keyboard menu shortcuts using command keys (crtl in all my examples). Another answer noted here that MS word will toggle caps on selected text with shift+f3. I am wondering now why they thought f3 should suffice. I think crtl+caps would make sense, though that still toggles the actual capslock.
    – user51426
    Commented Sep 11, 2014 at 6:51
  • 2
    I'm afraid this is not perfectly accurate - the 'B' button on a word processor changes its state based on the position of the cursor (so once you clicked 'B' to make the selection bold, if you move the cursor to text that isn't bold, the 'B' button deselects). There are usability issues with this as well, because on most word processors the button only turns on if the whole selection is in bold - if in a bold sentence two letters aren't bold, and you wish to bold the lot, you need to press the button twice.
    – Izhaki
    Commented Sep 11, 2014 at 13:26
14

Given your list Ctrl + B, Ctrl + U, Ctrl + I, to be consistent, if you want to convert the selected text to Upper / Lower case you should be using the Ctrl key (you also of course have Ctrl + C and Ctrl + X).

I've seen this done using the Ctrl key in text editors, e.g. Notepad++ (as there is no underline) it is Ctrl + U for lowercase and Ctrl + Shift + U for uppercase. I've also seen it in text editors as Ctrl + L for lowercase, Ctrl + U for uppercase.

However Microsoft being Microsoft, they've gone for Shift instead. In Word, Shift + F3 is the action used. That might have something to do with why few people know how to convert case in Word, but many know the bold/italic shortcuts. Given that F3 is used for searching it seems a terrible choice.

5
  • 1
    Not to mention that the stretch between shift and f3 is a bit difficult to make with certainty.
    – user51426
    Commented Sep 11, 2014 at 15:42
  • 4
    Word 2007 (and earlier iirc) do this via, ctrl+shift+A. This changes the formatting option to capitals, directly analogous to bold. If you press it without anything selected, then from here forth your text will be captial, as if yopu had pressed ctrl+b for bold. This is superconfusting to someone who thinks caps lock is on Commented Sep 14, 2014 at 7:09
  • @Oxinabox It's good to know that. It's definitely not the key combo I would have thought of. Being that ctrl+A is select all in most programs, ctrl+shift+A seems like it should be related to that function in some way, perhaps deselect all, though that doesn't seem very useful or necessary.
    – user51426
    Commented Sep 15, 2014 at 8:54
  • toggling between upper and lowercase is not a common action that needs an easy-to-type shortcut. I rarely have to use Shift+F3 in Word or ctrl+U in Notepad++ anyway
    – phuclv
    Commented Mar 20, 2017 at 16:23
  • @LưuVĩnhPhúc To be fair to Word, it has to prioritise Underline which is Ctrl + U. Shift + F3 is quite a weird one though.
    – icc97
    Commented Mar 21, 2017 at 16:06
5

Historically CAPS LOCK predates word processors and modern computers. On old school type-writers, there was no Backspace or Delete key. The functionality of the Caps lock key simulates that of a typewriter.

There is plenty of software that can fix this... for example in Sublime editor you can select some text then click Edit > Convert Case and select the type of capitalization you would like. In Microsoft Word 2007+ you can do this from Home > Case (the button looks like Aa ).

2
  • Many typewriters had a backspace key. Some business typewriters had a white-out ribbon. To “delete” you would press backspace, engage the white ribbon, type the wrong letter again (the chariot does not move), disengage the white ribbon and type the correct letter... Commented Sep 12, 2014 at 14:58
  • 1
    That's why I specifically said "old school type-writers". Specifically it was an innovation that came between computer word processing and mechanical type writers.
    – aslum
    Commented Sep 12, 2014 at 15:54
3

The logic behind shift lock

In addition to the excellent answer of Izhaki it also is interesting/useful to understand why a state toggle (the shift lock) was valuable on typewriters in the first place. When typewriters were used there was no way to typeset (well, there were ways, but it was relatively speaking far harder). Because of this it was normal to write titels in UPPERCASE rather than in a bigger font size or bold such as is the norm nowadays. The example below is far from perfect, as that's from a book where typesetting actually was available, but it still shows the trend to use pure uppercase as a way of typesetting which has come in disuse nowadays.

enter image description here

Sometimes entire introductory paragraphs were even written in caps, whereas nowadays we would simply make the paragraph italics or bold. I couldn't find any examples of this in Google Books, but found the following poor example on Google Images.

enter image description here

2

Caps lock isn't a toggle-key because it isn't an action key; it's a modifier key (see [1] though) - it just modifies other keystrokes without causing any action in and of itself. It could do what you want, but there is another problem with that: all keys send character values (or key values) to the input buffer of the computer. There is no single key that, by default, performs modification actions on text or otherwise. These are all implementation-depenedent. Caps-lock would thus deviate from the standard input model and this would violate consistency, unless all software developers decided to make consistent use of the key - which would then be a usability issue for developers.

Caps-lock is kind of a bad idea these days. The problem isn't so much how the key behaves, but that it exists. Much like the 'menu' key, it's only good when remapped.

[1]: kasperd in the comments states that Caps Lock isn't wired as a modifier. Read his comments for more details. My argument here is for Caps Lock as a held-down/toggle shift-key, hence my reference to it as a modifier.

8
  • 2
    Usually, it's the shift key that's considered a modifier, not Caps Lock.
    – MSalters
    Commented Sep 11, 2014 at 13:05
  • That's what it's called. But Caps-lock is intended to be a Shift key, held down - at least on modern computers. Manual or automatic modifier, it's still effectively a modifier.
    – mechalynx
    Commented Sep 11, 2014 at 13:48
  • It's a free key that everyone can configure to do what he wants it to do. I really like the key because I use it as a modifier to start various Autohotkey scripts.
    – Christian
    Commented Sep 11, 2014 at 16:03
  • 1
    I like having keys to do stuff for me too - all I'm saying is that having an auto-shift key is kind of useless. I wouldn't argue for less keys, but I would prefer to have a key that works the way people use it (an extra function key) instead. It really isn't that bad, except that accidentally pressing it causes extra work when there aren't proper text editing facilities around. Its good to have free keys, just not good to have them do useless things by default. (personally, I don't find it problematic - i never accidentally press it and I type blindly, but it seems others have issues).
    – mechalynx
    Commented Sep 11, 2014 at 16:35
  • @ivy_lynx Modifier keys are wired differently from other keys such that you can get the correct result when pressing multiple keys simultaneously. You can't expect Caps Lock to be physically wired as a modifier. The thing is that the keyboard electronics doesn't have 100 wires connecting to each key separately. A much smaller number of wires is required such that each key can connect a different pair of wires. But if you press three keys simultaneously and connect four wires, the electronics can't know exactly which three keys you pressed.
    – kasperd
    Commented Sep 13, 2014 at 12:16
1

New device formats make life interesting for the "Caps Lock" key.

In non-standard PC's they can be deprecated e.g. Chromebooks no longer have caps lock key
Question becomes, is 'toggle a sentence capitalisation' an important enough (frequent or critical) operation to warrant a physical key? Clearly not ahead of other text emphasis Bold, Italic, etc

However in the case of a mobile device with touch screen and virtual keyboard there is often a significant difficulty with holding "shift". So typing in acronyms like "UNESCO" is either clicking

shift / U / shift /  N / shift / E / shift / S / shift / C / shift / O

or

long-press_shift / U / N / E / S / C / O / shift_off

So one can expect the virtual keyboard to keep a "caps lock" equivalent facility. Also as text is difficult to mark-up on mobile screens, is unlikely to be sensible to support a work flow of typing lower case - then marking text and toggling to upper case.

2
  • 5
    Usually, on mobile keyboards, a double tap on shift make it all caps instead of just the first letter (single tap), so there is no dedicated caps key. Also, if you're word processing on a mobile device without a proper keyboard, shift and caps are among the least of your worries. Thank you for your answer.
    – user51426
    Commented Sep 12, 2014 at 23:33
  • @fredsbend Good point. I'm curious to see how long it'll be until we see keyboards for desktops with "double-tap" keys :P I guess I'll have to stock up on my trusty logitech 12€ k120s :P
    – mechalynx
    Commented Sep 13, 2014 at 23:54
1

I think the key has a poor rap from outgrowing it's usefulness. But why doesn't it toggle text? Look no further than the name of the key. Caps Lock, emphasis Lock. The key, by name alone, dictates that it's modifying the state of the lock; whether the text interpreter should be using lower or upper case depending on whether or not the lock is opened or shut.

If the key read Capitalize I could see your point, but I don't see it as something that's so hard to understand. Controls like Ctrl + B are mutators -- they mutate the user's selection. Caps Lock alters the lock's state. There is no mutation set to any selection. Same as if you selected a bunch of text and pressed A by itself. Keys on a keyboard themselves are not meant to mutate selections, software is meant to interpret combinations of keys and apply their own commands for selection mutation.

It just makes sense, whether or not how useful it is.