1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-11-04 08:17:17 -05:00

terminal: Introduce term_event_key_T.

This commit is contained in:
Kalle Olavi Niemitalo 2006-08-12 14:48:08 +03:00 committed by Kalle Olavi Niemitalo
parent e101f5f537
commit f3b04b8645
5 changed files with 18 additions and 12 deletions

View File

@ -948,7 +948,7 @@ menu_kbd_handler(struct menu *menu, struct term_event *ev)
default: default:
{ {
int key = get_kbd_key(ev); term_event_key_T key = get_kbd_key(ev);
if (is_kbd_fkey(key) if (is_kbd_fkey(key)
|| check_kbd_modifier(ev, KBD_MOD_ALT)) { || check_kbd_modifier(ev, KBD_MOD_ALT)) {

View File

@ -354,7 +354,7 @@ static struct key key_table[] = {
{ NULL, 0 } { NULL, 0 }
}; };
long term_event_key_T
read_key(unsigned char *key_str) read_key(unsigned char *key_str)
{ {
struct key *key; struct key *key;
@ -366,7 +366,7 @@ read_key(unsigned char *key_str)
if (!strcasecmp(key->str, key_str)) if (!strcasecmp(key->str, key_str))
return key->num; return key->num;
return -1; return KBD_UNDEF;
} }
int int

View File

@ -173,7 +173,7 @@ action_requires_form(enum keymap_id keymap_id, action_id_T action_id)
return action && (action->flags & ACTION_REQUIRE_FORM); return action && (action->flags & ACTION_REQUIRE_FORM);
} }
long read_key(unsigned char *); term_event_key_T read_key(unsigned char *);
unsigned char *get_keymap_name(enum keymap_id); unsigned char *get_keymap_name(enum keymap_id);
int parse_keystroke(unsigned char *, struct term_event_keyboard *); int parse_keystroke(unsigned char *, struct term_event_keyboard *);

View File

@ -3,13 +3,15 @@
struct itrm; struct itrm;
/* Values <= -0x100 are special; e.g. KBD_ENTER.
* Values between -0xFF and -2 are not used yet; treat as special.
* Value == -1 is KBD_UNDEF; not sent via socket.
* Values >= 0 are characters received from the terminal;
* in UCS-4 #ifdef CONFIG_UTF_8. */
typedef int term_event_key_T;
struct term_event_keyboard { struct term_event_keyboard {
/* Values <= -0x100 are special; e.g. KBD_ENTER. term_event_key_T key;
* Values between -0xFF and -2 are not used yet; treat as special.
* Value == -1 is KBD_UNDEF; not sent via socket.
* Values >= 0 are characters received from the terminal;
* in UCS-4 #ifdef CONFIG_UTF_8. */
int key;
int modifier; int modifier;
}; };
@ -22,6 +24,8 @@ struct interlink_event_keyboard {
int modifier; int modifier;
}; };
/* Values for term_event_key_T */
#define KBD_UNDEF -1 #define KBD_UNDEF -1
#define KBD_ENTER (-0x100) #define KBD_ENTER (-0x100)
@ -51,12 +55,14 @@ struct interlink_event_keyboard {
#define KBD_F10 (-0x129) #define KBD_F10 (-0x129)
#define KBD_F11 (-0x12a) #define KBD_F11 (-0x12a)
#define KBD_F12 (-0x12b) #define KBD_F12 (-0x12b)
static inline int is_kbd_fkey(int key) { return key <= KBD_F1 && key >= KBD_F12; } static inline int is_kbd_fkey(term_event_key_T key) { return key <= KBD_F1 && key >= KBD_F12; }
#define number_to_kbd_fkey(num) (KBD_F1 - (num) + 1) #define number_to_kbd_fkey(num) (KBD_F1 - (num) + 1)
#define kbd_fkey_to_number(key) (KBD_F1 - (key) + 1) #define kbd_fkey_to_number(key) (KBD_F1 - (key) + 1)
#define KBD_CTRL_C (-0x200) #define KBD_CTRL_C (-0x200)
/* Values for term_event_keyboard.modifier and
* interlink_event_keyboard.modifier */
#define KBD_MOD_NONE 0 #define KBD_MOD_NONE 0
#define KBD_MOD_SHIFT 1 #define KBD_MOD_SHIFT 1
#define KBD_MOD_CTRL 2 #define KBD_MOD_CTRL 2

View File

@ -1178,7 +1178,7 @@ enum frame_event_status
try_document_key(struct session *ses, struct document_view *doc_view, try_document_key(struct session *ses, struct document_view *doc_view,
struct term_event *ev) struct term_event *ev)
{ {
long key; term_event_key_T key;
int passed = -1; int passed = -1;
int i; /* GOD I HATE C! --FF */ /* YEAH, BRAINFUCK RULEZ! --pasky */ int i; /* GOD I HATE C! --FF */ /* YEAH, BRAINFUCK RULEZ! --pasky */