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++)
|
for (int i = 0; i < HK_MAX; i++)
|
||||||
{
|
{
|
||||||
char keyName[128];
|
char keyName[128];
|
||||||
std::string optionName = prefix + getHotkeyString(i);
|
std::string optionName = prefix + Hotkeys[i].getConfigName();
|
||||||
|
|
||||||
//g_config->getOption (optionName.c_str (), &keycode);
|
//g_config->getOption (optionName.c_str (), &keycode);
|
||||||
Hotkeys[i].getString(keyName);
|
Hotkeys[i].getString(keyName);
|
||||||
|
|
|
@ -52,47 +52,47 @@
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const char* HotkeyStrings[HK_MAX] = {
|
//static const char* HotkeyStrings[HK_MAX] = {
|
||||||
"OpenROM",
|
// "OpenROM",
|
||||||
"CloseROM",
|
// "CloseROM",
|
||||||
"CheatMenu",
|
// "CheatMenu",
|
||||||
"BindState",
|
// "BindState",
|
||||||
"LoadLua",
|
// "LoadLua",
|
||||||
"ToggleBG",
|
// "ToggleBG",
|
||||||
"SaveState",
|
// "SaveState",
|
||||||
"FDSSelect",
|
// "FDSSelect",
|
||||||
"LoadState",
|
// "LoadState",
|
||||||
"FDSEject",
|
// "FDSEject",
|
||||||
"VSInsertCoin",
|
// "VSInsertCoin",
|
||||||
"VSToggleDip",
|
// "VSToggleDip",
|
||||||
"MovieToggleFrameDisplay",
|
// "MovieToggleFrameDisplay",
|
||||||
"SubtitleDisplay",
|
// "SubtitleDisplay",
|
||||||
"Reset",
|
// "Reset",
|
||||||
"Screenshot",
|
// "Screenshot",
|
||||||
"Pause",
|
// "Pause",
|
||||||
"DecreaseSpeed",
|
// "DecreaseSpeed",
|
||||||
"IncreaseSpeed",
|
// "IncreaseSpeed",
|
||||||
"FrameAdvance",
|
// "FrameAdvance",
|
||||||
"Turbo",
|
// "Turbo",
|
||||||
"ToggleInputDisplay",
|
// "ToggleInputDisplay",
|
||||||
"ToggleMovieRW",
|
// "ToggleMovieRW",
|
||||||
"MuteCapture",
|
// "MuteCapture",
|
||||||
"Quit",
|
// "Quit",
|
||||||
"FrameAdvanceLagSkip",
|
// "FrameAdvanceLagSkip",
|
||||||
"LagCounterDisplay",
|
// "LagCounterDisplay",
|
||||||
"SelectState0", "SelectState1", "SelectState2", "SelectState3",
|
// "SelectState0", "SelectState1", "SelectState2", "SelectState3",
|
||||||
"SelectState4", "SelectState5", "SelectState6", "SelectState7",
|
// "SelectState4", "SelectState5", "SelectState6", "SelectState7",
|
||||||
"SelectState8", "SelectState9", "SelectStateNext", "SelectStatePrev",
|
// "SelectState8", "SelectState9", "SelectStateNext", "SelectStatePrev",
|
||||||
"VolumeDown", "VolumeUp", "FKB_Enable" };
|
// "VolumeDown", "VolumeUp", "FKB_Enable" };
|
||||||
|
|
||||||
const char *getHotkeyString( int i )
|
//const char *getHotkeyString( int i )
|
||||||
{
|
//{
|
||||||
if ( (i>=0) && (i<HK_MAX) )
|
// if ( (i>=0) && (i<HK_MAX) )
|
||||||
{
|
// {
|
||||||
return HotkeyStrings[i];
|
// return HotkeyStrings[i];
|
||||||
}
|
// }
|
||||||
return NULL;
|
// return NULL;
|
||||||
}
|
//}
|
||||||
|
|
||||||
int getHotKeyConfig( int i, const char **nameOut, const char **keySeqOut )
|
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";
|
name = "CloseROM"; keySeq = "Ctrl+C";
|
||||||
break;
|
break;
|
||||||
case HK_CHEAT_MENU:
|
case HK_CHEAT_MENU:
|
||||||
name = "CheatMenu"; keySeq = "F1";
|
name = "CheatMenu"; keySeq = "";
|
||||||
break;
|
break;
|
||||||
case HK_BIND_STATE:
|
case HK_BIND_STATE:
|
||||||
name = "BindState"; keySeq = "F2";
|
name = "BindState"; keySeq = "";
|
||||||
break;
|
break;
|
||||||
case HK_LOAD_LUA:
|
case HK_LOAD_LUA:
|
||||||
name = "LoadLua"; keySeq = "F3";
|
name = "LoadLua"; keySeq = "Ctrl+L";
|
||||||
break;
|
break;
|
||||||
case HK_TOGGLE_BG:
|
case HK_TOGGLE_BG:
|
||||||
name = "ToggleBG"; keySeq = "F4";
|
name = "ToggleBG"; keySeq = "";
|
||||||
break;
|
break;
|
||||||
|
// Save States
|
||||||
case HK_SAVE_STATE:
|
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;
|
break;
|
||||||
case HK_FDS_SELECT:
|
case HK_FDS_SELECT:
|
||||||
name = "FDSSelect"; keySeq = "F6";
|
name = "FDSSelect"; keySeq = "";
|
||||||
break;
|
|
||||||
case HK_LOAD_STATE:
|
|
||||||
name = "LoadState"; keySeq = "F7";
|
|
||||||
break;
|
break;
|
||||||
case HK_FDS_EJECT:
|
case HK_FDS_EJECT:
|
||||||
name = "FDSEject"; keySeq = "F7";
|
name = "FDSEject"; keySeq = "";
|
||||||
break;
|
break;
|
||||||
case HK_VS_INSERT_COIN:
|
case HK_VS_INSERT_COIN:
|
||||||
name = "VSInsertCoin"; keySeq = "F6";
|
name = "VSInsertCoin"; keySeq = "";
|
||||||
break;
|
break;
|
||||||
case HK_VS_TOGGLE_DIPSWITCH:
|
case HK_VS_TOGGLE_DIPSWITCH:
|
||||||
name = "VSToggleDip"; keySeq = "F8";
|
name = "VSToggleDip"; keySeq = "";
|
||||||
break;
|
break;
|
||||||
case HK_TOGGLE_FRAME_DISPLAY:
|
case HK_TOGGLE_FRAME_DISPLAY:
|
||||||
name = "MovieToggleFrameDisplay"; keySeq = ".";
|
name = "MovieToggleFrameDisplay"; keySeq = ".";
|
||||||
break;
|
break;
|
||||||
case HK_TOGGLE_SUBTITLE:
|
case HK_TOGGLE_SUBTITLE:
|
||||||
name = "SubtitleDisplay"; keySeq = "F10";
|
name = "SubtitleDisplay"; keySeq = "";
|
||||||
|
break;
|
||||||
|
case HK_POWER:
|
||||||
|
name = "Power"; keySeq = "";
|
||||||
break;
|
break;
|
||||||
case HK_RESET:
|
case HK_RESET:
|
||||||
name = "Reset"; keySeq = "F11";
|
name = "Reset"; keySeq = "Ctrl+R";
|
||||||
break;
|
|
||||||
case HK_SCREENSHOT:
|
|
||||||
name = "Screenshot"; keySeq = "F12";
|
|
||||||
break;
|
break;
|
||||||
case HK_PAUSE:
|
case HK_PAUSE:
|
||||||
name = "Pause"; keySeq = "Pause";
|
name = "Pause"; keySeq = "Pause";
|
||||||
break;
|
break;
|
||||||
|
case HK_SCREENSHOT:
|
||||||
|
name = "Screenshot"; keySeq = "F12";
|
||||||
|
break;
|
||||||
case HK_DECREASE_SPEED:
|
case HK_DECREASE_SPEED:
|
||||||
name = "DecreaseSpeed"; keySeq = "-";
|
name = "DecreaseSpeed"; keySeq = "-";
|
||||||
break;
|
break;
|
||||||
|
@ -213,10 +278,10 @@ int getHotKeyConfig( int i, const char **nameOut, const char **keySeqOut )
|
||||||
name = "SelectState9"; keySeq = "9";
|
name = "SelectState9"; keySeq = "9";
|
||||||
break;
|
break;
|
||||||
case HK_SELECT_STATE_NEXT:
|
case HK_SELECT_STATE_NEXT:
|
||||||
name = "SelectStateNext"; keySeq = "PageUp";
|
name = "SelectStateNext"; keySeq = "";
|
||||||
break;
|
break;
|
||||||
case HK_SELECT_STATE_PREV:
|
case HK_SELECT_STATE_PREV:
|
||||||
name = "SelectStatePrev"; keySeq = "PageDown";
|
name = "SelectStatePrev"; keySeq = "";
|
||||||
break;
|
break;
|
||||||
case HK_VOLUME_DOWN:
|
case HK_VOLUME_DOWN:
|
||||||
name = "VolumeDown"; keySeq = "";
|
name = "VolumeDown"; keySeq = "";
|
||||||
|
|
|
@ -9,21 +9,46 @@ int LoadCPalette(const std::string &file);
|
||||||
|
|
||||||
// hotkey definitions
|
// hotkey definitions
|
||||||
// TODO: encapsulate this in an improved data structure
|
// 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,
|
enum HOTKEY {
|
||||||
HK_SAVE_STATE, HK_FDS_SELECT, HK_LOAD_STATE, HK_FDS_EJECT ,
|
// 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_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_TOGGLE_INPUT_DISPLAY, HK_MOVIE_TOGGLE_RW, HK_MUTE_CAPTURE, HK_QUIT,
|
||||||
HK_FA_LAG_SKIP, HK_LAG_COUNTER_DISPLAY,
|
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_VOLUME_DOWN, HK_VOLUME_UP,
|
||||||
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_FKB_ENABLE,
|
HK_FKB_ENABLE,
|
||||||
HK_MAX};
|
HK_MAX};
|
||||||
|
|
||||||
const char *getHotkeyString( int i );
|
//const char *getHotkeyString( int i );
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -291,25 +291,29 @@ int hotkey_t::getString( char *s )
|
||||||
{
|
{
|
||||||
s[0] = 0;
|
s[0] = 0;
|
||||||
|
|
||||||
if ( sdl.modifier != 0 )
|
if ( shortcut )
|
||||||
{
|
{
|
||||||
if ( sdl.modifier & (KMOD_LSHIFT | KMOD_RSHIFT) )
|
strcpy( s, shortcut->key().toString().toStdString().c_str() );
|
||||||
{
|
|
||||||
strcat( s, "Shift+" );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( sdl.modifier & (KMOD_LALT | KMOD_RALT) )
|
|
||||||
{
|
|
||||||
strcat( s, "Alt+" );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( sdl.modifier & (KMOD_LCTRL | KMOD_RCTRL) )
|
|
||||||
{
|
|
||||||
strcat( s, "Ctrl+" );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
//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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue