mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-29 17:38:16 +03:00
Hello WWWWWWorld!
This commit is contained in:
83
desktop_version/src/KeyPoll.h
Normal file
83
desktop_version/src/KeyPoll.h
Normal file
@@ -0,0 +1,83 @@
|
||||
#ifndef KEYPOLL_H
|
||||
#define KEYPOLL_H
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <map> // FIXME: I should feel very bad for using C++ -flibit
|
||||
|
||||
#include "SDL.h"
|
||||
|
||||
enum Kybrd
|
||||
{
|
||||
KEYBOARD_UP = SDLK_UP,
|
||||
KEYBOARD_DOWN = SDLK_DOWN,
|
||||
KEYBOARD_LEFT = SDLK_LEFT,
|
||||
KEYBOARD_RIGHT = SDLK_RIGHT,
|
||||
KEYBOARD_ENTER = SDLK_RETURN,
|
||||
KEYBOARD_SPACE = SDLK_SPACE,
|
||||
|
||||
KEYBOARD_w = SDLK_w,
|
||||
KEYBOARD_s = SDLK_s,
|
||||
KEYBOARD_a = SDLK_a,
|
||||
KEYBOARD_d = SDLK_d,
|
||||
KEYBOARD_m = SDLK_m,
|
||||
|
||||
KEYBOARD_v = SDLK_v,
|
||||
KEYBOARD_z = SDLK_z,
|
||||
|
||||
KEYBOARD_BACKSPACE = SDLK_BACKSPACE
|
||||
};
|
||||
|
||||
class KeyPoll
|
||||
{
|
||||
public:
|
||||
std::map<SDL_Keycode, bool> keymap;
|
||||
|
||||
bool isActive;
|
||||
|
||||
bool resetWindow;
|
||||
|
||||
bool escapeWasPressedPreviously;
|
||||
bool quitProgram;
|
||||
bool toggleFullscreen;
|
||||
|
||||
int sensitivity;
|
||||
|
||||
void setSensitivity(int _value);
|
||||
|
||||
KeyPoll();
|
||||
|
||||
void enabletextentry();
|
||||
|
||||
void disabletextentry();
|
||||
|
||||
void Poll();
|
||||
|
||||
bool isDown(SDL_Keycode key);
|
||||
|
||||
bool isUp(SDL_Keycode key);
|
||||
|
||||
bool isDown(std::vector<SDL_GameControllerButton> buttons);
|
||||
bool isDown(SDL_GameControllerButton button);
|
||||
bool controllerButtonDown();
|
||||
bool controllerWantsLeft(bool includeVert);
|
||||
bool controllerWantsRight(bool includeVert);
|
||||
|
||||
int leftbutton, rightbutton, middlebutton;
|
||||
int mx, my;
|
||||
|
||||
bool textentrymode;
|
||||
int keyentered, keybufferlen;
|
||||
bool pressedbackspace;
|
||||
std::string keybuffer;
|
||||
|
||||
private:
|
||||
std::map<SDL_JoystickID, SDL_GameController*> controllers;
|
||||
std::map<SDL_GameControllerButton, bool> buttonmap;
|
||||
int xVel, yVel;
|
||||
bool useFullscreenSpaces;
|
||||
Uint32 wasFullscreen;
|
||||
};
|
||||
|
||||
|
||||
#endif /* KEYPOLL_H */
|
||||
Reference in New Issue
Block a user