Browse Source

SDL1 fixes

pull/420/head
Gleb Mazovetskiy 7 years ago committed by Anders Jenbo
parent
commit
6f3cc2a440
  1. 2
      SourceX/controls/devices/kbcontroller.cpp
  2. 11
      SourceX/miniwin/misc_msg.cpp

2
SourceX/controls/devices/kbcontroller.cpp

@ -32,7 +32,7 @@ namespace {
bool IsModifierKey() bool IsModifierKey()
{ {
#ifdef KBCTRL_MODIFIER_KEY #ifdef KBCTRL_MODIFIER_KEY
return SDLC_GetKeyboardState(nullptr)[KBCTRL_MODIFIER_KEY]; return SDLC_GetKeyState(nullptr)[KBCTRL_MODIFIER_KEY];
#else #else
return false; return false;
#endif #endif

11
SourceX/miniwin/misc_msg.cpp

@ -207,6 +207,11 @@ void SetMouseLMBMessage(const SDL_Event &event, LPMSG lpMsg)
lpMsg->lParam = (MouseY << 16) | (MouseX & 0xFFFF); lpMsg->lParam = (MouseY << 16) | (MouseX & 0xFFFF);
break; break;
#endif #endif
case SDL_JOYBUTTONDOWN:
case SDL_JOYBUTTONUP:
lpMsg->message = event.type == SDL_JOYBUTTONUP ? DVL_WM_LBUTTONUP : DVL_WM_LBUTTONDOWN;
lpMsg->lParam = (MouseY << 16) | (MouseX & 0xFFFF);
break;
case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONDOWN:
case SDL_MOUSEBUTTONUP: case SDL_MOUSEBUTTONUP:
lpMsg->message = event.type == SDL_MOUSEBUTTONUP ? DVL_WM_LBUTTONUP : DVL_WM_LBUTTONDOWN; lpMsg->message = event.type == SDL_MOUSEBUTTONUP ? DVL_WM_LBUTTONUP : DVL_WM_LBUTTONDOWN;
@ -218,9 +223,7 @@ void SetMouseLMBMessage(const SDL_Event &event, LPMSG lpMsg)
lpMsg->lParam = (MouseY << 16) | (MouseX & 0xFFFF); lpMsg->lParam = (MouseY << 16) | (MouseX & 0xFFFF);
break; break;
default: default:
lpMsg->message = event.type == DVL_WM_LBUTTONUP; UNIMPLEMENTED();
lpMsg->lParam = (MouseY << 16) | (MouseX & 0xFFFF);
break;
} }
if (lpMsg->message == DVL_WM_LBUTTONUP || lpMsg->message == DVL_WM_LBUTTONDOWN) if (lpMsg->message == DVL_WM_LBUTTONUP || lpMsg->message == DVL_WM_LBUTTONDOWN)
lpMsg->wParam = keystate_for_mouse(lpMsg->message == DVL_WM_LBUTTONUP ? 0 : DVL_MK_LBUTTON); lpMsg->wParam = keystate_for_mouse(lpMsg->message == DVL_WM_LBUTTONUP ? 0 : DVL_MK_LBUTTON);
@ -562,7 +565,7 @@ SHORT GetAsyncKeyState(int vKey)
return SDL_GetMouseState(NULL, NULL) & SDL_BUTTON(SDL_BUTTON_LEFT); return SDL_GetMouseState(NULL, NULL) & SDL_BUTTON(SDL_BUTTON_LEFT);
if (vKey == DVL_MK_RBUTTON) if (vKey == DVL_MK_RBUTTON)
return SDL_GetMouseState(NULL, NULL) & SDL_BUTTON(SDL_BUTTON_RIGHT); return SDL_GetMouseState(NULL, NULL) & SDL_BUTTON(SDL_BUTTON_RIGHT);
const Uint8 *state = SDLC_GetKeyboardState(); const Uint8 *state = SDLC_GetKeyState();
switch (vKey) { switch (vKey) {
case DVL_VK_SHIFT: case DVL_VK_SHIFT:
return state[SDLC_KEYSTATE_LEFTSHIFT] || state[SDLC_KEYSTATE_RIGHTSHIFT] ? 0x8000 : 0; return state[SDLC_KEYSTATE_LEFTSHIFT] || state[SDLC_KEYSTATE_RIGHTSHIFT] ? 0x8000 : 0;

Loading…
Cancel
Save