keeping memory of if the last axis input was mapped to a mouse button or not, to be able to trigger the correct release event

This commit is contained in:
etbh
2021-04-15 00:33:52 +02:00
parent 0800b91218
commit e86bb12144
2 changed files with 4 additions and 1 deletions

View File

@ -12,6 +12,7 @@ Axis::Axis( int i, QObject *parent ) : QObject(parent) {
index = i;
isOn = false;
isDown = false;
useMouse = false;
state = 0;
interpretation = ZeroOne;
gradient = false;
@ -378,7 +379,7 @@ void Axis::move( bool press ) {
//dialog being open and blocking events from happening.
if (isDown == press) return;
isDown = press;
bool useMouse = (state > 0)?puseMouse:nuseMouse;
useMouse = (state == 0 )? useMouse: (state > 0) ?puseMouse:nuseMouse;
if (press) {
e.type = useMouse ? FakeEvent::MouseDown : FakeEvent::KeyDown;
downkey = (state > 0)?pkeycode:nkeycode;

View File

@ -72,6 +72,8 @@ class Axis : public QObject {
virtual void move( bool press );
//is a key currently depressed?
bool isDown;
//is a mouse button currently in use?
bool useMouse;
//variables for calculating quadratic used for gradient mouse axes
float inverseRange;