[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Top] [Table des matières] [Index] [ ? ]

21.6.1 Keyboard Events

There are two kinds of input you can get from the keyboard: ordinary keys, and function keys. Ordinary keys correspond to characters; the events they generate are represented in Lisp as characters. The event type of a character event is the character itself (an integer); see Classifying Events.

An input character event consists of a basic code between 0 and 524287, plus any or all of these modifier bits:

meta

The 2**27 bit in the character code indicates a character typed with the meta key held down.

control

The 2**26 bit in the character code indicates a non-ASCII control character.

ASCII control characters such as C-a have special basic codes of their own, so Emacs needs no special bit to indicate them. Thus, the code for C-a is just 1.

But if you type a control combination not in ASCII, such as % with the control key, the numeric value you get is the code for % plus 2**26 (assuming the terminal supports non-ASCII control characters).

shift

The 2**25 bit in the character code indicates an ASCII control character typed with the shift key held down.

For letters, the basic code itself indicates upper versus lower case; for digits and punctuation, the shift key selects an entirely different character with a different basic code. In order to keep within the ASCII character set whenever possible, Emacs avoids using the 2**25 bit for those characters.

However, ASCII provides no way to distinguish C-A from C-a, so Emacs uses the 2**25 bit in C-A and not in C-a.

hyper

The 2**24 bit in the character code indicates a character typed with the hyper key held down.

super

The 2**23 bit in the character code indicates a character typed with the super key held down.

alt

The 2**22 bit in the character code indicates a character typed with the alt key held down. (On some terminals, the key labeled <ALT> is actually the meta key.)

It is best to avoid mentioning specific bit numbers in your program. To test the modifier bits of a character, use the function event-modifiers (voir la section Classifying Events). When making key bindings, you can use the read syntax for characters with modifier bits (‘\C-’, ‘\M-’, and so on). For making key bindings with define-key, you can use lists such as (control hyper ?x) to specify the characters (voir la section Changing Key Bindings). The function event-convert-list converts such a list into an event type (voir la section Classifying Events).


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Top] [Table des matières] [Index] [ ? ]

Ce document a été généré par Eric Reinbold le 13 Octobre 2007 en utilisant texi2html 1.78.