1
0
mirror of https://github.com/TerryCavanagh/VVVVVV.git synced 2024-06-25 05:58:30 +02:00
VVVVVV/desktop_version/src/KeyPoll.h
Ethan Lee 5060b4dfe3 Only do focus fullscreen toggling on X11.
I haven't been able to reproduce this old thing on any setup I have. The patch
from 2013 was originally for X11, and Wayland's fullscreen doesn't allow for
this sort of thing, so let's start scoping this down for eventual removal when
X11 is finally out of our minds forever.
2021-04-05 11:07:32 -04:00

83 lines
1.5 KiB
C++

#ifndef KEYPOLL_H
#define KEYPOLL_H
#include <map> // FIXME: I should feel very bad for using C++ -flibit
#include <SDL.h>
#include <string>
#include <vector>
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_n = SDLK_n,
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;
void toggleFullscreen(void);
int sensitivity;
int inline getThreshold(void);
KeyPoll(void);
void enabletextentry(void);
void disabletextentry(void);
void Poll(void);
bool isDown(SDL_Keycode key);
bool isDown(std::vector<SDL_GameControllerButton> buttons);
bool isDown(SDL_GameControllerButton button);
bool controllerButtonDown(void);
bool controllerWantsLeft(bool includeVert);
bool controllerWantsRight(bool includeVert);
int leftbutton, rightbutton, middlebutton;
int mx, my;
bool textentry(void);
bool pressedbackspace;
std::string keybuffer;
bool linealreadyemptykludge;
private:
std::map<SDL_JoystickID, SDL_GameController*> controllers;
std::map<SDL_GameControllerButton, bool> buttonmap;
int xVel, yVel;
Uint32 wasFullscreen;
};
#ifndef KEY_DEFINITION
extern KeyPoll key;
#endif
#endif /* KEYPOLL_H */