summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorGlenn Rice <glennricster@gmail.com>2010-04-19 19:20:33 +0000
committerGlenn Rice <glennricster@gmail.com>2010-04-19 19:20:33 +0000
commitbadf7c2771fc149f8542c875d184bf8bb733ca39 (patch)
treee699d0c4f8efbe3740ca77eafdd93124bc3ccc9b /Source/Core
parentd86167961c5751f40ccf11b710de92738060af98 (diff)
Fix GUI hotkeys like Alt+F5 etc.
Fixes issue 2608 git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5391 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/DolphinWX/Src/Frame.cpp43
1 files changed, 23 insertions, 20 deletions
diff --git a/Source/Core/DolphinWX/Src/Frame.cpp b/Source/Core/DolphinWX/Src/Frame.cpp
index 2d027b15b7..a4ac7f2bc9 100644
--- a/Source/Core/DolphinWX/Src/Frame.cpp
+++ b/Source/Core/DolphinWX/Src/Frame.cpp
@@ -861,43 +861,46 @@ void CFrame::OnKeyDown(wxKeyEvent& event)
// Stop
else if (IsHotkey(event, HK_STOP))
DoStop();
-
- // Send the OSD hotkeys to the video plugin
- if (event.GetKeyCode() >= '3' && event.GetKeyCode() <= '7' && event.GetModifiers() == wxMOD_NONE)
- {
-#ifdef _WIN32
- PostMessage((HWND)Core::GetWindowHandle(), WM_USER, WM_USER_KEYDOWN, event.GetKeyCode());
-#elif defined(HAVE_X11) && HAVE_X11
- X11_SendKeyEvent(event.GetKeyCode());
-#endif
- }
-#ifdef _WIN32
- // Send the freelook hotkeys to the video plugin
- if ((event.GetKeyCode() == '0', '9', 'W', 'S', 'A', 'D', 'R')
- && event.GetModifiers() == wxMOD_SHIFT)
- PostMessage((HWND)Core::GetWindowHandle(), WM_USER, WM_USER_KEYDOWN, event.GetKeyCode());
-#endif
// state save and state load hotkeys
- if (event.GetKeyCode() >= WXK_F1 && event.GetKeyCode() <= WXK_F8)
+ else if (event.GetKeyCode() >= WXK_F1 && event.GetKeyCode() <= WXK_F8)
{
int slot_number = event.GetKeyCode() - WXK_F1 + 1;
if (event.GetModifiers() == wxMOD_NONE)
State_Load(slot_number);
else if (event.GetModifiers() == wxMOD_SHIFT)
State_Save(slot_number);
+ else event.Skip();
}
- if (event.GetKeyCode() == WXK_F11 && event.GetModifiers() == wxMOD_NONE)
+ else if (event.GetKeyCode() == WXK_F11 && event.GetModifiers() == wxMOD_NONE)
State_LoadLastSaved();
- if (event.GetKeyCode() == WXK_F12)
+ else if (event.GetKeyCode() == WXK_F12)
{
if (event.GetModifiers() == wxMOD_NONE)
State_UndoSaveState();
else if (event.GetModifiers() == wxMOD_SHIFT)
State_UndoLoadState();
+ else event.Skip();
}
// screenshot hotkeys
- if (event.GetKeyCode() == WXK_F9 && event.GetModifiers() == wxMOD_NONE)
+ else if (event.GetKeyCode() == WXK_F9 && event.GetModifiers() == wxMOD_NONE)
Core::ScreenShot();
+ else event.Skip();
+
+ // Send the OSD hotkeys to the video plugin
+ if (event.GetKeyCode() >= '3' && event.GetKeyCode() <= '7' && event.GetModifiers() == wxMOD_NONE)
+ {
+#ifdef _WIN32
+ PostMessage((HWND)Core::GetWindowHandle(), WM_USER, WM_USER_KEYDOWN, event.GetKeyCode());
+#elif defined(HAVE_X11) && HAVE_X11
+ X11_SendKeyEvent(event.GetKeyCode());
+#endif
+ }
+#ifdef _WIN32
+ // Send the freelook hotkeys to the video plugin
+ if ((event.GetKeyCode() == '0', '9', 'W', 'S', 'A', 'D', 'R')
+ && event.GetModifiers() == wxMOD_SHIFT)
+ PostMessage((HWND)Core::GetWindowHandle(), WM_USER, WM_USER_KEYDOWN, event.GetKeyCode());
+#endif
// Send the keyboard status to the Input plugin
CPluginManager::GetInstance().GetPad(0)->PAD_Input(event.GetKeyCode(), 1); // 1 = Down