From e506bb30750a645ff5fc443b996bf45ff9838ca9 Mon Sep 17 00:00:00 2001 From: Friedrich Beckmann Date: Mon, 24 Oct 2016 19:54:43 +0200 Subject: [PATCH] added alternative to middle-mouse button in manipulator I added CTRL + RIGHT-MOUSE-CLICK to the standard manipulator as an alternative to MIDDLE-MOUSE-CLICK because a 3 Button Mouse not always available, e.g. on MacOS. I tested this with the osgAtlasSimbicon example. --- src/osgGA/StandardManipulator.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/osgGA/StandardManipulator.cpp b/src/osgGA/StandardManipulator.cpp index 61dfe17a2..b83dc3031 100644 --- a/src/osgGA/StandardManipulator.cpp +++ b/src/osgGA/StandardManipulator.cpp @@ -438,11 +438,14 @@ bool StandardManipulator::performMovement() // call appropriate methods unsigned int buttonMask = _ga_t1->getButtonMask(); + unsigned int ModKeyMask = _ga_t1->getModKeyMask(); if( buttonMask == GUIEventAdapter::LEFT_MOUSE_BUTTON ) { return performMovementLeftMouseButton( eventTimeDelta, dx, dy ); } else if( buttonMask == GUIEventAdapter::MIDDLE_MOUSE_BUTTON || + ( buttonMask == GUIEventAdapter::RIGHT_MOUSE_BUTTON && + ModKeyMask & GUIEventAdapter::MODKEY_CTRL ) || buttonMask == (GUIEventAdapter::LEFT_MOUSE_BUTTON | GUIEventAdapter::RIGHT_MOUSE_BUTTON) ) { return performMovementMiddleMouseButton( eventTimeDelta, dx, dy );