Make the Escape key pause the emulator in linux when not in fullscreen.
I believe this is the same as in windows? git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5078 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
2c7b484869
commit
967c5891e9
|
@ -269,6 +269,8 @@ void ProcessXEvents(void)
|
|||
key = XLookupKeysym((XKeyEvent*)&event, 0);
|
||||
if(key == XK_F4 && ((event.xkey.state & Mod1Mask) == Mod1Mask))
|
||||
Host_Message(WM_USER_STOP);
|
||||
else if (key == XK_Escape)
|
||||
Host_Message(WM_USER_PAUSE);
|
||||
break;
|
||||
case ClientMessage:
|
||||
if ((ulong) event.xclient.data.l[0] == XInternAtom(dpy, "WM_DELETE_WINDOW", False))
|
||||
|
@ -820,9 +822,9 @@ void Callback_KeyPress(int key, bool shift, bool control)
|
|||
#if defined(HAVE_X11) && HAVE_X11
|
||||
// 0x1b == VK_ESCAPE
|
||||
if (key == 0x1b)
|
||||
{
|
||||
Host_Message(WM_USER_STOP);
|
||||
}
|
||||
if (key == 0x1c)
|
||||
Host_Message(WM_USER_PAUSE);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -655,6 +655,9 @@ void CFrame::OnHostMessage(wxCommandEvent& event)
|
|||
case WM_USER_STOP:
|
||||
main_frame->DoStop();
|
||||
break;
|
||||
case WM_USER_PAUSE:
|
||||
main_frame->OnPlay(event);
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -537,8 +537,9 @@ void Host_Message(int Id)
|
|||
switch(Id)
|
||||
{
|
||||
case WM_USER_STOP:
|
||||
case WM_USER_PAUSE:
|
||||
{
|
||||
wxCommandEvent event(wxEVT_HOST_COMMAND, WM_USER_STOP);
|
||||
wxCommandEvent event(wxEVT_HOST_COMMAND, Id);
|
||||
main_frame->GetEventHandler()->AddPendingEvent(event);
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -571,7 +571,7 @@ void OpenGL_Update()
|
|||
switch(event.type) {
|
||||
case KeyRelease:
|
||||
key = XLookupKeysym((XKeyEvent*)&event, 0);
|
||||
if(key >= XK_F1 && key <= XK_F9) {
|
||||
if((key >= XK_F1 && key <= XK_F9) || key == XK_Escape) {
|
||||
g_VideoInitialize.pKeyPress(FKeyPressed, ShiftPressed, ControlPressed);
|
||||
FKeyPressed = -1;
|
||||
} else {
|
||||
|
@ -592,6 +592,11 @@ void OpenGL_Update()
|
|||
}
|
||||
else if (key == XK_Return && ((event.xkey.state & Mod1Mask) == Mod1Mask))
|
||||
ToggleFullscreenMode();
|
||||
else if (key == XK_Escape)
|
||||
{
|
||||
if (!GLWin.fs)
|
||||
FKeyPressed = 0x1c;
|
||||
}
|
||||
else {
|
||||
if(key == XK_Shift_L || key == XK_Shift_R)
|
||||
ShiftPressed = true;
|
||||
|
@ -632,10 +637,6 @@ void OpenGL_Update()
|
|||
return;
|
||||
break;
|
||||
default:
|
||||
//TODO: Should we put the event back if we don't handle it?
|
||||
// I think we handle all the needed ones, the rest shouldn't matter
|
||||
// But to be safe, let's but them back anyway
|
||||
//XPutBackEvent(GLWin.dpy, &event);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue