I got the question from this question, it seems we can't bind shift with meta like M-S-t
(always translated to M-t
), but we can do it with control like C-S-t
(works as C-T
).
As the accepted answer said, we can use M-T
instead, but why we can't use it with meta? Does Emacs just ignore shift
when used with meta?
I think Emacs ignores
S-
for letters when Ctrl is not also used.i.e. it's nothing to do with Meta in particular; the same thing applies to the other non-Ctrl modifiers (and indeed without other modifiers -- you also can't bind to plain
S-t
).The justification may be that Ctrl keys are the only case where an explicit shift modifier is needed for letters:
(emacs) Modifier Keys
saysBy my recollection terminals do not distinguish case for control characters, so I would speculate that the "historical" reasons are related to that.
It would be reasonable for this to at least be documented in the manual. You may wish to
M-x report-emacs-bug
to suggest such an improvement, if no relevant bug exists at present.Note that the Shift modifier can be used with non-letter keys, with or without other modifiers.
M-S-SPC
is a recognised sequence, for example.