Browse Source

Work around RG350 joystick mode kernel bug

pull/481/head
Gleb Mazovetskiy 6 years ago committed by Anders Jenbo
parent
commit
24f7b080a5
  1. 7
      SourceX/miniwin/misc_msg.cpp

7
SourceX/miniwin/misc_msg.cpp

@ -366,6 +366,11 @@ WINBOOL PeekMessageA(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilter
}
#endif
if ((e.type == SDL_KEYUP || e.type == SDL_KEYDOWN) && e.key.keysym.sym == SDLK_UNKNOWN) {
// Erroneous events generated by RG350 kernel.
return true;
}
if (ProcessControllerMotion(e)) {
ScaleJoysticks();
return true;
@ -470,7 +475,7 @@ WINBOOL PeekMessageA(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilter
case SDL_KEYUP: {
int key = translate_sdl_key(e.key.keysym);
if (key == -1)
return false_avail("SDL_KEYUP", key);
return false_avail(e.type == SDL_KEYDOWN ? "SDL_KEYDOWN" : "SDL_KEYUP", e.key.keysym.sym);
lpMsg->message = e.type == SDL_KEYDOWN ? DVL_WM_KEYDOWN : DVL_WM_KEYUP;
lpMsg->wParam = (DWORD)key;
// HACK: Encode modifier in lParam for TranslateMessage later

Loading…
Cancel
Save