⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 event.h

📁 一个很有名的浏览器
💻 H
字号:
/* $Id: event.h,v 1.19 2004/07/28 15:43:51 jonas Exp $ */#ifndef EL__TERMINAL_EVENT_H#define EL__TERMINAL_EVENT_Hstruct terminal;/* Some constants for the strings inside of {struct terminal}. */#define MAX_TERM_LEN	32	/* this must be multiple of 8! (alignment problems) */#define MAX_CWD_LEN	256	/* this must be multiple of 8! (alignment problems) */enum term_event_type {	EVENT_INIT,	EVENT_KBD,	EVENT_MOUSE,	EVENT_REDRAW,	EVENT_RESIZE,	EVENT_ABORT,};/* XXX: do not change order of fields. --Zas */struct term_event {	enum term_event_type ev;	union {		/* EVENT_MOUSE */		struct term_event_mouse {			int x, y;			unsigned int button;		} mouse;		/* EVENT_KBD */		struct term_event_keyboard {			int key, modifier;		} keyboard;		/* EVENT_INIT, EVENT_RESIZE, EVENT_REDRAW */		struct term_event_size {			int width, height;		} size;	} info;};#define INIT_TERM_EVENT(type, x, y, b) { (type), { { (x), (y), (b) } } }/* This holds the information used when handling the initial connection between * a dumb and master terminal. *//* XXX: We might be connecting to an older ELinks or an older ELinks is * connecting to a newer ELinks master so for the sake of compatibility it * would be unwise to just change the layout of the struct. If you do have to * add new members add them at the bottom and use magic variables to * distinguish them when decoding the terminal info. */struct terminal_info {	struct term_event event;		/* The EVENT_INIT event */	unsigned char name[MAX_TERM_LEN];	/* $TERM environment name */	unsigned char cwd[MAX_CWD_LEN];		/* Current working directory */	int system_env;				/* System info (X, screen) */	int length;				/* Length of @data member */	int session_info;			/* Value depends on @magic */	int magic;				/* Identity of the connector */	/* In the master that is connected to all bytes after @data will be	 * interpreted as URI string information. */	unsigned char data[1];};/* The @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 TERMINAL_INFO_SIZE offsetof(struct terminal_info, data)/* 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_MAGIC(major, minor) -(((major) << 8) + (minor))#define INTERLINK_NORMAL_MAGIC INTERLINK_MAGIC(1, 0)#define INTERLINK_REMOTE_MAGIC INTERLINK_MAGIC(1, 1)void term_send_event(struct terminal *, struct term_event *);void in_term(struct terminal *);#define get_kbd_key(event)		((event)->info.keyboard.key)#define check_kbd_key(event, key)	(get_kbd_key(event) == (key))#define get_kbd_modifier(event)		((event)->info.keyboard.modifier)#define check_kbd_modifier(event, mod)	(get_kbd_modifier(event) == (mod))#define check_kbd_textinput_key(event)	(get_kbd_key(event) >= ' ' && get_kbd_key(event) < 256 && !get_kbd_modifier(event))#define check_kbd_label_key(event)	(get_kbd_key(event) > ' ' && get_kbd_key(event) < 256)#endif /* EL__TERMINAL_EVENT_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -