I have rewritten the navigation style, in order to fix slight model rotation when pinch-zooming and two-finger panning, that was driving me bananaz. In the process, I introduced a few changes.
* tap-and-hold then drag to pan now works with mouse and touchpad. Should work on all platforms.
* new mouse-only gestures:
** click LMB while holding RMB to invoke "Back" gesture.
** click RMB while holding LMB to invoke "Forward" gesture.
These gestures were modeled after Opera browser.
By default, nothing is bound to these gestures. As of now, the only way to bind commands to these gestures is with parameter editor. Or with Py console. Here is a snippet to bind these gestures to undo and redo:
Code: Select all
App.ParamGet("User parameter:BaseApp/Preferences/View").SetString("GestureRollFwdCommand", "Std_Redo")
App.ParamGet("User parameter:BaseApp/Preferences/View").SetString("GestureRollBackCommand", "Std_Undo")
Additional hidden parameters:
Code: Select all
# set sensitivity to cursor motion (distance in px). This is the distance to drag for rotation/panning to begin.
App.ParamGet("User parameter:BaseApp/Preferences/View").SetInt("GestureMoveThreshold", 5)
# set tap-and-hold detection time (in milliseconds). Set it to something stupid high to effectively disable tap-and-hold.
# Really only affects mouse/touchpad.
# On windows+touchscreen, set this equal (or smaller) to system setting; setting higher than system time causes erratic behavior.
App.ParamGet("User parameter:BaseApp/Preferences/View").GetInt("GestureTapHoldTimeout", 700)
I have only tested it on Windosws. I would always welcome input on how it behaves on other platforms. I don't expect any problems with mouse part, but with touchscreen, problems are very likely.