AntiMicroX
inputdevicebitarraystatus.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 INPUTDEVICESTATUSEVENT_H
20 #define INPUTDEVICESTATUSEVENT_H
21 
22 #include <QBitArray>
23 #include <QList>
24 #include <QObject>
25 
26 class InputDevice;
27 
28 class InputDeviceBitArrayStatus : public QObject
29 {
30  Q_OBJECT
31 
32  public:
33  explicit InputDeviceBitArrayStatus(InputDevice *device, bool readCurrent, QObject *parent);
34 
35  void changeAxesStatus(int axisIndex, bool value);
36  void changeButtonStatus(int buttonIndex, bool value);
37  void changeHatStatus(int hatIndex, bool value);
38  void changeSensorStatus(int sensorIndex, bool value);
39 
40  QBitArray generateFinalBitArray();
41  void clearStatusValues();
42 
43  private:
44  QBitArray &getButtonStatusLocal();
45 
46  QList<bool> axesStatus;
47  QList<bool> hatButtonStatus;
48  QBitArray buttonStatus;
49  QBitArray m_sensor_status;
50 };
51 
52 #endif // INPUTDEVICESTATUSEVENT_H
InputDeviceBitArrayStatus::hatButtonStatus
QList< bool > hatButtonStatus
Definition: inputdevicebitarraystatus.h:47
InputDeviceBitArrayStatus::generateFinalBitArray
QBitArray generateFinalBitArray()
Definition: inputdevicebitarraystatus.cpp:110
JoyDPad::getCurrentDirection
int getCurrentDirection()
Definition: joydpad.cpp:202
InputDeviceBitArrayStatus::changeAxesStatus
void changeAxesStatus(int axisIndex, bool value)
Definition: inputdevicebitarraystatus.cpp:78
JoyAxis
Represents single axis of of joystick (or other input)
Definition: joyaxis.h:40
InputDeviceBitArrayStatus::getButtonStatusLocal
QBitArray & getButtonStatusLocal()
Definition: inputdevicebitarraystatus.cpp:156
InputDevice
Abstract class representing a hardware input device, e.g a joystick or controller.
Definition: inputdevice.h:50
SetJoystick
A set of mapped events which can by switched by a controller event. Contains controller input objects...
Definition: setjoystick.h:39
InputDeviceBitArrayStatus::buttonStatus
QBitArray buttonStatus
Definition: inputdevicebitarraystatus.h:48
InputDevice::getNumberRawAxes
virtual int getNumberRawAxes()=0
InputDeviceBitArrayStatus::changeHatStatus
void changeHatStatus(int hatIndex, bool value)
Definition: inputdevicebitarraystatus.cpp:94
InputDeviceBitArrayStatus::clearStatusValues
void clearStatusValues()
Definition: inputdevicebitarraystatus.cpp:144
joystick.h
InputDeviceBitArrayStatus
Definition: inputdevicebitarraystatus.h:28
JoyButton::getButtonState
bool getButtonState()
Checks if this button is currently active.
Definition: joybutton.cpp:2471
InputDeviceBitArrayStatus::InputDeviceBitArrayStatus
InputDeviceBitArrayStatus(InputDevice *device, bool readCurrent, QObject *parent)
Definition: inputdevicebitarraystatus.cpp:29
InputDevice::getNumberRawButtons
virtual int getNumberRawButtons()=0
JoyDPad
Definition: joydpad.h:24
SetJoystick::getJoyButton
JoyButton * getJoyButton(int index) const
Definition: setjoystick.cpp:57
inputdevice.h
joybutton.h
JoyButton
Represents a single joystick button being part of a SetJoystick Contains multiple JoyButtonSlots whic...
Definition: joybutton.h:46
InputDeviceBitArrayStatus::changeSensorStatus
void changeSensorStatus(int sensorIndex, bool value)
Definition: inputdevicebitarraystatus.cpp:102
SetJoystick::getJoyDPad
JoyDPad * getJoyDPad(int index) const
Definition: setjoystick.cpp:65
JoyAxis::inDeadZone
bool inDeadZone(int value)
Definition: joyaxis.cpp:179
InputDeviceBitArrayStatus::m_sensor_status
QBitArray m_sensor_status
Definition: inputdevicebitarraystatus.h:49
SetJoystick::getJoyAxis
JoyAxis * getJoyAxis(int index) const
Definition: setjoystick.cpp:59
setjoystick.h
InputDeviceBitArrayStatus::axesStatus
QList< bool > axesStatus
Definition: inputdevicebitarraystatus.h:46
inputdevicebitarraystatus.h
InputDeviceBitArrayStatus::changeButtonStatus
void changeButtonStatus(int buttonIndex, bool value)
Definition: inputdevicebitarraystatus.cpp:86
SENSOR_COUNT
@ SENSOR_COUNT
Definition: joysensortype.h:30
joydpad.h
InputDevice::getNumberRawHats
virtual int getNumberRawHats()=0
JoyDPadButton::DpadCentered
@ DpadCentered
Definition: joydpadbutton.h:43
InputDevice::getActiveSetJoystick
SetJoystick * getActiveSetJoystick()
Definition: inputdevice.cpp:563
JoyAxis::getCurrentRawValue
int getCurrentRawValue()
Definition: joyaxis.cpp:463