[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
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. 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.)
Voir la section Rebinding Keys in Your Init File, 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) |
Many keyboards have a “numeric keypad” on the right hand side. The
numeric keys in the keypad double up as cursor motion keys, toggled by a key
labeled ‘Num Lock’. By default, Emacs translates these keys to the
corresponding keys in the main keyboard. For example, when ‘Num Lock’
is on, the key labeled ‘8’ on the numeric keypad produces kp-8
,
which is translated to 8; when ‘Num Lock’ is off, the same key
produces kp-up
, which is translated to <UP>. If you rebind a key
such as 8 or <UP>, it affects the equivalent keypad key too.
However, if you rebind a ‘kp-’ key directly, that won't affect its
non-keypad equivalent.
Emacs provides a convenient method for binding the numeric keypad keys,
using the variables keypad-setup
, keypad-numlock-setup
,
keypad-shifted-setup
, and keypad-numlock-shifted-setup
. These
can be found in the ‘keyboard’ customization group (voir la section Easy Customization Interface). You can rebind the keys to perform other tasks, such as
issuing numeric prefix arguments.
[ < ] | [ > ] | [ << ] | [Plus haut] | [ >> ] | [Top] | [Table des matières] | [Index] | [ ? ] |
Ce document a été généré par Eric Reinbold le 23 Février 2009 en utilisant texi2html 1.78.