1 #ifndef __MDFN_DRIVERS_INPUT_H
2 #define __MDFN_DRIVERS_INPUT_H
3 
4 enum : uint8
5 {
6  BUTTC_NONE 	= 0,	// Must be zero.
7  BUTTC_KEYBOARD,
8  BUTTC_JOYSTICK,
9  BUTTC_MOUSE
10 };
11 
12 struct ButtConfig
13 {
14  uint8 DeviceType;
15  uint8 DeviceNum;
16  int8 ANDGroupCont;
17  uint16 ButtonNum;
18  uint16 Scale;
19  std::array<uint8, 16> DeviceID;
20 };
21 
22 void Input_Event(const SDL_Event* event);
23 
24 void Input_GameLoaded(MDFNGI* gi) MDFN_COLD;
25 void Input_GameClosed(void) MDFN_COLD;
26 
27 void Input_Update(bool VirtualDevicesOnly = false, bool UpdateRapidFire = true);
28 
29 void Input_MakeSettings(std::vector <MDFNSetting> &settings);
30 
31 void Input_NetplayLPMChanged(void);
32 
33 MDFN_HIDE extern bool DNeedRewind; // Only read/write in game thread(or before creating game thread).
34 MDFN_HIDE extern bool RewindState; // " " " "
35 
36 #endif
37