mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-28 00:55:39 +00:00
38 lines
1 KiB
C++
38 lines
1 KiB
C++
#ifndef _INPUTMANAGER_H_
|
|
#define _INPUTMANAGER_H_
|
|
|
|
#include <vector>
|
|
#include <SDL/SDL.h>
|
|
#include <map>
|
|
#include <string>
|
|
|
|
class GuiComponent;
|
|
|
|
//The InputManager takes native system input and abstracts it into InputButtons.
|
|
//GuiComponents can be registered to receive onInput() events.
|
|
namespace InputManager {
|
|
void registerComponent(GuiComponent* comp);
|
|
void unregisterComponent(GuiComponent* comp);
|
|
|
|
void loadConfig();
|
|
void openJoystick();
|
|
|
|
//enum for identifying input, regardless of configuration
|
|
enum InputButton { UNKNOWN, UP, DOWN, LEFT, RIGHT, BUTTON1, BUTTON2, MENU, SELECT, PAGEUP, PAGEDOWN};
|
|
|
|
InputButton processEvent(SDL_Event* event);
|
|
|
|
extern std::vector<GuiComponent*> inputVector;
|
|
extern SDL_Event* lastEvent; //mostly for GuiInputConfig
|
|
extern int deadzone;
|
|
std::string getConfigPath();
|
|
|
|
extern std::map<int, InputButton> joystickButtonMap;
|
|
extern std::map<int, InputButton> joystickAxisPosMap, joystickAxisNegMap;
|
|
extern std::map<int, int> axisState;
|
|
extern InputButton hatState;
|
|
extern std::string joystickName;
|
|
}
|
|
|
|
#endif
|