Qt hot key rework intermediate commit.
This commit is contained in:
parent
3505e81710
commit
5a9010b8e2
|
@ -69,7 +69,7 @@ HotKeyConfDialog_t::HotKeyConfDialog_t(QWidget *parent)
|
|||
for (int i = 0; i < HK_MAX; i++)
|
||||
{
|
||||
char keyName[128];
|
||||
std::string optionName = prefix + getHotkeyString(i);
|
||||
std::string optionName = prefix + Hotkeys[i].getConfigName();
|
||||
|
||||
//g_config->getOption (optionName.c_str (), &keycode);
|
||||
Hotkeys[i].getString(keyName);
|
||||
|
|
|
@ -52,47 +52,47 @@
|
|||
#include <sys/types.h>
|
||||
#endif
|
||||
|
||||
static const char* HotkeyStrings[HK_MAX] = {
|
||||
"OpenROM",
|
||||
"CloseROM",
|
||||
"CheatMenu",
|
||||
"BindState",
|
||||
"LoadLua",
|
||||
"ToggleBG",
|
||||
"SaveState",
|
||||
"FDSSelect",
|
||||
"LoadState",
|
||||
"FDSEject",
|
||||
"VSInsertCoin",
|
||||
"VSToggleDip",
|
||||
"MovieToggleFrameDisplay",
|
||||
"SubtitleDisplay",
|
||||
"Reset",
|
||||
"Screenshot",
|
||||
"Pause",
|
||||
"DecreaseSpeed",
|
||||
"IncreaseSpeed",
|
||||
"FrameAdvance",
|
||||
"Turbo",
|
||||
"ToggleInputDisplay",
|
||||
"ToggleMovieRW",
|
||||
"MuteCapture",
|
||||
"Quit",
|
||||
"FrameAdvanceLagSkip",
|
||||
"LagCounterDisplay",
|
||||
"SelectState0", "SelectState1", "SelectState2", "SelectState3",
|
||||
"SelectState4", "SelectState5", "SelectState6", "SelectState7",
|
||||
"SelectState8", "SelectState9", "SelectStateNext", "SelectStatePrev",
|
||||
"VolumeDown", "VolumeUp", "FKB_Enable" };
|
||||
//static const char* HotkeyStrings[HK_MAX] = {
|
||||
// "OpenROM",
|
||||
// "CloseROM",
|
||||
// "CheatMenu",
|
||||
// "BindState",
|
||||
// "LoadLua",
|
||||
// "ToggleBG",
|
||||
// "SaveState",
|
||||
// "FDSSelect",
|
||||
// "LoadState",
|
||||
// "FDSEject",
|
||||
// "VSInsertCoin",
|
||||
// "VSToggleDip",
|
||||
// "MovieToggleFrameDisplay",
|
||||
// "SubtitleDisplay",
|
||||
// "Reset",
|
||||
// "Screenshot",
|
||||
// "Pause",
|
||||
// "DecreaseSpeed",
|
||||
// "IncreaseSpeed",
|
||||
// "FrameAdvance",
|
||||
// "Turbo",
|
||||
// "ToggleInputDisplay",
|
||||
// "ToggleMovieRW",
|
||||
// "MuteCapture",
|
||||
// "Quit",
|
||||
// "FrameAdvanceLagSkip",
|
||||
// "LagCounterDisplay",
|
||||
// "SelectState0", "SelectState1", "SelectState2", "SelectState3",
|
||||
// "SelectState4", "SelectState5", "SelectState6", "SelectState7",
|
||||
// "SelectState8", "SelectState9", "SelectStateNext", "SelectStatePrev",
|
||||
// "VolumeDown", "VolumeUp", "FKB_Enable" };
|
||||
|
||||
const char *getHotkeyString( int i )
|
||||
{
|
||||
if ( (i>=0) && (i<HK_MAX) )
|
||||
{
|
||||
return HotkeyStrings[i];
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
//const char *getHotkeyString( int i )
|
||||
//{
|
||||
// if ( (i>=0) && (i<HK_MAX) )
|
||||
// {
|
||||
// return HotkeyStrings[i];
|
||||
// }
|
||||
// return NULL;
|
||||
//}
|
||||
|
||||
int getHotKeyConfig( int i, const char **nameOut, const char **keySeqOut )
|
||||
{
|
||||
|
@ -108,50 +108,115 @@ int getHotKeyConfig( int i, const char **nameOut, const char **keySeqOut )
|
|||
name = "CloseROM"; keySeq = "Ctrl+C";
|
||||
break;
|
||||
case HK_CHEAT_MENU:
|
||||
name = "CheatMenu"; keySeq = "F1";
|
||||
name = "CheatMenu"; keySeq = "";
|
||||
break;
|
||||
case HK_BIND_STATE:
|
||||
name = "BindState"; keySeq = "F2";
|
||||
name = "BindState"; keySeq = "";
|
||||
break;
|
||||
case HK_LOAD_LUA:
|
||||
name = "LoadLua"; keySeq = "F3";
|
||||
name = "LoadLua"; keySeq = "Ctrl+L";
|
||||
break;
|
||||
case HK_TOGGLE_BG:
|
||||
name = "ToggleBG"; keySeq = "F4";
|
||||
name = "ToggleBG"; keySeq = "";
|
||||
break;
|
||||
// Save States
|
||||
case HK_SAVE_STATE:
|
||||
name = "SaveState"; keySeq = "F5";
|
||||
name = "SaveState"; keySeq = "I";
|
||||
break;
|
||||
case HK_SAVE_STATE_0:
|
||||
name = "SaveState0"; keySeq = "F10";
|
||||
break;
|
||||
case HK_SAVE_STATE_1:
|
||||
name = "SaveState1"; keySeq = "F1";
|
||||
break;
|
||||
case HK_SAVE_STATE_2:
|
||||
name = "SaveState2"; keySeq = "F2";
|
||||
break;
|
||||
case HK_SAVE_STATE_3:
|
||||
name = "SaveState3"; keySeq = "F3";
|
||||
break;
|
||||
case HK_SAVE_STATE_4:
|
||||
name = "SaveState4"; keySeq = "F4";
|
||||
break;
|
||||
case HK_SAVE_STATE_5:
|
||||
name = "SaveState5"; keySeq = "F5";
|
||||
break;
|
||||
case HK_SAVE_STATE_6:
|
||||
name = "SaveState6"; keySeq = "F6";
|
||||
break;
|
||||
case HK_SAVE_STATE_7:
|
||||
name = "SaveState7"; keySeq = "F7";
|
||||
break;
|
||||
case HK_SAVE_STATE_8:
|
||||
name = "SaveState8"; keySeq = "F8";
|
||||
break;
|
||||
case HK_SAVE_STATE_9:
|
||||
name = "SaveState9"; keySeq = "F9";
|
||||
break;
|
||||
// Load States
|
||||
case HK_LOAD_STATE:
|
||||
name = "LoadState"; keySeq = "Shift+I";
|
||||
break;
|
||||
case HK_LOAD_STATE_0:
|
||||
name = "LoadState0"; keySeq = "Shift+F10";
|
||||
break;
|
||||
case HK_LOAD_STATE_1:
|
||||
name = "LoadState1"; keySeq = "Shift+F1";
|
||||
break;
|
||||
case HK_LOAD_STATE_2:
|
||||
name = "LoadState2"; keySeq = "Shift+F2";
|
||||
break;
|
||||
case HK_LOAD_STATE_3:
|
||||
name = "LoadState3"; keySeq = "Shift+F3";
|
||||
break;
|
||||
case HK_LOAD_STATE_4:
|
||||
name = "LoadState4"; keySeq = "Shift+F4";
|
||||
break;
|
||||
case HK_LOAD_STATE_5:
|
||||
name = "LoadState5"; keySeq = "Shift+F5";
|
||||
break;
|
||||
case HK_LOAD_STATE_6:
|
||||
name = "LoadState6"; keySeq = "Shift+F6";
|
||||
break;
|
||||
case HK_LOAD_STATE_7:
|
||||
name = "LoadState7"; keySeq = "Shift+F7";
|
||||
break;
|
||||
case HK_LOAD_STATE_8:
|
||||
name = "LoadState8"; keySeq = "Shift+F8";
|
||||
break;
|
||||
case HK_LOAD_STATE_9:
|
||||
name = "LoadState9"; keySeq = "Shift+F9";
|
||||
break;
|
||||
case HK_FDS_SELECT:
|
||||
name = "FDSSelect"; keySeq = "F6";
|
||||
break;
|
||||
case HK_LOAD_STATE:
|
||||
name = "LoadState"; keySeq = "F7";
|
||||
name = "FDSSelect"; keySeq = "";
|
||||
break;
|
||||
case HK_FDS_EJECT:
|
||||
name = "FDSEject"; keySeq = "F7";
|
||||
name = "FDSEject"; keySeq = "";
|
||||
break;
|
||||
case HK_VS_INSERT_COIN:
|
||||
name = "VSInsertCoin"; keySeq = "F6";
|
||||
name = "VSInsertCoin"; keySeq = "";
|
||||
break;
|
||||
case HK_VS_TOGGLE_DIPSWITCH:
|
||||
name = "VSToggleDip"; keySeq = "F8";
|
||||
name = "VSToggleDip"; keySeq = "";
|
||||
break;
|
||||
case HK_TOGGLE_FRAME_DISPLAY:
|
||||
name = "MovieToggleFrameDisplay"; keySeq = ".";
|
||||
break;
|
||||
case HK_TOGGLE_SUBTITLE:
|
||||
name = "SubtitleDisplay"; keySeq = "F10";
|
||||
name = "SubtitleDisplay"; keySeq = "";
|
||||
break;
|
||||
case HK_POWER:
|
||||
name = "Power"; keySeq = "";
|
||||
break;
|
||||
case HK_RESET:
|
||||
name = "Reset"; keySeq = "F11";
|
||||
break;
|
||||
case HK_SCREENSHOT:
|
||||
name = "Screenshot"; keySeq = "F12";
|
||||
name = "Reset"; keySeq = "Ctrl+R";
|
||||
break;
|
||||
case HK_PAUSE:
|
||||
name = "Pause"; keySeq = "Pause";
|
||||
break;
|
||||
case HK_SCREENSHOT:
|
||||
name = "Screenshot"; keySeq = "F12";
|
||||
break;
|
||||
case HK_DECREASE_SPEED:
|
||||
name = "DecreaseSpeed"; keySeq = "-";
|
||||
break;
|
||||
|
@ -213,10 +278,10 @@ int getHotKeyConfig( int i, const char **nameOut, const char **keySeqOut )
|
|||
name = "SelectState9"; keySeq = "9";
|
||||
break;
|
||||
case HK_SELECT_STATE_NEXT:
|
||||
name = "SelectStateNext"; keySeq = "PageUp";
|
||||
name = "SelectStateNext"; keySeq = "";
|
||||
break;
|
||||
case HK_SELECT_STATE_PREV:
|
||||
name = "SelectStatePrev"; keySeq = "PageDown";
|
||||
name = "SelectStatePrev"; keySeq = "";
|
||||
break;
|
||||
case HK_VOLUME_DOWN:
|
||||
name = "VolumeDown"; keySeq = "";
|
||||
|
|
|
@ -9,21 +9,46 @@ int LoadCPalette(const std::string &file);
|
|||
|
||||
// hotkey definitions
|
||||
// TODO: encapsulate this in an improved data structure
|
||||
enum HOTKEY { HK_OPEN_ROM=0, HK_CLOSE_ROM, HK_CHEAT_MENU, HK_BIND_STATE, HK_LOAD_LUA, HK_TOGGLE_BG,
|
||||
HK_SAVE_STATE, HK_FDS_SELECT, HK_LOAD_STATE, HK_FDS_EJECT ,
|
||||
enum HOTKEY {
|
||||
// ROM Open and Close
|
||||
HK_OPEN_ROM=0, HK_CLOSE_ROM,
|
||||
|
||||
// Emulation power, reset, and pause
|
||||
HK_POWER, HK_RESET, HK_PAUSE,
|
||||
|
||||
// Emulation Execution Control
|
||||
HK_FRAME_ADVANCE, HK_DECREASE_SPEED, HK_INCREASE_SPEED, HK_TURBO,
|
||||
|
||||
// Save States
|
||||
HK_SAVE_STATE,
|
||||
HK_SAVE_STATE_0, HK_SAVE_STATE_1, HK_SAVE_STATE_2, HK_SAVE_STATE_3, HK_SAVE_STATE_4,
|
||||
HK_SAVE_STATE_5, HK_SAVE_STATE_6, HK_SAVE_STATE_7, HK_SAVE_STATE_8, HK_SAVE_STATE_9,
|
||||
|
||||
// Load States
|
||||
HK_LOAD_STATE,
|
||||
HK_LOAD_STATE_0, HK_LOAD_STATE_1, HK_LOAD_STATE_2, HK_LOAD_STATE_3, HK_LOAD_STATE_4,
|
||||
HK_LOAD_STATE_5, HK_LOAD_STATE_6, HK_LOAD_STATE_7, HK_LOAD_STATE_8, HK_LOAD_STATE_9,
|
||||
|
||||
// Select State Slot
|
||||
HK_SELECT_STATE_0, HK_SELECT_STATE_1, HK_SELECT_STATE_2, HK_SELECT_STATE_3, HK_SELECT_STATE_4,
|
||||
HK_SELECT_STATE_5, HK_SELECT_STATE_6, HK_SELECT_STATE_7, HK_SELECT_STATE_8, HK_SELECT_STATE_9,
|
||||
HK_SELECT_STATE_NEXT, HK_SELECT_STATE_PREV,
|
||||
|
||||
// FDS
|
||||
HK_FDS_SELECT, HK_FDS_EJECT ,
|
||||
|
||||
// VS
|
||||
HK_VS_INSERT_COIN, HK_VS_TOGGLE_DIPSWITCH,
|
||||
HK_TOGGLE_FRAME_DISPLAY, HK_TOGGLE_SUBTITLE, HK_RESET, HK_SCREENSHOT,
|
||||
HK_PAUSE, HK_DECREASE_SPEED, HK_INCREASE_SPEED, HK_FRAME_ADVANCE, HK_TURBO,
|
||||
|
||||
HK_CHEAT_MENU, HK_BIND_STATE, HK_LOAD_LUA, HK_TOGGLE_BG,
|
||||
HK_TOGGLE_FRAME_DISPLAY, HK_TOGGLE_SUBTITLE, HK_SCREENSHOT,
|
||||
HK_TOGGLE_INPUT_DISPLAY, HK_MOVIE_TOGGLE_RW, HK_MUTE_CAPTURE, HK_QUIT,
|
||||
HK_FA_LAG_SKIP, HK_LAG_COUNTER_DISPLAY,
|
||||
HK_SELECT_STATE_0, HK_SELECT_STATE_1, HK_SELECT_STATE_2, HK_SELECT_STATE_3,
|
||||
HK_SELECT_STATE_4, HK_SELECT_STATE_5, HK_SELECT_STATE_6, HK_SELECT_STATE_7,
|
||||
HK_SELECT_STATE_8, HK_SELECT_STATE_9,
|
||||
HK_SELECT_STATE_NEXT, HK_SELECT_STATE_PREV, HK_VOLUME_DOWN, HK_VOLUME_UP,
|
||||
HK_FA_LAG_SKIP, HK_LAG_COUNTER_DISPLAY,
|
||||
HK_VOLUME_DOWN, HK_VOLUME_UP,
|
||||
HK_FKB_ENABLE,
|
||||
HK_MAX};
|
||||
|
||||
const char *getHotkeyString( int i );
|
||||
//const char *getHotkeyString( int i );
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
@ -291,25 +291,29 @@ int hotkey_t::getString( char *s )
|
|||
{
|
||||
s[0] = 0;
|
||||
|
||||
if ( sdl.modifier != 0 )
|
||||
if ( shortcut )
|
||||
{
|
||||
if ( sdl.modifier & (KMOD_LSHIFT | KMOD_RSHIFT) )
|
||||
{
|
||||
strcat( s, "Shift+" );
|
||||
}
|
||||
|
||||
if ( sdl.modifier & (KMOD_LALT | KMOD_RALT) )
|
||||
{
|
||||
strcat( s, "Alt+" );
|
||||
}
|
||||
|
||||
if ( sdl.modifier & (KMOD_LCTRL | KMOD_RCTRL) )
|
||||
{
|
||||
strcat( s, "Ctrl+" );
|
||||
}
|
||||
strcpy( s, shortcut->key().toString().toStdString().c_str() );
|
||||
}
|
||||
//if ( sdl.modifier != 0 )
|
||||
//{
|
||||
// if ( sdl.modifier & (KMOD_LSHIFT | KMOD_RSHIFT) )
|
||||
// {
|
||||
// strcat( s, "Shift+" );
|
||||
// }
|
||||
|
||||
strcat( s, SDL_GetKeyName(sdl.value) );
|
||||
// if ( sdl.modifier & (KMOD_LALT | KMOD_RALT) )
|
||||
// {
|
||||
// strcat( s, "Alt+" );
|
||||
// }
|
||||
|
||||
// if ( sdl.modifier & (KMOD_LCTRL | KMOD_RCTRL) )
|
||||
// {
|
||||
// strcat( s, "Ctrl+" );
|
||||
// }
|
||||
//}
|
||||
|
||||
//strcat( s, SDL_GetKeyName(sdl.value) );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue