diff options
author | Rick Stockton <rickstockton@reno-computerhelp.com> | 2012-03-03 00:48:47 -0800 |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2012-03-03 16:54:28 +0100 |
commit | 42a4092c2885c18411ba4ddb19f4ab5b7d8de3b7 (patch) | |
tree | b03649d2ca7ca527dae7de4c50b86e68aad32477 /src | |
parent | eb4f962cfff3061bd30601ba6a4af81587c8decb (diff) |
Add '16 mouse buttons' feature to InputDevice::toWaylandButton
Task-number: QTBUG-22759
Change-Id: Id886a61a98e07bfeb4a18ef57905d6b7293ca0c8
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/compositor/wayland_wrapper/wlinputdevice.cpp | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/src/compositor/wayland_wrapper/wlinputdevice.cpp b/src/compositor/wayland_wrapper/wlinputdevice.cpp index 72b735a2f..57d1e3d9a 100644 --- a/src/compositor/wayland_wrapper/wlinputdevice.cpp +++ b/src/compositor/wayland_wrapper/wlinputdevice.cpp @@ -275,16 +275,28 @@ uint32_t InputDevice::toWaylandButton(Qt::MouseButton button) { #ifndef BTN_LEFT uint32_t BTN_LEFT = 0x110; - uint32_t BTN_RIGHT = 0x111; - uint32_t BTN_MIDDLE = 0x112; #endif + // the range of valid buttons (evdev module) is from 0x110 + // through 0x11f. 0x120 is the first 'Joystick' button. switch (button) { - case Qt::LeftButton: - return BTN_LEFT; - case Qt::RightButton: - return BTN_RIGHT; - default: - return BTN_MIDDLE; + case Qt::LeftButton: return BTN_LEFT; + case Qt::RightButton: return uint32_t(0x111); + case Qt::MiddleButton: return uint32_t(0x112); + case Qt::ExtraButton1: return uint32_t(0x113); // AKA Qt::BackButton, Qt::XButton1 + case Qt::ExtraButton2: return uint32_t(0x114); // AKA Qt::ForwardButton, Qt::XButton2 + case Qt::ExtraButton3: return uint32_t(0x115); + case Qt::ExtraButton4: return uint32_t(0x116); + case Qt::ExtraButton5: return uint32_t(0x117); + case Qt::ExtraButton6: return uint32_t(0x118); + case Qt::ExtraButton7: return uint32_t(0x119); + case Qt::ExtraButton8: return uint32_t(0x11a); + case Qt::ExtraButton9: return uint32_t(0x11b); + case Qt::ExtraButton10: return uint32_t(0x11c); + case Qt::ExtraButton11: return uint32_t(0x11d); + case Qt::ExtraButton12: return uint32_t(0x11e); + case Qt::ExtraButton13: return uint32_t(0x11f); + // default should not occur; but if it does, then return Wayland's highest possible button number. + default: return uint32_t(0x11f); } } |