X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FUtils%2FInput.cpp;h=5249e683df09990d8065d821c47cb92c16eb3170;hb=8b6e8f3ad7390309795eb35c0959264cb7924402;hp=30667c786e37e28ce4d32dc082892b113d899d19;hpb=ed3662c0852c4312a612b4fc35bd03aba8d13db7;p=lugaru.git diff --git a/Source/Utils/Input.cpp b/Source/Utils/Input.cpp index 30667c7..5249e68 100644 --- a/Source/Utils/Input.cpp +++ b/Source/Utils/Input.cpp @@ -27,7 +27,7 @@ void Input::Tick() { SDL_PumpEvents(); int numkeys; - const Uint8 *keyState = SDL_GetKeyboardState(&numkeys); + const Uint8* keyState = SDL_GetKeyboardState(&numkeys); for (int i = 0; i < numkeys; i++) { keyPressed[i] = !keyDown[i] && keyState[i]; keyDown[i] = keyState[i]; @@ -41,51 +41,40 @@ void Input::Tick() bool Input::isKeyDown(int k) { - if (k >= SDL_NUM_SCANCODES + 6) // really useful? check that. + if (k >= SDL_NUM_SCANCODES + 6) { return false; + } return keyDown[k]; } bool Input::isKeyPressed(int k) { - if (k >= SDL_NUM_SCANCODES + 6) + if (k >= SDL_NUM_SCANCODES + 6) { return false; + } return keyPressed[k]; } const char* Input::keyToChar(unsigned short i) { - if (i < SDL_NUM_SCANCODES) - return SDL_GetScancodeName(SDL_Scancode(i)); - else if (i == MOUSEBUTTON1) - return "mouse1"; - else if (i == MOUSEBUTTON2) - return "mouse2"; - else if (i == MOUSEBUTTON3) - return "mouse3"; - else + if (i < SDL_NUM_SCANCODES) { + return SDL_GetKeyName(SDL_GetKeyFromScancode(SDL_Scancode(i))); + } else if (i == MOUSEBUTTON_LEFT) { + return "mouse left button"; + } else if (i == MOUSEBUTTON_RIGHT) { + return "mouse right button"; + } else if (i == MOUSEBUTTON_MIDDLE) { + return "mouse middle button"; + } else if (i == MOUSEBUTTON_X1) { + return "mouse button 4"; + } else if (i == MOUSEBUTTON_X2) { + return "mouse button 5"; + } else { return "unknown"; -} - -unsigned short Input::CharToKey(const char* which) -{ - for (unsigned short i = 0; i < SDL_NUM_SCANCODES; i++) { - if (!strcasecmp(which, SDL_GetScancodeName(SDL_Scancode(i)))) - return i; - } - if (!strcasecmp(which, "mouse1")) { - return MOUSEBUTTON1; - } - if (!strcasecmp(which, "mouse2")) { - return MOUSEBUTTON2; - } - if (!strcasecmp(which, "mouse3")) { - return MOUSEBUTTON3; } - return SDL_NUM_SCANCODES; } bool Input::MouseClicked() { - return isKeyPressed(SDL_NUM_SCANCODES + SDL_BUTTON_LEFT); + return isKeyPressed(MOUSEBUTTON_LEFT); }