Next: , Previous: Init Rebinding, Up: Key Bindings

57.4.7 Modifier Keys

The default key bindings in Emacs are set up so that modified alphabetical characters are case-insensitive. In other words, C-A does the same thing as C-a, and M-A does the same thing as M-a. This concerns only alphabetical characters, and does not apply to “shifted” versions of other keys; for instance, C-@ is not the same as C-2.

A <Control>-modified alphabetical character is always considered case-insensitive: Emacs always treats C-A as C-a, C-B as C-b, and so forth. The reason for this is historical.

For all other modifiers, you can make the modified alphabetical characters case-sensitive when you customize Emacs. For instance, you could make M-a and M-A run different commands.

Although only the <Control> and <Meta> modifier keys are commonly used, Emacs supports three other modifier keys. These are called <Super>, <Hyper> and <Alt>. Few terminals provide ways to use these modifiers; the key labeled <Alt> on most keyboards usually issues the <Meta> modifier, not <Alt>. The standard key bindings in Emacs do not include any characters with these modifiers. However, you can customize Emacs to assign meanings to them. The modifier bits are labelled as ‘s-’, ‘H-’ and ‘A-’ respectively.

Even if your keyboard lacks these additional modifier keys, you can enter it using C-x @: C-x @ h adds the “hyper” flag to the next character, C-x @ s adds the “super” flag, and C-x @ a adds the “alt” flag. For instance, C-x @ h C-a is a way to enter Hyper-Control-a. (Unfortunately, there is no way to add two modifiers by using C-x @ twice for the same character, because the first one goes to work on the C-x.)