AntiMicroX
Loading...
Searching...
No Matches
joydpad.h
Go to the documentation of this file.
1/* antimicrox Gamepad to KB+M event mapper
2 * Copyright (C) 2015 Travis Nickles <nickles.travis@gmail.com>
3 * Copyright (C) 2020 Jagoda Górska <juliagoda.pl@protonmail>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#ifndef JOYDPAD_H
20#define JOYDPAD_H
21
23
24class JoyDPad : public QObject
25{
27
28 public:
29 explicit JoyDPad(int index, int originset, SetJoystick *parentSet, QObject *parent);
30
38
41
43 int getJoyNumber();
44 int getIndex();
45 int getRealJoyNumber();
46 virtual QString getName(bool fullForceFormat = false, bool displayNames = false);
47
48 void joyEvent(int value, bool ignoresets = false); // JoyDPadEvent class
49 void queuePendingEvent(int value, bool ignoresets = false); // JoyDPadEvent class
50 void activatePendingEvent(); // JoyDPadEvent class
51 bool hasPendingEvent(); // JoyDPadEvent class
52 void clearPendingEvent(); // JoyDPadEvent class
53
54 void setJoyMode(JoyMode mode);
56
57 void releaseButtonEvents(); // JoyDPadEvent class
58
62
66
67 void setButtonsSpringWidth(int value);
69
70 void setButtonsSpringHeight(int value);
72
73 void setButtonsSensitivity(double value);
75
76 void setButtonsWheelSpeedX(int value);
77 void setButtonsWheelSpeedY(int value);
78
79 const QString getDpadName();
81
82 virtual bool isDefault();
83
85
86 virtual QString getXmlName(); // JoyDPadXml class
87
90
92 bool hasSlotsAssigned();
93
94 bool isRelativeSpring();
96
97 int getDPadDelay();
99
102
105
107
110
111 virtual void eventReset(); // JoyDPadEvent class
112
113 signals:
114 void active(int value);
115 void released(int value);
117 void dpadDelayChanged(int value);
120
121 public slots:
123 void setButtonsSpringRelativeStatus(bool value);
124 void setDPadDelay(int value);
125 void setButtonsEasingDuration(double value);
128
129 private slots:
131
132 protected:
133 void populateButtons();
134 void createDeskEvent(bool ignoresets = false); // JoyDPadEvent class
136
137 private:
139
143
146
150
153 int dpadDelay; // unsigned
155
158};
159
160#endif // JOYDPAD_H
JoyMouseMovementMode
Definition joybutton.h:63
JoyExtraAccelerationCurve
Definition joybutton.h:79
JoyMouseCurve
Definition joybutton.h:68
Definition joydpadbutton.h:28
JoyDPadDirections
Definition joydpadbutton.h:42
Definition joydpadxml.h:27
Definition joydpad.h:25
SetJoystick * getParentSet()
Definition joydpad.cpp:545
void setDPadName(QString tempName)
Definition joydpad.cpp:503
int getIndex()
Definition joydpad.cpp:109
bool hasPendingEvent()
Definition joydpad.cpp:134
void setDirButtonsUpdateInitAccel(JoyDPadButton::JoyDPadDirections direction, bool state)
Definition joydpad.cpp:1054
void setButtonsSpringWidth(int value)
Definition joydpad.cpp:369
void setButtonsMouseMode(JoyButton::JoyMouseMovementMode mode)
Definition joydpad.cpp:240
void clearPendingEvent()
Definition joydpad.cpp:136
void copyLastDistanceValues(JoyDPad *srcDPad)
Definition joydpad.cpp:1068
QString defaultDPadName
Definition joydpad.h:145
SetJoystick * m_parentSet
Definition joydpad.h:147
void joyModeChanged()
void createDeskEvent(bool ignoresets=false)
Definition joydpad.cpp:643
QHash< int, JoyDPadButton * > * getJoyButtons()
Definition joydpad.cpp:200
bool isRelativeSpring()
Definition joydpad.cpp:589
void establishPropertyUpdatedConnection()
Definition joydpad.cpp:547
QTimer directionDelayTimer
Definition joydpad.h:148
virtual void eventReset()
Definition joydpad.cpp:1083
QHash< int, JoyDPadButton * > * getButtons()
Definition joydpad.cpp:223
void setButtonsSpringRelativeStatus(bool value)
Definition joydpad.cpp:579
void populateButtons()
Definition joydpad.cpp:52
int dpadDelay
Definition joydpad.h:153
const QString getDpadName()
Definition joydpad.cpp:513
virtual bool isDefault()
Definition joydpad.cpp:225
JoyMode getJoyMode()
Definition joydpad.cpp:211
double getButtonsEasingDuration()
Definition joydpad.cpp:891
void dpadDelayChanged(int value)
void active(int value)
void queuePendingEvent(int value, bool ignoresets=false)
Definition joydpad.cpp:115
QHash< int, JoyDPadButton * > getDirectionButtons(JoyDPadButton::JoyDPadDirections direction)
Definition joydpad.cpp:994
void setButtonsWheelSpeedX(int value)
Definition joydpad.cpp:517
const QString getDefaultDpadName()
Definition joydpad.cpp:515
bool hasSlotsAssigned()
Definition joydpad.cpp:557
int m_originset
Definition joydpad.h:152
JoyDPadButton * getJoyButton(int index_local)
Definition joydpad.cpp:50
QHash< int, JoyDPadButton * > getApplicableButtons()
Definition joydpad.cpp:480
JoyMode currentMode
Definition joydpad.h:149
void propertyUpdated()
void activatePendingEvent()
Definition joydpad.cpp:122
int getDPadDelay()
Definition joydpad.cpp:878
void disconnectPropertyUpdatedConnection()
Definition joydpad.cpp:552
int getButtonsPresetSpringHeight()
Definition joydpad.cpp:416
JoyDPadButton::JoyDPadDirections prevDirection
Definition joydpad.h:140
int getRealJoyNumber()
Definition joydpad.cpp:111
void setButtonsMouseCurve(JoyButton::JoyMouseCurve mouseCurve)
Definition joydpad.cpp:305
JoyButton::JoyMouseCurve getButtonsPresetMouseCurve()
Definition joydpad.cpp:342
void setButtonsExtraAccelerationCurve(JoyButton::JoyExtraAccelerationCurve curve)
Definition joydpad.cpp:956
bool hasSameButtonsMouseMode()
Definition joydpad.cpp:250
virtual void setDefaultDPadName(QString tempname)
Definition joydpad.cpp:537
JoyDPadButton * activeDiagonalButton
Definition joydpad.h:142
virtual QString getDefaultDPadName()
Definition joydpad.cpp:543
int getButtonsSpringDeadCircleMultiplier()
Definition joydpad.cpp:929
virtual QString getName(bool fullForceFormat=false, bool displayNames=false)
Definition joydpad.cpp:79
JoyButton::JoyMouseMovementMode getButtonsPresetMouseMode()
Definition joydpad.cpp:278
void releaseButtonEvents()
Definition joydpad.cpp:213
virtual QString getXmlName()
Definition joydpad.cpp:113
int getJoyNumber()
Definition joydpad.cpp:107
int m_index
Definition joydpad.h:151
void dpadNameChanged()
JoyButton::JoyExtraAccelerationCurve getButtonsExtraAccelerationCurve()
Definition joydpad.cpp:967
QString dpadName
Definition joydpad.h:144
int getCurrentDirection()
Definition joydpad.cpp:202
void setButtonsEasingDuration(double value)
Definition joydpad.cpp:880
double getButtonsPresetSensitivity()
Definition joydpad.cpp:453
int pendingEventDirection
Definition joydpad.h:154
void released(int value)
void setButtonsSpringHeight(int value)
Definition joydpad.cpp:379
void joyEvent(int value, bool ignoresets=false)
Definition joydpad.cpp:143
void setButtonsSensitivity(double value)
Definition joydpad.cpp:443
int getButtonsPresetSpringWidth()
Definition joydpad.cpp:389
JoyMode
Definition joydpad.h:32
@ EightWayMode
Definition joydpad.h:34
@ FourWayCardinal
Definition joydpad.h:35
@ FourWayDiagonal
Definition joydpad.h:36
@ StandardMode
Definition joydpad.h:33
void copyAssignments(JoyDPad *destDPad)
Definition joydpad.cpp:616
bool pendingIgnoreSets
Definition joydpad.h:157
void dpadDirectionChangeEvent()
Definition joydpad.cpp:866
JoyDPadButton::JoyDPadDirections pendingDirection
Definition joydpad.h:141
QHash< int, JoyDPadButton * > buttons
Definition joydpad.h:138
bool hasSameButtonsMouseCurve()
Definition joydpad.cpp:315
void setJoyMode(JoyMode mode)
Definition joydpad.cpp:204
void setButtonsSpringDeadCircleMultiplier(int value)
Definition joydpad.cpp:918
void setDPadDelay(int value)
Definition joydpad.cpp:868
void setButtonsWheelSpeedY(int value)
Definition joydpad.cpp:527
bool pendingEvent
Definition joydpad.h:156
A set of mapped events which can by switched by a controller event. Contains controller input objects...
Definition setjoystick.h:40