Copyright (C) 2000-2012 |
GNU Info (emacs)Function KeysRebinding Function Keys ----------------------- Key sequences can contain function keys as well as ordinary characters. Just as Lisp characters (actually integers) represent keyboard characters, Lisp symbols represent function keys. If the function key has a word as its label, then that word is also the name of the corresponding Lisp symbol. Here are the conventional Lisp names for common function keys: `left', `up', `right', `down' Cursor arrow keys. `begin', `end', `home', `next', `prior' Other cursor repositioning keys. `select', `print', `execute', `backtab' `insert', `undo', `redo', `clearline' `insertline', `deleteline', `insertchar', `deletechar' Miscellaneous function keys. `f1', `f2', ... `f35' Numbered function keys (across the top of the keyboard). `kp-add', `kp-subtract', `kp-multiply', `kp-divide' `kp-backtab', `kp-space', `kp-tab', `kp-enter' `kp-separator', `kp-decimal', `kp-equal' Keypad keys (to the right of the regular keyboard), with names or punctuation. `kp-0', `kp-1', ... `kp-9' Keypad keys with digits. `kp-f1', `kp-f2', `kp-f3', `kp-f4' Keypad PF keys. These names are conventional, but some systems (especially when using X) may use different names. To make certain what symbol is used for a given function key on your terminal, type `C-h c' followed by that key. A key sequence which contains function key symbols (or anything but ASCII characters) must be a vector rather than a string. The vector syntax uses spaces between the elements, and square brackets around the whole vector. Thus, to bind function key `f1' to the command `rmail', write the following: (global-set-key [f1] 'rmail) To bind the right-arrow key to the command `forward-char', you can use this expression: (global-set-key [right] 'forward-char) This uses the Lisp syntax for a vector containing the symbol `right'. (This binding is present in Emacs by default.) Note: Init Rebinding, for more information about using vectors for rebinding. You can mix function keys and characters in a key sequence. This example binds `C-x <NEXT>' to the command `forward-page'. (global-set-key [?\C-x next] 'forward-page) where `?\C-x' is the Lisp character constant for the character `C-x'. The vector element `next' is a symbol and therefore does not take a question mark. You can use the modifier keys <CTRL>, <META>, <HYPER>, <SUPER>, <ALT> and <SHIFT> with function keys. To represent these modifiers, add the strings `C-', `M-', `H-', `s-', `A-' and `S-' at the front of the symbol name. Thus, here is how to make `Hyper-Meta-<RIGHT>' move forward a word: (global-set-key [H-M-right] 'forward-word) automatically generated by info2www version 1.2.2.9 |