1 #ifndef LIBFSEMU_ACTIONS_H
2 #define LIBFSEMU_ACTIONS_H
3 
4 #define FS_EMU_ACTION_LOCAL 0x8000
5 #define FS_EMU_ACTION_LOCAL_LIBFSEMU 0xc000
6 
7 enum {
8     FS_EMU_ACTION_FIRST = FS_EMU_ACTION_LOCAL_LIBFSEMU,
9 
10     FS_EMU_ACTION_FULLSCREEN,
11     FS_EMU_ACTION_GRAB_INPUT,
12     FS_EMU_ACTION_MENU_ALT,
13     FS_EMU_ACTION_PAUSE,
14     FS_EMU_ACTION_QUIT,
15     FS_EMU_ACTION_SCREENSHOT,
16     FS_EMU_ACTION_SPECIAL,
17     FS_EMU_ACTION_SWITCH_WINDOW,
18     FS_EMU_ACTION_TAUNT,
19     FS_EMU_ACTION_VOLUME_DOWN,
20     FS_EMU_ACTION_VOLUME_MUTE,
21     FS_EMU_ACTION_VOLUME_UP,
22     FS_EMU_ACTION_WARP,
23     FS_EMU_ACTION_ZOOM,
24     FS_EMU_ACTION_ZOOM_BORDER,
25     FS_EMU_ACTION_FULL_KEYBOARD,
26     FSE_ACTION_CYCLE_STRETCH_MODE,
27 
28     FS_EMU_ACTION_LAST,
29 };
30 
31 void fs_emu_handle_libfsemu_action(int action, int state);
32 
33 typedef void (*fs_emu_action_function)(int state);
34 
35 #define FS_EMU_ACTION_FLAG_MENU 1
36 
37 typedef struct fs_emu_action {
38     int input_event;
39     const char *name;
40     int flags;
41     fs_emu_action_function *function;
42 } fs_emu_action;
43 
44 void fs_emu_set_actions(fs_emu_action *actions);
45 int fs_emu_input_action_from_string(const char *value);
46 
47 #endif /* LIBFSEMU_ACTIONS_H */
48 
49