2
* UAE - The Un*x Amiga Emulator
4
* Target-independent support for parsing hotkey sequences
6
* Copyright 2004 Richard Drummond
8
* Based on the hotkey handling previously found
9
* in x11win.c and sdlgfx.c
13
/* Maximum number of keys in a sequence */
14
#define HOTKEYSEQ_MAXKEYS 4
18
uae_u16 keyseq [HOTKEYSEQ_MAXKEYS]; /* the keycodes in this sequence */
19
uae_u16 key_pressed [HOTKEYSEQ_MAXKEYS]; /* a record of which have been pressed */
20
int complete; /* true when all keys in this sequence are pressed */
21
int event; /* the event this sequence generates */
24
#define MAKE_HOTKEYSEQ(key1,key2,key3,key4,event) \
25
{(key1), (key2), (key3), (key4)}, {0, 0, 0, 0}, 0, (event)
27
/* The last entry in a hotkey list must be marked */
28
#define HOTKEYS_END MAKE_HOTKEYSEQ (0,0,0,0,0)
30
extern void reset_hotkeys (void);
32
extern void set_default_hotkeys (struct uae_hotkeyseq *keys);
34
extern int match_hotkey_sequence (int key, int state);
36
static inline void handle_hotkey_event (int event, int state)
38
handle_input_event (event, state, 0, 0);