version 1.1106, 2021/06/10 07:36:47 |
version 1.1107, 2021/06/10 07:38:28 |
|
|
#define VISUAL_ON 1 |
#define VISUAL_ON 1 |
#define VISUAL_BOTH 2 |
#define VISUAL_BOTH 2 |
|
|
/* Special key codes. */ |
/* No key or unknown key. */ |
#define KEYC_NONE 0x00ff000000000ULL |
#define KEYC_NONE 0x000ff000000000ULL |
#define KEYC_UNKNOWN 0x00fe000000000ULL |
#define KEYC_UNKNOWN 0x000fe000000000ULL |
#define KEYC_BASE 0x0001000000000ULL |
|
#define KEYC_USER 0x0002000000000ULL |
|
|
|
|
/* |
|
* Base for special (that is, not Unicode) keys. An enum must be at most a |
|
* signed int, so these are based in the highest Unicode PUA. |
|
*/ |
|
#define KEYC_BASE 0x0000000010e000ULL |
|
#define KEYC_USER 0x0000000010f000ULL |
|
|
/* Key modifier bits. */ |
/* Key modifier bits. */ |
#define KEYC_META 0x00100000000000ULL |
#define KEYC_META 0x00100000000000ULL |
#define KEYC_CTRL 0x00200000000000ULL |
#define KEYC_CTRL 0x00200000000000ULL |
|
|
#define KEYC_NUSER 1000 |
#define KEYC_NUSER 1000 |
|
|
/* Is this a mouse key? */ |
/* Is this a mouse key? */ |
#define KEYC_IS_MOUSE(key) (((key) & KEYC_MASK_KEY) >= KEYC_MOUSE && \ |
#define KEYC_IS_MOUSE(key) \ |
((key) & KEYC_MASK_KEY) < KEYC_BSPACE) |
(((key) & KEYC_MASK_KEY) >= KEYC_MOUSE && \ |
|
((key) & KEYC_MASK_KEY) < KEYC_BSPACE) |
|
|
|
/* Is this a Unicode key? */ |
|
#define KEYC_IS_UNICODE(key) \ |
|
(((key) & KEYC_MASK_KEY) > 0x7f && \ |
|
(((key) & KEYC_MASK_KEY) < KEYC_BASE || \ |
|
((key) & KEYC_MASK_KEY) >= KEYC_BASE_END)) |
|
|
/* Multiple click timeout. */ |
/* Multiple click timeout. */ |
#define KEYC_CLICK_TIMEOUT 300 |
#define KEYC_CLICK_TIMEOUT 300 |
|
|
|
|
{ #s "Border", KEYC_ ## name ## _BORDER } |
{ #s "Border", KEYC_ ## name ## _BORDER } |
|
|
/* |
/* |
* A single key. This can be ASCII or Unicode or one of the keys starting at |
* A single key. This can be ASCII or Unicode or one of the keys between |
* KEYC_BASE. |
* KEYC_BASE and KEYC_BASE_END. |
*/ |
*/ |
typedef unsigned long long key_code; |
typedef unsigned long long key_code; |
|
|
|
|
KEYC_KP_ENTER, |
KEYC_KP_ENTER, |
KEYC_KP_ZERO, |
KEYC_KP_ZERO, |
KEYC_KP_PERIOD, |
KEYC_KP_PERIOD, |
|
|
|
/* End of special keys. */ |
|
KEYC_BASE_END |
}; |
}; |
|
|
/* Termcap codes. */ |
/* Termcap codes. */ |