|
ELinks 0.19.1
|


Data Structures | |
| struct | term_event_size |
| struct | term_event |
| An event received from a terminal. More... | |
| struct | interlink_event |
| An event transferred via the interlink socket. More... | |
| struct | terminal_info |
| This holds the information used when handling the initial connection between a dumb and master terminal. More... | |
Macros | |
| #define | interlink_event_size term_event_size |
| #define | set_init_term_event(ev, w, h, cw, ch) |
| #define | set_resize_term_event(ev, w, h, cw, ch) |
| #define | set_redraw_term_event(ev, w, h, cw, ch) |
| #define | set_resize_interlink_event(ev, w, h, cw, ch) |
| #define | TERMINAL_INFO_SIZE offsetof(struct terminal_info, data) |
| The terminal_info.data member has to have size of one for portability but it can be empty/zero so when reading and writing it we need to ignore the byte. | |
| #define | INTERLINK_MAGIC(major, minor) |
| We use magic numbers to signal the identity of the dump client terminal. | |
| #define | INTERLINK_NORMAL_MAGIC INTERLINK_MAGIC(1, 0) |
| #define | INTERLINK_REMOTE_MAGIC INTERLINK_MAGIC(1, 1) |
For keyboard events handling | |
| #define | get_kbd_key(event) |
| #define | check_kbd_key(event, key) |
| #define | get_kbd_modifier(event) |
| #define | check_kbd_modifier(event, mod) |
| #define | check_kbd_textinput_key(event) |
| #define | check_kbd_label_key(event) |
For mouse events handling | |
| #define | get_mouse_action(event) |
| #define | check_mouse_action(event, value) |
| #define | get_mouse_button(event) |
| #define | check_mouse_button(event, value) |
| #define | check_mouse_wheel(event) |
| #define | check_mouse_position(event, box) |
Enumerations | |
| enum | term_event_type { EVENT_INIT , EVENT_KBD , EVENT_MOUSE , EVENT_REDRAW , EVENT_RESIZE , EVENT_ABORT } |
| Type of an event received from a terminal. More... | |
Functions | |
| static void | set_mouse_term_event (struct term_event *ev, int x, int y, unsigned int button) |
| static void | set_mouse_interlink_event (struct interlink_event *ev, int x, int y, unsigned int button) |
| static void | set_kbd_term_event (struct term_event *ev, int key, term_event_modifier_T modifier) |
| static void | set_kbd_interlink_event (struct interlink_event *ev, int key, term_event_modifier_T modifier) |
Initialize ev as an interlink keyboard event. | |
| static void | set_abort_term_event (struct term_event *ev) |
| static void | set_wh_term_event (struct term_event *ev, enum term_event_type type, int width, int height, int cell_width, int cell_height) |
| static void | set_wh_interlink_event (struct interlink_event *ev, enum term_event_type type, int width, int height, int cell_width, int cell_height) |
| void | term_send_event (struct terminal *, struct term_event *) |
| void | in_term (struct terminal *) |
| #define check_kbd_key | ( | event, | |
| key ) |
| #define check_kbd_label_key | ( | event | ) |
| #define check_kbd_modifier | ( | event, | |
| mod ) |
| #define check_kbd_textinput_key | ( | event | ) |
| #define check_mouse_action | ( | event, | |
| value ) |
| #define check_mouse_button | ( | event, | |
| value ) |
| #define check_mouse_position | ( | event, | |
| box ) |
| #define check_mouse_wheel | ( | event | ) |
| #define get_kbd_key | ( | event | ) |
| #define get_kbd_modifier | ( | event | ) |
| #define get_mouse_action | ( | event | ) |
| #define get_mouse_button | ( | event | ) |
| #define interlink_event_size term_event_size |
| #define INTERLINK_MAGIC | ( | major, | |
| minor ) |
We use magic numbers to signal the identity of the dump client terminal.
Magic numbers are composed by the INTERLINK_MAGIC() macro. It is a negative magic to be able to distinguish the oldest format from the newer ones.
| #define INTERLINK_NORMAL_MAGIC INTERLINK_MAGIC(1, 0) |
| #define INTERLINK_REMOTE_MAGIC INTERLINK_MAGIC(1, 1) |
| #define set_init_term_event | ( | ev, | |
| w, | |||
| h, | |||
| cw, | |||
| ch ) |
| #define set_redraw_term_event | ( | ev, | |
| w, | |||
| h, | |||
| cw, | |||
| ch ) |
| #define set_resize_interlink_event | ( | ev, | |
| w, | |||
| h, | |||
| cw, | |||
| ch ) |
| #define set_resize_term_event | ( | ev, | |
| w, | |||
| h, | |||
| cw, | |||
| ch ) |
| #define TERMINAL_INFO_SIZE offsetof(struct terminal_info, data) |
The terminal_info.data member has to have size of one for portability but it can be empty/zero so when reading and writing it we need to ignore the byte.
| enum term_event_type |
| void in_term | ( | struct terminal * | term | ) |
|
inlinestatic |
|
inlinestatic |
Initialize ev as an interlink keyboard event.
key can be either an 8-bit byte or a value from enum term_event_special_key. In the latter case, this function negates the value, unless it is KBD_UNDEF. For example, key == KBD_ENTER results in ev->info.keyboard.key = -KBD_ENTER. This mapping keeps the interlink protocol compatible with ELinks 0.11.
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
| void term_send_event | ( | struct terminal * | term, |
| struct term_event * | ev ) |