/* Expedient hack: only provide the below definitions to files that
are prepared to handle lispy things. XINT is defined iff lisp.h
has been included before this file. */
-#ifdef XINT
+#ifdef CONSP
enum event_kind
{
no_event, /* nothing happened. This should never
actually appear in the event queue. */
- ascii_keystroke, /* The ASCII code is in .code.
+
+ ascii_keystroke, /* The ASCII code is in .code, perhaps
+ with modifiers applied.
+ .modifiers holds the state of the
+ modifier keys.
.frame_or_window is the frame in
which the key was typed.
- Note that this includes meta-keys, and
- the modifiers field of the event
- is unused.
.timestamp gives a timestamp (in
milliseconds) for the keystroke. */
non_ascii_keystroke, /* .code is a number identifying the
selection_request_event, /* Another X client wants a selection from us.
See `struct selection_event'. */
selection_clear_event, /* Another X client cleared our selection. */
+ delete_window_event /* An X client said "delete this window". */
};
/* If a struct input_event has a kind which is selection_request_event
is a mouse click lacking the click and drag modifiers.
The window-system independent code turns all up_modifier events
- bits into either drag_modifier or click_modifier events. The
- click_modifier has no written representation in the names of the
- symbols used as event heads, but it does appear in the
- Qevent_symbol_components property of the event heads. */
+ bits into drag_modifier, click_modifier, double_modifier, or
+ triple_modifier events. The click_modifier has no written
+ representation in the names of the symbols used as event heads,
+ but it does appear in the Qevent_symbol_components property of the
+ event heads. */
enum {
up_modifier = 1, /* Only used on mouse buttons - always
turned into a click or a drag modifier
queue; it's only used internally by
the window-system-independent code. */
click_modifier= 8, /* See drag_modifier. */
+ double_modifier= 16, /* See drag_modifier. */
+ triple_modifier= 32, /* See drag_modifier. */
/* The next four modifier bits are used also in keyboard events at
the Lisp level.
hyper_modifier= CHAR_HYPER, /* Under X, the XK_Hyper_[LR] keysyms. */
shift_modifier= CHAR_SHIFT,
ctrl_modifier = CHAR_CTL,
- meta_modifier = CHAR_META, /* Under X, the XK_Meta_[LR] keysyms. */
+ meta_modifier = CHAR_META /* Under X, the XK_Meta_[LR] keysyms. */
};
#endif