AntiMicroX
joybuttonmousehelper.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 JOYBUTTONMOUSEHELPER_H
20 #define JOYBUTTONMOUSEHELPER_H
21 
22 #include <QObject>
23 
24 class QThread;
25 
26 class JoyButtonMouseHelper : public QObject
27 {
28  Q_OBJECT
29 
30  public:
31  explicit JoyButtonMouseHelper(QObject *parent = nullptr);
33  void setFirstSpringStatus(bool status);
34  bool getFirstSpringStatus();
35  void carryGamePollRateUpdate(int pollRate);
36  void carryMouseRefreshRateUpdate(int refreshRate);
37 
38  signals:
39  void mouseCursorMoved(int mouseX, int mouseY, int elapsed);
40  void mouseSpringMoved(int mouseX, int mouseY);
41  void gamepadRefreshRateUpdated(int pollRate);
42  void mouseRefreshRateUpdated(int refreshRate);
43 
44  public slots:
45  void moveMouseCursor();
46  void moveSpringMouse();
47  void mouseEvent();
48  void changeThread(QThread *thread);
49 
50  private:
52 };
53 
54 #endif // JOYBUTTONMOUSEHELPER_H
JoyButton::getCursorYSpeeds
static QList< JoyButton::mouseCursorInfo > * getCursorYSpeeds()
Definition: joybutton.cpp:4203
GlobalVariables::JoyButton::cursorRemainderY
static double cursorRemainderY
Definition: globalvariables.h:41
JoyButton::getSpringYSpeeds
static QList< PadderCommon::springModeInfo > * getSpringYSpeeds()
Definition: joybutton.cpp:4207
JoyButtonMouseHelper::moveMouseCursor
void moveMouseCursor()
Perform mouse movement in cursor mode.
Definition: joybuttonmousehelper.cpp:37
globalvariables.h
GlobalVariables::JoyButton::mouseRefreshRate
static int mouseRefreshRate
Definition: globalvariables.h:35
GlobalVariables::JoyButton::mouseHistorySize
static int mouseHistorySize
Definition: globalvariables.h:33
GlobalVariables::JoyButton::springModeScreen
static int springModeScreen
Definition: globalvariables.h:36
JoyButton::hasSpringEvents
static bool hasSpringEvents(QList< PadderCommon::springModeInfo > *springXSpeedsList, QList< PadderCommon::springModeInfo > *springYSpeedsList)
Definition: joybutton.cpp:4221
JoyButton::getMouseHelper
static JoyButtonMouseHelper * getMouseHelper()
Definition: joybutton.cpp:4193
JoyButtonMouseHelper::JoyButtonMouseHelper
JoyButtonMouseHelper(QObject *parent=nullptr)
Definition: joybuttonmousehelper.cpp:28
JoyButton::getPendingMouseButtons
static QList< JoyButton * > * getPendingMouseButtons()
Get the list of buttons that have a pending mouse movement event.
Definition: joybutton.cpp:4199
JoyButtonMouseHelper::getFirstSpringStatus
bool getFirstSpringStatus()
Definition: joybuttonmousehelper.cpp:112
JoyButton::hasCursorEvents
static bool hasCursorEvents(QList< JoyButton::mouseCursorInfo > *cursorXSpeedsList, QList< JoyButton::mouseCursorInfo > *cursorYSpeedsList)
Definition: joybutton.cpp:4213
JoyButton::moveSpringMouse
static void moveSpringMouse(int &movedX, int &movedY, bool &hasMoved, int springModeScreen, QList< PadderCommon::springModeInfo > *springXSpeeds, QList< PadderCommon::springModeInfo > *springYSpeeds, QList< JoyButton * > *pendingMouseButtons, int mouseRefreshRate, int idleMouseRefrRate, QTimer *staticMouseEventTimer)
Take spring mouse information provided by all buttons and send a spring mode mouse event to the displ...
Definition: joybutton.cpp:3786
GlobalVariables::JoyButton::mouseHistoryY
static QList< double > mouseHistoryY
Definition: globalvariables.h:89
JoyButton::getStaticMouseEventTimer
static QTimer * getStaticMouseEventTimer()
Definition: joybutton.cpp:4209
JoyButton::moveMouseCursor
static void moveMouseCursor(int &movedX, int &movedY, int &movedElapsed, QList< double > *mouseHistoryX, QList< double > *mouseHistoryY, QElapsedTimer *testOldMouseTime, QTimer *staticMouseEventTimer, int mouseRefreshRate, int mouseHistorySize, QList< JoyButton::mouseCursorInfo > *cursorXSpeeds, QList< JoyButton::mouseCursorInfo > *cursorYSpeeds, double &cursorRemainderX, double &cursorRemainderY, double weightModifier, int idleMouseRefrRate, QList< JoyButton * > *pendingMouseButtonse)
Take cursor mouse information provided by all buttons and send a cursor mode mouse event to the displ...
Definition: joybutton.cpp:3624
JoyButton::restartLastMouseTime
static void restartLastMouseTime(QElapsedTimer *testOldMouseTime)
Definition: joybutton.cpp:4546
JoyButtonMouseHelper::mouseRefreshRateUpdated
void mouseRefreshRateUpdated(int refreshRate)
GlobalVariables::JoyButton::mouseHistoryX
static QList< double > mouseHistoryX
Definition: globalvariables.h:88
JoyButton::setStaticMouseThread
static void setStaticMouseThread(QThread *thread, QTimer *staticMouseEventTimer, QElapsedTimer *testOldMouseTime, int idleMouseRefrRate, JoyButtonMouseHelper *mouseHelper)
Definition: joybutton.cpp:4548
JoyButtonMouseHelper::moveSpringMouse
void moveSpringMouse()
Perform mouse movement in spring mode.
Definition: joybuttonmousehelper.cpp:57
JoyButtonMouseHelper::mouseCursorMoved
void mouseCursorMoved(int mouseX, int mouseY, int elapsed)
JoyButtonMouseHelper::changeThread
void changeThread(QThread *thread)
Definition: joybuttonmousehelper.cpp:118
joybutton.h
JoyButtonMouseHelper::carryMouseRefreshRateUpdate
void carryMouseRefreshRateUpdate(int refreshRate)
Definition: joybuttonmousehelper.cpp:116
JoyButton
Represents a single joystick button being part of a SetJoystick Contains multiple JoyButtonSlots whic...
Definition: joybutton.h:46
GlobalVariables::JoyButton::IDLEMOUSEREFRESHRATE
static int IDLEMOUSEREFRESHRATE
Definition: globalvariables.h:32
JoyButtonMouseHelper
Definition: joybuttonmousehelper.h:26
JoyButtonMouseHelper::mouseEvent
void mouseEvent()
Perform mouse events for all buttons and slots.
Definition: joybuttonmousehelper.cpp:74
JoyButtonMouseHelper::firstSpringEvent
bool firstSpringEvent
Definition: joybuttonmousehelper.h:51
JoyButton::getSpringXSpeeds
static QList< PadderCommon::springModeInfo > * getSpringXSpeeds()
Definition: joybutton.cpp:4205
joybuttonmousehelper.h
JoyButton::getCursorXSpeeds
static QList< JoyButton::mouseCursorInfo > * getCursorXSpeeds()
Definition: joybutton.cpp:4201
JoyButtonMouseHelper::mouseSpringMoved
void mouseSpringMoved(int mouseX, int mouseY)
JoyButtonMouseHelper::resetButtonMouseDistances
void resetButtonMouseDistances()
Definition: joybuttonmousehelper.cpp:100
JoyButtonMouseHelper::carryGamePollRateUpdate
void carryGamePollRateUpdate(int pollRate)
Definition: joybuttonmousehelper.cpp:114
JoyButtonMouseHelper::setFirstSpringStatus
void setFirstSpringStatus(bool status)
Definition: joybuttonmousehelper.cpp:110
JoyButtonMouseHelper::gamepadRefreshRateUpdated
void gamepadRefreshRateUpdated(int pollRate)
JoyButton::getTestOldMouseTime
static QElapsedTimer * getTestOldMouseTime()
Definition: joybutton.cpp:4211
JoyButton::mouseEvent
virtual void mouseEvent()
Calculate mouse movement coordinates for mouse movement slots currently active.
Definition: joybutton.cpp:993
GlobalVariables::JoyButton::weightModifier
static double weightModifier
Definition: globalvariables.h:44
GlobalVariables::JoyButton::cursorRemainderX
static double cursorRemainderX
Definition: globalvariables.h:40