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