Next: , Previous: , Up: Keystrokes   [Contents][Index]

2.1 Keystrokes as Building Blocks of Key Sequences

Earlier versions of Emacs used only the ASCII character set, which defines 128 different character codes. Some of these codes are assigned graphic symbols like ‘a’ and ‘=’; the rest are control characters, such as Control-a (also called C-a). C-a means you hold down the CTRL key and then press a.

Keybindings in SXEmacs are not restricted to the set of keystrokes that can be represented in ASCII. SXEmacs can tell the difference between, for example, Control-h, Control-Shift-h, and Backspace.

A keystroke is like a piano chord: you get it by simultaneously striking several keys. To be more precise, a keystroke consists of a possibly empty set of modifiers followed by a single keysym. The set of modifiers is small; it consists of Control, Meta, Super, Hyper, and Shift.

The rest of the keys on your keyboard, along with the mouse buttons, make up the set of keysyms. A keysym is usually what is printed on the keys on your keyboard. Here is a table of some of the symbolic names for keysyms:


alphabetic keys


function keys


left mouse button


middle mouse button


right mouse button


upstroke on the left mouse button


upstroke on the middle mouse button


upstroke on the right mouse button


Return key

Use the variable keyboard-translate-table only if you are on a dumb tty, as it cannot handle input that cannot be represented as ASCII. The value of this variable is a string used as a translate table for keyboard input or nil. Each character is looked up in this string and the contents used instead. If the string is of length n, character codes N and up are untranslated. If you are running Emacs under X, you should do the translations with the xmodmap program instead.

Next: , Previous: , Up: Keystrokes   [Contents][Index]