1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-10-05 04:24:03 -04:00
elinks/src/terminal/kbd.h
Kalle Olavi Niemitalo 6052fa12d8 terminal: Define separate structs for events passed via the interlink socket.
This way, struct term_event can be changed without any interprocess
compatibility problems.
2006-08-06 20:02:39 +00:00

79 lines
1.6 KiB
C

#ifndef EL__TERMINAL_KBD_H
#define EL__TERMINAL_KBD_H
struct itrm;
struct term_event_keyboard {
int key;
int modifier;
};
struct interlink_event_keyboard {
int key;
int modifier;
};
#define KBD_UNDEF -1
#define KBD_ENTER 0x100
#define KBD_BS 0x101
#define KBD_TAB 0x102
#define KBD_ESC 0x103
#define KBD_LEFT 0x104
#define KBD_RIGHT 0x105
#define KBD_UP 0x106
#define KBD_DOWN 0x107
#define KBD_INS 0x108
#define KBD_DEL 0x109
#define KBD_HOME 0x10a
#define KBD_END 0x10b
#define KBD_PAGE_UP 0x10c
#define KBD_PAGE_DOWN 0x10d
#define KBD_F1 0x120
#define KBD_F2 0x121
#define KBD_F3 0x122
#define KBD_F4 0x123
#define KBD_F5 0x124
#define KBD_F6 0x125
#define KBD_F7 0x126
#define KBD_F8 0x127
#define KBD_F9 0x128
#define KBD_F10 0x129
#define KBD_F11 0x12a
#define KBD_F12 0x12b
#define KBD_CTRL_C 0x200
#define KBD_MOD_NONE 0
#define KBD_MOD_SHIFT 1
#define KBD_MOD_CTRL 2
#define KBD_MOD_ALT 4
void
handle_trm(int std_in, int std_out, int sock_in, int sock_out, int ctl_in,
void *init_string, int init_len, int remote);
void itrm_queue_event(struct itrm *itrm, unsigned char *data, int len);
void block_itrm(int);
int unblock_itrm(int);
void free_all_itrms(void);
void resize_terminal(void);
void dispatch_special(unsigned char *);
void kbd_ctrl_c(void);
int is_blocked(void);
#define kbd_get_key(kbd_) ((kbd_)->key)
#define kbd_key_is(kbd_, key) (kbd_get_key(kbd_) == (key))
#define kbd_get_modifier(kbd_) ((kbd_)->modifier)
#define kbd_modifier_is(kbd_, mod) (kbd_get_modifier(kbd_) == (mod))
#define kbd_set(kbd_, key_, modifier_) do { \
(kbd_)->key = (key_); \
(kbd_)->modifier = (modifier_); \
} while (0)
#endif