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