Next: How do I produce C-XXX with my keyboard?, Previous: Why does the Backspace key invoke help?, Up: Key bindings [Contents][Index]
You can swap two keys (or key sequences) by using the
keyboard-translate
function. For example, to turn C-h
into DEL and DEL to C-h, use
(keyboard-translate ?\C-h ?\C-?) ; translate 'C-h' to DEL (keyboard-translate ?\C-? ?\C-h) ; translate DEL to 'C-h'.
The first key sequence of the pair after the function identifies what is produced by the keyboard; the second, what is matched for in the keymaps.
However, in the specific case of C-h and DEL, you should
toggle normal-erase-is-backspace-mode
instead of calling
keyboard-translate
.
See DEL Does Not Delete in The GNU Emacs Manual.
Keyboard translations are not the same as key bindings in keymaps. Emacs contains numerous keymaps that apply in different situations, but there is only one set of keyboard translations, and it applies to every character that Emacs reads from the terminal. Keyboard translations take place at the lowest level of input processing; the keys that are looked up in keymaps contain the characters that result from keyboard translation.