1#ifndef CURSKEY_H_INCLUDED
2#define CURSKEY_H_INCLUDED
3
4#include CURSESINC
5
6/* Additional KEY_ constants */
7#define KEY_SPACE ' '
8#define KEY_TAB '\t'
9#define KEY_DEL 127
10#define KEY_ESCAPE 27
11#define KEY_INSERT KEY_IC
12#define KEY_DELETE KEY_DC
13#define KEY_PAGEUP KEY_PPAGE
14#define KEY_PAGEDOWN KEY_NPAGE
15
16/* Modifiers */
17#define CURSKEY_MOD_CNTRL	1U
18#define CURSKEY_MOD_META	2U
19#define CURSKEY_MOD_ALT		CURSKEY_MOD_META
20
21/* Defines the range of characters which should be "meta-able" */
22#define CURSKEY_MAX_META_CHAR 127
23
24int curskey_init();
25void curskey_destroy();
26int curskey_define_meta_keys(unsigned int keycode_start);
27
28int curskey_parse(const char *keydef);
29int curskey_mod_key(int key, unsigned int modifiers);
30
31#define curskey_meta_key(KEY) \
32	curskey_mod_key(KEY, CURSKEY_MOD_META)
33
34#define curskey_cntrl_key(KEY) \
35	curskey_mod_key(KEY, CURSKEY_MOD_CNTRL)
36
37#endif
38