#TL;DR
It has never had anything to do with the text representations on the keyboard itself. It was all about a standard way to disambiguate what you literal keystrokes from what meta keys you pressed and held in addition to the literal keystroke(s) in written documentation. It still is a valid way to notate them still today
.
###Remember when typewriters were a thing?
Notice that everything is in UPPERCASE, because the the very first typewriters ( telegraph teletypes ) did not have lowercase at all.
Notice the meta keys such as TAB, SHIFT are all UPPERCASE as well.
The reason that historically meta keys were always written as UPPERCASE is in the old days graphic/desktop publishing pre-90's. It was the way books and ASCII text based systems distinguished a special KEY from text that you actually typed in. And they would usually be surrounded by brackets as [CTRL]
,[SHIFT]
, [ALT]
, [LSHIFT]
and so on and the individual keys on the keyboard have always been in UPPERCASE.
If you wanted to someone to actually type an UPPERCASE character you documented it as SHIFT+L or SHIFT+I or SHIFT+A because if you look at the keyboard keys themselves they have always been in UPPERCASE.
So look at some printed manuals/documentation, and you will quickly see why the proper way to indicate something would be [CTRL] + [ALT] + [DEL]
from the DOS
era and not what the keyboard actually had, because all the keycaps representations varied, is still completely valid today for the same reason.
If you do not think people are this thick headed just read Where is the ANY key? stories.
So for these reasons CTRL is the correct way for how to documentation should represent those keys.
And the most mass produced computer in the world and what my generation learned to program on out of Compute! and Compute Gazette magazines decades ago can not be left out. There have been millions of people that learned to code on this keyboard and all the keys are in UPPERCASE ( even CTRL )!