--- hatari/src/includes/shortcut.h 2019/04/01 07:09:16 1.1.1.1 +++ hatari/src/includes/shortcut.h 2019/04/01 07:14:50 1.1.1.5 @@ -1,45 +1,15 @@ /* - Hatari -*/ - -typedef void (*ShortCutFunction_t)(void); - -enum { - SHORTCUT_NOTASSIGNED, - SHORTCUT_FULLSCREEN, - SHORTCUT_MOUSEMODE, - SHORTCUT_RECORDSOUND, - SHORTCUT_RECORDANIM, - SHORTCUT_CURSOREMU, - SHORTCUT_SOUND, - SHORTCUT_MAXSPEED, - SHORTCUT_COLDRESET, - SHORTCUT_WARMRESET, - SHORTCUT_BOSSKEY, + Hatari - shortcut.h - NUM_SHORTCUTS -}; - -typedef struct { - unsigned char Key; // KEY_F11, or KEY_F12 - BOOL bShiftPressed; - BOOL bCtrlPressed; -} SHORTCUT_KEY; - -extern char *pszShortCutTextStrings[NUM_SHORTCUTS+1]; -extern char *pszShortCutF11TextString[]; -extern char *pszShortCutF12TextString[]; -extern SHORTCUT_KEY ShortCutKey; + This file is distributed under the GNU Public License, version 2 or at + your option any later version. Read the file gpl.txt for details. +*/ -extern void ShortCut_ClearKeys(void); -extern void ShortCut_CheckKeys(void); -extern void ShortCut_FullScreen(void); -extern void ShortCut_MouseMode(void); -extern void ShortCut_RecordSound(void); -extern void ShortCut_RecordAnimation(void); -extern void ShortCut_JoystickCursorEmulation(void); -extern void ShortCut_SoundOnOff(void); -extern void ShortCut_MaximumSpeed(void); -extern void ShortCut_ColdReset(void); -extern void ShortCut_WarmReset(void); -extern void ShortCut_BossKey(void); +/* If pressed short-cut key modifier or standalone short-cut key, + * retain keypress until safe to execute (start of VBL). Returns zero + * if key wasn't a shortcut */ +extern int ShortCut_CheckKeys(int modkey, int symkey, bool press); +/* Invoke shortcut identified by name */ +extern bool Shortcut_Invoke(const char *shortcut); +/* Act on the stored keypress (in VBL) */ +extern void ShortCut_ActKey(void);