diff options
author | Karim Pinter <karim.pinter@qt.io> | 2018-04-06 18:03:08 +0300 |
---|---|---|
committer | Karim Pinter <karim.pinter@qt.io> | 2018-05-02 10:41:43 +0000 |
commit | 2803cdf758dbae1006a0c50300af12dac9f71531 (patch) | |
tree | e56332b25c35d1c184385b23e4a6cb90daaaeaf4 /src/gui | |
parent | ae618e069418621544a4c78984fbac61f2084195 (diff) |
Fix for mouse with modifiers handling
Modifier keys are saved in qinputdevicemanager such way that both evdev
and libinput can use it the same way, it is also handling the repeating
modifier key events. Evdev support is important for VxWorks support
because it is using it.
Task-number: QTBUG-60694
Change-Id: I49038cb7fe2ad5134b3a37167c19953867ea31c3
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/kernel/qinputdevicemanager.cpp | 23 | ||||
-rw-r--r-- | src/gui/kernel/qinputdevicemanager_p.h | 2 |
2 files changed, 2 insertions, 23 deletions
diff --git a/src/gui/kernel/qinputdevicemanager.cpp b/src/gui/kernel/qinputdevicemanager.cpp index 37b1450d5a..6e4e5a9c93 100644 --- a/src/gui/kernel/qinputdevicemanager.cpp +++ b/src/gui/kernel/qinputdevicemanager.cpp @@ -109,30 +109,9 @@ Qt::KeyboardModifiers QInputDeviceManager::keyboardModifiers() const return d->keyboardModifiers; } -void QInputDeviceManager::setKeyboardModifiers(Qt::KeyboardModifiers modsBeforeEvent, int key) +void QInputDeviceManager::setKeyboardModifiers(Qt::KeyboardModifiers mods) { Q_D(QInputDeviceManager); - Qt::KeyboardModifiers mods; - switch (key) { - case Qt::Key_Shift: - mods = Qt::KeyboardModifiers(modsBeforeEvent ^ Qt::ShiftModifier); - break; - case Qt::Key_Control: - mods = Qt::KeyboardModifiers(modsBeforeEvent ^ Qt::ControlModifier); - break; - case Qt::Key_Alt: - mods = Qt::KeyboardModifiers(modsBeforeEvent ^ Qt::AltModifier); - break; - case Qt::Key_Meta: - mods = Qt::KeyboardModifiers(modsBeforeEvent ^ Qt::MetaModifier); - break; - case Qt::Key_AltGr: - mods = Qt::KeyboardModifiers(modsBeforeEvent ^ Qt::GroupSwitchModifier); - break; - default: - mods = modsBeforeEvent; - break; - } d->keyboardModifiers = mods; } diff --git a/src/gui/kernel/qinputdevicemanager_p.h b/src/gui/kernel/qinputdevicemanager_p.h index ddf1e6befa..d73c5526d0 100644 --- a/src/gui/kernel/qinputdevicemanager_p.h +++ b/src/gui/kernel/qinputdevicemanager_p.h @@ -79,7 +79,7 @@ public: void setCursorPos(const QPoint &pos); Qt::KeyboardModifiers keyboardModifiers() const; - void setKeyboardModifiers(Qt::KeyboardModifiers modsBeforeEvent, int key); + void setKeyboardModifiers(Qt::KeyboardModifiers mods); signals: void deviceListChanged(QInputDeviceManager::DeviceType type); |