12 class JoyStick : public QObject
15 Q_PROPERTY(bool haveJoyStick READ haveJoyStick NOTIFY joyStickChanged)
16 Q_PROPERTY(QString joyStickName READ joyStickName NOTIFY joyStickChanged)
17 Q_PROPERTY(int rawAxis1 READ rawAxis1 NOTIFY joyStickChanged)
18 Q_PROPERTY(int rawAxis2 READ rawAxis2 NOTIFY joyStickChanged)
19 Q_PROPERTY(int rawAxis3 READ rawAxis3 NOTIFY joyStickChanged)
20 Q_PROPERTY(int rawAxis4 READ rawAxis4 NOTIFY joyStickChanged)
21 Q_PROPERTY(int rawAxis5 READ rawAxis5 NOTIFY joyStickChanged)
22 Q_PROPERTY(int rawAxis6 READ rawAxis6 NOTIFY joyStickChanged)
23 Q_PROPERTY(int maxAxis1 READ maxAxis1 NOTIFY joyStickChanged)
24 Q_PROPERTY(int maxAxis2 READ maxAxis2 NOTIFY joyStickChanged)
25 Q_PROPERTY(int maxAxis3 READ maxAxis3 NOTIFY joyStickChanged)
26 Q_PROPERTY(int maxAxis4 READ maxAxis4 NOTIFY joyStickChanged)
27 Q_PROPERTY(int maxAxis5 READ maxAxis5 NOTIFY joyStickChanged)
28 Q_PROPERTY(int maxAxis6 READ maxAxis6 NOTIFY joyStickChanged)
29 Q_PROPERTY(int minAxis1 READ minAxis1 NOTIFY joyStickChanged)
30 Q_PROPERTY(int minAxis2 READ minAxis2 NOTIFY joyStickChanged)
31 Q_PROPERTY(int minAxis3 READ minAxis3 NOTIFY joyStickChanged)
32 Q_PROPERTY(int minAxis4 READ minAxis4 NOTIFY joyStickChanged)
33 Q_PROPERTY(int minAxis5 READ minAxis5 NOTIFY joyStickChanged)
34 Q_PROPERTY(int minAxis6 READ minAxis6 NOTIFY joyStickChanged)
35 Q_PROPERTY(float axis1 READ axis1 NOTIFY joyStickChanged)
36 Q_PROPERTY(float axis2 READ axis2 NOTIFY joyStickChanged)
37 Q_PROPERTY(float axis3 READ axis3 NOTIFY joyStickChanged)
38 Q_PROPERTY(float axis4 READ axis4 NOTIFY joyStickChanged)
39 Q_PROPERTY(float axis5 READ axis5 NOTIFY joyStickChanged)
40 Q_PROPERTY(float axis6 READ axis6 NOTIFY joyStickChanged)
41 Q_PROPERTY(float calAxis1 READ calAxis1 NOTIFY joyStickChanged)
42 Q_PROPERTY(float calAxis2 READ calAxis2 NOTIFY joyStickChanged)
43 Q_PROPERTY(float calAxis3 READ calAxis3 NOTIFY joyStickChanged)
44 Q_PROPERTY(float calAxis4 READ calAxis4 NOTIFY joyStickChanged)
45 Q_PROPERTY(float calAxis5 READ calAxis5 NOTIFY joyStickChanged)
46 Q_PROPERTY(float calAxis6 READ calAxis6 NOTIFY joyStickChanged)
47 Q_PROPERTY(float aileron READ axis1 NOTIFY joyStickChanged)
48 Q_PROPERTY(float elevator READ axis2 NOTIFY joyStickChanged)
49 Q_PROPERTY(float throtle READ axis3 NOTIFY joyStickChanged)
50 Q_PROPERTY(float rudder READ axis4 NOTIFY joyStickChanged)
51 Q_PROPERTY(int mapAxis1 READ mapAxis1 WRITE setMapAxis1 NOTIFY joyStickChanged)
52 Q_PROPERTY(int mapAxis2 READ mapAxis2 WRITE setMapAxis2 NOTIFY joyStickChanged)
53 Q_PROPERTY(int mapAxis3 READ mapAxis3 WRITE setMapAxis3 NOTIFY joyStickChanged)
54 Q_PROPERTY(int mapAxis4 READ mapAxis4 WRITE setMapAxis4 NOTIFY joyStickChanged)
55 Q_PROPERTY(int mapAxis5 READ mapAxis5 WRITE setMapAxis5 NOTIFY joyStickChanged)
56 Q_PROPERTY(int mapAxis6 READ mapAxis6 WRITE setMapAxis6 NOTIFY joyStickChanged)
57 Q_PROPERTY(bool invertAxis1 READ invertAxis1 WRITE setInvertAxis1 NOTIFY joyStickChanged)
58 Q_PROPERTY(bool invertAxis2 READ invertAxis2 WRITE setInvertAxis2 NOTIFY joyStickChanged)
59 Q_PROPERTY(bool invertAxis3 READ invertAxis3 WRITE setInvertAxis3 NOTIFY joyStickChanged)
60 Q_PROPERTY(bool invertAxis4 READ invertAxis4 WRITE setInvertAxis4 NOTIFY joyStickChanged)
61 Q_PROPERTY(bool invertAxis5 READ invertAxis5 WRITE setInvertAxis5 NOTIFY joyStickChanged)
62 Q_PROPERTY(bool invertAxis6 READ invertAxis6 WRITE setInvertAxis6 NOTIFY joyStickChanged)
63 Q_PROPERTY(bool calibrate READ calibrate WRITE setCalibrate)
65 explicit JoyStick(QObject *parent = 0);
67 // JoyStick configuration
68 QString joyStickName() { return m_joyStickName; };
69 bool haveJoyStick() { return m_haveJoyStick; };
70 int rawAxis1() { return m_rawAxis1; };
71 int rawAxis2() { return m_rawAxis2; };
72 int rawAxis3() { return m_rawAxis3; };
73 int rawAxis4() { return m_rawAxis4; };
74 int rawAxis5() { return m_rawAxis5; };
75 int rawAxis6() { return m_rawAxis6; };
76 int maxAxis1() { return m_maxAxis1; };
77 int maxAxis2() { return m_maxAxis2; };
78 int maxAxis3() { return m_maxAxis3; };
79 int maxAxis4() { return m_maxAxis4; };
80 int maxAxis5() { return m_maxAxis5; };
81 int maxAxis6() { return m_maxAxis6; };
82 int minAxis1() { return m_minAxis1; };
83 int minAxis2() { return m_minAxis2; };
84 int minAxis3() { return m_minAxis3; };
85 int minAxis4() { return m_minAxis4; };
86 int minAxis5() { return m_minAxis5; };
87 int minAxis6() { return m_minAxis6; };
88 float axis1() { return m_axis1; };
89 float axis2() { return m_axis2; };
90 float axis3() { return m_axis3; };
91 float axis4() { return m_axis4; };
92 float axis5() { return m_axis5; };
93 float axis6() { return m_axis6; };
94 float calAxis1() { return m_calAxis1; };
95 float calAxis2() { return m_calAxis2; };
96 float calAxis3() { return m_calAxis3; };
97 float calAxis4() { return m_calAxis4; };
98 float calAxis5() { return m_calAxis5; };
99 float calAxis6() { return m_calAxis6; };
100 int mapAxis1() { return m_mapAxis[0]; };
101 int mapAxis2() { return m_mapAxis[1]; };
102 int mapAxis3() { return m_mapAxis[2]; };
103 int mapAxis4() { return m_mapAxis[3]; };
104 int mapAxis5() { return m_mapAxis[4]; };
105 int mapAxis6() { return m_mapAxis[5]; };
106 int invertAxis1() { return m_invertAxis1; };
107 int invertAxis2() { return m_invertAxis2; };
108 int invertAxis3() { return m_invertAxis3; };
109 int invertAxis4() { return m_invertAxis4; };
110 int invertAxis5() { return m_invertAxis5; };
111 int invertAxis6() { return m_invertAxis6; };
112 void setInvertAxis1(bool val) { m_invertAxis1=val; };
113 void setInvertAxis2(bool val) { m_invertAxis2=val; };
114 void setInvertAxis3(bool val) { m_invertAxis3=val; };
115 void setInvertAxis4(bool val) { m_invertAxis4=val; };
116 void setInvertAxis5(bool val) { m_invertAxis5=val; };
117 void setInvertAxis6(bool val) { m_invertAxis6=val; };
118 void setMapAxis1(int val) { m_mapAxis[0]=val; };
119 void setMapAxis2(int val) { m_mapAxis[1]=val; };
120 void setMapAxis3(int val) { m_mapAxis[2]=val; };
121 void setMapAxis4(int val) { m_mapAxis[3]=val; };
122 void setMapAxis5(int val) { m_mapAxis[4]=val; };
123 void setMapAxis6(int val) { m_mapAxis[5]=val; };
124 float getMapped(int axis);
125 void setMapped(int axis,float value);
126 bool calibrate() { return m_joyCal; };
127 void setCalibrate(bool val);
128 void saveCalibration();
133 void joyStickChanged();
135 void updateJoyStick();
138 QSettings *m_joySettings;
140 QString m_joyStickName;
179 QTimer joyStickTimer;
182 SDL_Joystick *joyStick;