Uttered "Paul W. Frields" <stickster(a)gmail.com>, spake thus:
I'm not sure if I got Tommy's meaning right, but I think what
he was
getting at didn't have to do with the difference between printable and
nonprintable characters, but rather the difference between something the
user types and sees echoed on the screen (like ":wq" in the vi example),
as opposed to Ctrl+Alt+Del.
Er, Paul, if you can see the echo: it's printable!
More formally, I would reserve keycaps, et. al., to mark-up "function
keys": F1 and friends, as well as Ctl+Alt+Del, including the
you-would-never-type-this-character-in-typing-class category that
emacs loves so well.
Attend me. It matters not that VI treats ":wq" specially in some
instances. What is important is that it's a readable sequence. All
VI commands follow the general form of either
"<reps><action><destination>"
like "4cw" or a logical process like "wq". Massively
<keycap>'ing them
destroys the semantics. On the other hand, the emacs key binding of
"Ctl-C Ctl-F foo \n" is not readable and should be <keycap>'ed
because there are two logical "function" keys introducing the
sequence. If only emacs had the kind of keyboard it needed, there
would be a special function key whose labels was "Funky Emacs
Function".
See the difference? A key or keys treated as a virtual function key
should be <keycap>'ed; anything else is just <userinput>. Reserve
the <keycap> family to convey the notion of a function key.
And it just so happens that most logical function key combos are
non-printing...
That any better?