MCPcopy Create free account
hub / github.com/diasurgical/devilution / GetAsyncKeyState

Function GetAsyncKeyState

SourceX/miniwin/misc_msg.cpp:732–757  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

730}
731
732SHORT GetAsyncKeyState(int vKey)
733{
734 if (vKey == DVL_MK_LBUTTON)
735 return SDL_GetMouseState(NULL, NULL) & SDL_BUTTON(SDL_BUTTON_LEFT);
736 if (vKey == DVL_MK_RBUTTON)
737 return SDL_GetMouseState(NULL, NULL) & SDL_BUTTON(SDL_BUTTON_RIGHT);
738 const Uint8 *state = SDLC_GetKeyState();
739 switch (vKey) {
740 case DVL_VK_CONTROL:
741 return state[SDLC_KEYSTATE_LEFTCTRL] || state[SDLC_KEYSTATE_RIGHTCTRL] ? 0x8000 : 0;
742 case DVL_VK_SHIFT:
743 return state[SDLC_KEYSTATE_LEFTSHIFT] || state[SDLC_KEYSTATE_RIGHTSHIFT] ? 0x8000 : 0;
744 case DVL_VK_MENU:
745 return state[SDLC_KEYSTATE_LALT] || state[SDLC_KEYSTATE_RALT] ? 0x8000 : 0;
746 case DVL_VK_LEFT:
747 return state[SDLC_KEYSTATE_LEFT] ? 0x8000 : 0;
748 case DVL_VK_UP:
749 return state[SDLC_KEYSTATE_UP] ? 0x8000 : 0;
750 case DVL_VK_RIGHT:
751 return state[SDLC_KEYSTATE_RIGHT] ? 0x8000 : 0;
752 case DVL_VK_DOWN:
753 return state[SDLC_KEYSTATE_DOWN] ? 0x8000 : 0;
754 default:
755 return 0;
756 }
757}
758
759LRESULT DispatchMessageA(const MSG *lpMsg)
760{

Callers 4

PeekMessageAFunction · 0.85
PressKeyFunction · 0.85
game_logicFunction · 0.85
RenderTileFunction · 0.85

Calls 1

SDLC_GetKeyStateFunction · 0.85

Tested by

no test coverage detected