From 4fddc86851d4ff595e1994632efe34a8f3bdc330 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Wed, 11 Nov 2015 15:26:16 -0800 Subject: [PATCH] tweaks to click --- .../input-plugins/src/input-plugins/KeyboardMouseDevice.cpp | 5 +++-- .../input-plugins/src/input-plugins/KeyboardMouseDevice.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp index 6a08a50b13..9a9514db1b 100755 --- a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp +++ b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.cpp @@ -64,8 +64,8 @@ void KeyboardMouseDevice::mousePressEvent(QMouseEvent* event, unsigned int devic // key pressed again ? without catching the release event ? } _lastCursor = event->pos(); - _mousePressAt = event->pos(); _mousePressTime = usecTimestampNow(); + _mouseMoved = false; eraseMouseClicked(); } @@ -78,7 +78,7 @@ void KeyboardMouseDevice::mouseReleaseEvent(QMouseEvent* event, unsigned int dev // input for this button we might want to add some small tolerance to this so if you do a small drag it // till counts as a clicked. static const int CLICK_TIME = USECS_PER_MSEC * 500; // 500 ms to click - if (_mousePressAt == event->pos() && (usecTimestampNow() - _mousePressTime < CLICK_TIME)) { + if (!_mouseMoved && (usecTimestampNow() - _mousePressTime < CLICK_TIME)) { _inputDevice->_buttonPressedMap.insert(_inputDevice->makeInput((Qt::MouseButton) event->button(), true).getChannel()); } } @@ -100,6 +100,7 @@ void KeyboardMouseDevice::mouseMoveEvent(QMouseEvent* event, unsigned int device _inputDevice->_axisStateMap[MOUSE_AXIS_Y_NEG] = (currentMove.y() > 0 ? currentMove.y() : 0.0f); _lastCursor = currentPos; + _mouseMoved = true; eraseMouseClicked(); } diff --git a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.h b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.h index 7182424df0..b31c59d11a 100644 --- a/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.h +++ b/libraries/input-plugins/src/input-plugins/KeyboardMouseDevice.h @@ -115,8 +115,8 @@ public: protected: QPoint _lastCursor; - QPoint _mousePressAt; quint64 _mousePressTime; + bool _mouseMoved; glm::vec2 _lastTouch; std::shared_ptr _inputDevice { std::make_shared() };