CadQuery / CQ-editor

CadQuery GUI editor based on PyQT
Apache License 2.0
757 stars 116 forks source link

Make touchpads and touch-screens usable for navigating the 3D view (with patch inside) #419

Open ncsaba opened 9 months ago

ncsaba commented 9 months ago

Hi all,

The following patch enables the following behavior:

This enables panning with the mouse-pad or on a touch screen, which is impossible otherwise on some device/OS combinations without sacrificing other useful functionality. Normal mouse operation should not be affected (much) by this addition.

On a touch-screen panning will happen after quick succession of a touch and a drag. With the mouse-pad the preferred way is to hold CTRL down while dragging, but a double-click (two taps) followed quickly (almost like a triple-tap) by a mouse drag will also trigger panning instead of zooming.

I used the CTRL button instead of SHIFT (some other CAD programs do that), because on Windows pressing SHIFT a few times will trigger Sticky keys, while the CTRL key won't have any such effect.

Patch is included here:

double_click_drag_means_pan.patch

Hope it helps !

Cheers, Csaba

zbynekwinkler commented 7 months ago

For the sake of consistency, Freecad has a great navigation mode called "Touchpad". It combines pointer movement with keyboard modifiers - Shift for panning and Ctrl for rotating. In involves no clicks, no drags, just movement. In addition to the description in the linked page, two finger touchpad movement up/down zooms.

I use it also with a regular mouse (mouse wheel for zoom).

I think it would be worth following Freepads lead here.