This source file includes following definitions.
- is_abort_char
1
2
3
4
5 #ifndef MC__KEY_H
6 #define MC__KEY_H
7
8 #include "lib/global.h"
9 #include "tty.h"
10
11
12
13
14 #define EV_MOUSE -2
15 #define EV_NONE -1
16
17
18
19
20
21 #define KEY_M_SHIFT 0x1000
22 #define KEY_M_ALT 0x2000
23 #define KEY_M_CTRL 0x4000
24 #define KEY_M_MASK 0x7000
25
26 #define XCTRL(x) (KEY_M_CTRL | ((x) & 0x1F))
27 #define ALT(x) (KEY_M_ALT | (unsigned int) (x))
28
29
30 #define MCKEY_NOACTION 0
31 #define MCKEY_ESCAPE 1
32
33
34 #define MCKEY_MOUSE -2
35
36
37 #define MCKEY_EXTENDED_MOUSE -3
38
39
40 #define MCKEY_BRACKETED_PASTING_START -4
41 #define MCKEY_BRACKETED_PASTING_END -5
42
43
44
45
46
47 typedef struct
48 {
49 int code;
50 const char *name;
51 const char *longname;
52 const char *shortcut;
53 } key_code_name_t;
54
55 struct Gpm_Event;
56
57
58
59 extern const key_code_name_t key_name_conv_tab[];
60
61 extern int old_esc_mode_timeout;
62
63 extern int double_click_speed;
64 extern gboolean old_esc_mode;
65 extern int mou_auto_repeat;
66
67 extern gboolean bracketed_pasting_in_progress;
68
69
70
71 gboolean define_sequence (int code, const char *seq, int action);
72
73 void init_key (void);
74 void init_key_input_fd (void);
75 void done_key (void);
76
77 int tty_keyname_to_keycode (const char *name, char **label);
78 char *tty_keycode_to_keyname (const int keycode);
79
80 int tty_get_event (struct Gpm_Event *event, gboolean redo_event, gboolean block);
81 gboolean is_idle (void);
82 int tty_getch (void);
83
84
85 typedef int (*select_fn) (int fd, void *info);
86
87
88 void add_select_channel (int fd, select_fn callback, void *info);
89 void delete_select_channel (int fd);
90
91
92 void channels_up (void);
93 void channels_down (void);
94
95
96 void load_xtra_key_defines (void);
97
98
99 char *learn_key (void);
100
101
102 int get_key_code (int nodelay);
103
104
105 void numeric_keypad_mode (void);
106 void application_keypad_mode (void);
107
108
109 void enable_bracketed_paste (void);
110 void disable_bracketed_paste (void);
111
112
113
114 static inline gboolean
115 is_abort_char (int c)
116 {
117 return ((c == (int) ESC_CHAR) || (c == (int) KEY_F (10)));
118 }
119
120 #endif