25.5.1 Event Types
Events represent keyboard or mouse activity or status changes of various
sorts, such as process input being available or a timeout being triggered.
The different event types are as follows:
- key-press event
- A key was pressed.
Note: Modifier keys such as “control”, “shift”, and “alt” do not
generate events; instead, they are tracked internally by SXEmacs, and
non-modifier key presses generate events that specify both the key
pressed and the modifiers that were held down at the time.
- button-press event
- button-release event
- A button was pressed or released. Along with the button that was pressed
or released, button events specify the modifier keys that were held down
at the time and the position of the pointer at the time.
- motion event
- The pointer was moved. Along with the position of the pointer, these
events also specify the modifier keys that were held down at the time.
- misc-user event
- A menu item was selected, the scrollbar was used, or a drag or a drop
occurred.
- process event
- Input is available on a process.
- timeout event
- A timeout has triggered.
- magic event
- Some window-system-specific action (such as a frame being resized or
a portion of a frame needing to be redrawn) has occurred. The contents
of this event are not accessible at the elisp level, but
dispatch-event knows what to do with an event of this type.
- eval event
- This is a special kind of event specifying that a particular function
needs to be called when this event is dispatched. An event of this type
is sometimes placed in the event queue when a magic event is processed.
This kind of event should generally just be passed off to
dispatch-event. See Dispatching an Event.