AntiMicroX
Loading...
Searching...
No Matches
virtualkeyboardmousewidget.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 VIRTUALKEYBOARDMOUSEWIDGET_H
20#define VIRTUALKEYBOARDMOUSEWIDGET_H
21
22#include <QMenu>
23#include <QTabWidget>
24
25class JoyButton;
26class JoyButtonSlot;
28class QVBoxLayout;
29class QPushButton;
30class QWidget;
31class InputDevice;
32class QuickSetDialog;
34
40class VirtualKeyboardMouseWidget : public QTabWidget
41{
43
44 public:
46 QuickSetDialog *quickSetDialog = nullptr, JoyButton *button = nullptr,
47 QWidget *parent = nullptr);
48 explicit VirtualKeyboardMouseWidget(bool isNumKeypad, QWidget *parent = nullptr);
50 bool is_numlock_activated(); // RealSystemInfo class
51 bool isLaptop(); // RealSystemInfo class
52
53 InputDevice *getJoystick() const;
55 QWidget *getKeyboardTab() const;
56 QWidget *getMouseTab() const;
57 QPushButton *getNoneButton() const;
58 QPushButton *getMouseSettingsPushButton() const;
59 QMenu *getOtherKeysMenu() const;
61
63
64 protected:
69
72 QPushButton *createNoneKey();
73 void populateTopRowKeys();
75 QPushButton *createOtherKeysMenu();
76
77 virtual void resizeEvent(QResizeEvent *event);
78
79 signals:
82 void selectionMade(int keycode, int alias);
85
86 public slots:
93
94 private slots:
95 void processSingleKeyboardSelection(int keycode, int alias);
96 void processAdvancedKeyboardSelection(int keycode, int alias);
99 void clearButtonSlots();
102 void setButtonFontSizes();
106
107 private:
113 QWidget *keyboardTab;
114 QWidget *mouseTab;
115 QPushButton *noneButton;
119};
120
121#endif // VIRTUALKEYBOARDMOUSEWIDGET_H
Definition buttoneditdialoghelper.h:27
Abstract class representing a hardware input device, e.g a joystick or controller.
Definition inputdevice.h:51
Represents action which can be performed after pressing button.
Definition joybuttonslot.h:38
Represents a single joystick button being part of a SetJoystick Contains multiple JoyButtonSlots whic...
Definition joybutton.h:47
Definition joydpadxml.h:27
Definition quicksetdialog.h:39
PushButton representing keyboard button on VirtualKeyboardMouseWidget.
Definition virtualkeypushbutton.h:29
Widget visualizing possible keyboard and mouse assignments.
Definition virtualkeyboardmousewidget.h:41
void otherKeysActionSingle(QAction *action, bool triggered)
Definition virtualkeyboardmousewidget.cpp:1115
void disableMouseSettingButton()
Definition virtualkeyboardmousewidget.cpp:962
void clearButtonSlots()
Definition virtualkeyboardmousewidget.cpp:892
void selectionMade(JoyButtonSlot *slot)
void processAdvancedMouseSelection(JoyButtonSlot *tempslot)
Definition virtualkeyboardmousewidget.cpp:778
void nullifyDialogPointer()
Definition virtualkeyboardmousewidget.cpp:1131
void populateTopRowKeys()
Definition virtualkeyboardmousewidget.cpp:780
void establishVirtualKeyboardSingleSignalConnections()
Definition virtualkeyboardmousewidget.cpp:810
QWidget * mouseTab
Definition virtualkeyboardmousewidget.h:114
InputDevice * getJoystick() const
Definition virtualkeyboardmousewidget.cpp:1143
JoyButton * lastPressedBtn
Definition virtualkeyboardmousewidget.h:111
void processAdvancedKeyboardSelection(int keycode, int alias)
Definition virtualkeyboardmousewidget.cpp:756
void addFButtonToOthers(int qt_keycode, QString keycode_text)
Definition virtualkeyboardmousewidget.cpp:800
void setupMouseControlLayout()
Definition virtualkeyboardmousewidget.cpp:491
QWidget * getKeyboardTab() const
Definition virtualkeyboardmousewidget.cpp:1147
void enableMouseSettingButton()
Definition virtualkeyboardmousewidget.cpp:960
QPushButton * mouseSettingsPushButton
Definition virtualkeyboardmousewidget.h:116
QWidget * keyboardTab
Definition virtualkeyboardmousewidget.h:113
QWidget * getMouseTab() const
Definition virtualkeyboardmousewidget.cpp:1149
void setButtonFontSizes()
Definition virtualkeyboardmousewidget.cpp:972
void otherKeysActionAdvanced(QAction *action, bool triggered)
Definition virtualkeyboardmousewidget.cpp:1123
void openMouseSettingsDialog()
Definition virtualkeyboardmousewidget.cpp:934
void setupVirtualKeyboardLayout()
Definition virtualkeyboardmousewidget.cpp:130
QPushButton * noneButton
Definition virtualkeyboardmousewidget.h:115
bool isKeyboardTabVisible()
Definition virtualkeyboardmousewidget.cpp:932
InputDevice * joystick
Definition virtualkeyboardmousewidget.h:110
QVBoxLayout * setupMainKeyboardLayout()
Definition virtualkeyboardmousewidget.cpp:165
QPushButton * createNoneKey()
Definition virtualkeyboardmousewidget.cpp:726
void selectionMade(int keycode, int alias)
QMenu * otherKeysMenu
Definition virtualkeyboardmousewidget.h:117
QuickSetDialog * getCurrentQuickDialog() const
Definition virtualkeyboardmousewidget.cpp:1157
VirtualKeyPushButton * createNewKey(QString xcodestring)
Definition virtualkeyboardmousewidget.cpp:620
QPushButton * createOtherKeysMenu()
Definition virtualkeyboardmousewidget.cpp:986
virtual void resizeEvent(QResizeEvent *event)
Definition virtualkeyboardmousewidget.cpp:964
QVBoxLayout * setupAuxKeyboardLayout()
Definition virtualkeyboardmousewidget.cpp:390
QuickSetDialog * currentQuickDialog
Definition virtualkeyboardmousewidget.h:118
ButtonEditDialogHelper * helper
Definition virtualkeyboardmousewidget.h:112
ButtonEditDialogHelper * getHelper() const
Definition virtualkeyboardmousewidget.cpp:1145
QMenu * getOtherKeysMenu() const
Definition virtualkeyboardmousewidget.cpp:1155
void establishVirtualMouseAdvancedSignalConnections()
Definition virtualkeyboardmousewidget.cpp:878
void clearButtonSlotsFinish()
Definition virtualkeyboardmousewidget.cpp:912
void processSingleKeyboardSelection(int keycode, int alias)
Definition virtualkeyboardmousewidget.cpp:739
void processSingleMouseSelection(JoyButtonSlot *tempslot)
Definition virtualkeyboardmousewidget.cpp:761
bool m_isNumKeypad
Definition virtualkeyboardmousewidget.h:109
void establishVirtualMouseSignalConnections()
Definition virtualkeyboardmousewidget.cpp:864
void establishVirtualKeyboardAdvancedSignalConnections()
Definition virtualkeyboardmousewidget.cpp:837
QPushButton * getNoneButton() const
Definition virtualkeyboardmousewidget.cpp:1151
static QHash< QString, QString > topRowKeys
Definition virtualkeyboardmousewidget.h:62
QVBoxLayout * setupKeyboardNumPadLayout()
Definition virtualkeyboardmousewidget.cpp:428
bool withoutQuickSetDialog
Definition virtualkeyboardmousewidget.h:108
QPushButton * getMouseSettingsPushButton() const
Definition virtualkeyboardmousewidget.cpp:1153