diff options
author | Richard M. Stallman <rms@gnu.org> | 1993-03-15 05:43:15 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1993-03-15 05:43:15 +0000 |
commit | ec8d0240efc59d3499adac6c33ef4bbfaa1a88f6 (patch) | |
tree | 475908dbe5a1a9a704a7b3b66caa988f5c65ef11 /src/termhooks.h | |
parent | c87b5da53e9cd63448d2c9b7f957c8ceb4985196 (diff) | |
download | emacs-ec8d0240efc59d3499adac6c33ef4bbfaa1a88f6.tar.gz |
(selection_request_event, selection_clear_event): New event kinds.
Diffstat (limited to 'src/termhooks.h')
-rw-r--r-- | src/termhooks.h | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/src/termhooks.h b/src/termhooks.h index 4d07f67ecfb..05340f074b5 100644 --- a/src/termhooks.h +++ b/src/termhooks.h @@ -190,18 +190,11 @@ extern int (*read_socket_hook) (); has been included before this file. */ #ifdef XINT -/* The keyboard input buffer is an array of these structures. Each one - represents some sort of input event - a keystroke, a mouse click, or - a window system event. These get turned into their lispy forms when - they are removed from the event queue. */ - -struct input_event { - - /* What kind of event was this? */ - enum { - no_event, /* nothing happened. This should never +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. .frame_or_window is the frame in which the key was typed. Note that this includes meta-keys, and @@ -209,7 +202,7 @@ struct input_event { is unused. .timestamp gives a timestamp (in milliseconds) for the keystroke. */ - non_ascii_keystroke, /* .code is a number identifying the + non_ascii_keystroke, /* .code is a number identifying the function key. A code N represents a key whose name is function_key_names[N]; function_key_names @@ -221,7 +214,7 @@ struct input_event { which the key was typed. .timestamp gives a timestamp (in milliseconds) for the keystroke. */ - mouse_click, /* The button number is in .code; it must + mouse_click, /* The button number is in .code; it must be >= 0 and < NUM_MOUSE_BUTTONS, defined below. .modifiers holds the state of the @@ -232,7 +225,7 @@ struct input_event { the mouse click occurred in. .timestamp gives a timestamp (in milliseconds) for the click. */ - scroll_bar_click, /* .code gives the number of the mouse button + scroll_bar_click, /* .code gives the number of the mouse button that was clicked. .modifiers holds the state of the modifier keys. @@ -245,7 +238,24 @@ struct input_event { whose scroll bar was clicked in. .timestamp gives a timestamp (in milliseconds) for the click. */ - } kind; + selection_request_event, /* Another X client wants a selection from us. + See `struct selection_event'. */ + selection_clear_event, /* Another X client cleared our selection. */ +}; + +/* If a struct input_event has a kind which is selection_request_event + or selection_clear_event, then its contents are really described + by `struct selection_event'; see xterm.h. */ + +/* The keyboard input buffer is an array of these structures. Each one + represents some sort of input event - a keystroke, a mouse click, or + a window system event. These get turned into their lispy forms when + they are removed from the event queue. */ + +struct input_event { + + /* What kind of event was this? */ + enum event_kind kind; Lisp_Object code; enum scroll_bar_part part; @@ -259,7 +269,7 @@ struct input_event { Lisp_Object x, y; unsigned long timestamp; }; - + /* This is used in keyboard.c, to tell how many buttons we will need to track the positions of. */ #define NUM_MOUSE_BUTTONS (5) |