diff options
| author | Glenn Rice <glennricster@gmail.com> | 2010-04-19 19:20:33 +0000 |
|---|---|---|
| committer | Glenn Rice <glennricster@gmail.com> | 2010-04-19 19:20:33 +0000 |
| commit | badf7c2771fc149f8542c875d184bf8bb733ca39 (patch) | |
| tree | e699d0c4f8efbe3740ca77eafdd93124bc3ccc9b /Source/Core | |
| parent | d86167961c5751f40ccf11b710de92738060af98 (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.cpp | 43 |
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 |
