WIP Bug: Gumball smooth setting

I do have an Alt button on my 3d mouse (Space Pilot, a model from 2005), but since it’s a discontinued model for 13 years now, I’m forced to use a very old driver for it (3DxWare 10.3.0), along with replacing Rhino’s plug-in with the one from Rhino 6.3. That makes the use of the Ctrl, Alt, Shift and Esc keys of the 3d mouse not working correctly. The 3d mouse do not register holding any of its buttons (they only work as a single-tap buttons instead), thus I’m unable to temporarily disable the OSnap by holding Alt on the 3d mouse.

Also, the keys of my 3d mouse do not work when the LMB or RMB of my regular mouse is clicked, so I can’t run any macro to toggle OSnap or Snappy/Smooth dragging while dragging the Gumball. If I do not hold the LMB or the RMB of the regular mouse, I can use the 3d mouse’s buttons to run a macro to toggle the Snappy/Smooth dragging, but that comes with about 2-3 seconds lag, which causes a temporary freezing of Rhino.

I’m aware that my case is quite rare since most 3d mouse users own a modern model, so maybe they don’t experience the same lag or inability to hold their Crtl, Alt, Shift and Esc keys on the 3d mouse.

As a Rhino 7 user I can’t test the latest Rhino 9 WIP. I will have to wait a few months to buy the final version of Rhino 9.


This post pretty much explains why keeping “Snappy dragging” on by default is bad, and how to find a solution for combining both modes that works flawlessly. If the developers are wise enough to try it internally and then release it in the next Rhino 9 WIP build for anyone with a license to test it personally.

Don’t let the word “gesture” scare you. I used it in that other post, because it’s exactly that - a gesture. In fact, anyone who uses a “Snappy dragging” already makes almost the same gesture to snap to other objects that are away from the active axis of the Gumball. The only difference is that my proposal is for using that gesture as a trigger for activating the “Snappy dragging” as a one-shot snap until the LMB is held. Once you release the LMB, the Gumball immediately switches to “Smooth dragging” again.

The principle of that gesture is pretty easy to implement. As soon as you hold the LMB and start to drag any of the Gumball handles, moving the mouse pointer away from the Gumball handle (by a set amount of pixels, customizable by the user) will activate “Snappy dragging”. However, if you do not move the mouse pointer away from the handle, the Gumball will remain in “Smooth dragging” mode. There is no disadvantage of the gesture control compared to the current flawed behaviour.

Those who prefer to use “Snappy dragging” all the time, could use the same gesture to enable a one-shot “Smooth dragging”, too.