le3d - LightEngine 3D
A straightforward C++ 3D software engine for real-time graphics
gamepad.h
Go to the documentation of this file.
1 
33 #ifndef LE_GAMEPAD_H
34 #define LE_GAMEPAD_H
35 
36 #include "config.h"
37 #include <stdint.h>
38 
39 /*****************************************************************************/
40 #define LE_GAMEPAD_THRESHOLD 4096.0f
41 
42 /*****************************************************************************/
47 typedef enum{
52  LE_GAMEPAD_START = 0x0010,
53  LE_GAMEPAD_BACK = 0x0020,
58  LE_GAMEPAD_A = 0x1000,
59  LE_GAMEPAD_B = 0x2000,
60  LE_GAMEPAD_X = 0x4000,
61  LE_GAMEPAD_Y = 0x8000,
63 
64 /*****************************************************************************/
69 class LeGamePad
70 {
71 public:
72  LeGamePad(int pad);
73  ~LeGamePad();
74 
75  void init();
76  void update();
77  void feedback(float left, float right);
78 
79  float stickLeftX;
80  float stickLeftY;
81  float stickRightX;
82  float stickRightY;
84  int buttons;
85  int toggled;
86  int pressed;
87  int released;
89  bool detected;
91  static void setup();
92  static void release();
93 
94 private:
95  float normalize(int32_t axis);
96  int pad;
97 };
98 
99 #endif // LE_GAMEPAD_H
Definition: gamepad.h:52
LE_GAMEPAD_BUTTONS
gamepad buttons identifiers (masks)
Definition: gamepad.h:47
Definition: gamepad.h:55
Definition: gamepad.h:59
static void release()
Definition: gamepad_win.cpp:202
~LeGamePad()
Definition: gamepad_win.cpp:105
float stickLeftX
Definition: gamepad.h:79
Definition: gamepad.h:51
LightEngine 3D: General engine configuration file.
float stickRightX
Definition: gamepad.h:81
Definition: gamepad.h:61
bool detected
Definition: gamepad.h:89
Definition: gamepad.h:50
void update()
Update gamepad state (call the driver)
Definition: gamepad_win.cpp:138
Definition: gamepad.h:54
Definition: gamepad.h:60
int toggled
Definition: gamepad.h:85
Definition: gamepad.h:49
Definition: gamepad.h:48
int pressed
Definition: gamepad.h:86
Definition: gamepad.h:57
int released
Definition: gamepad.h:87
Definition: gamepad.h:58
void init()
Initialize gamepad state (default state)
Definition: gamepad_win.cpp:114
Definition: gamepad.h:53
Definition: gamepad.h:56
Handle gamepads through OS native interface.
Definition: gamepad.h:69
float stickLeftY
Definition: gamepad.h:80
float stickRightY
Definition: gamepad.h:82
static void setup()
Definition: gamepad_win.cpp:183
const LeVertex left
Definition: geometry_scalar.h:665
int buttons
Definition: gamepad.h:84
const LeVertex right
Definition: geometry_scalar.h:666
LeGamePad(int pad)
Definition: gamepad_win.cpp:96
void feedback(float left, float right)
Send a force feedback order.
Definition: gamepad_win.cpp:163