JitouchApp / Jitouch

A multi-touch extension for MacBook, Magic Mouse, and Magic Trackpad
GNU General Public License v3.0
396 stars 28 forks source link

Hard to trigger three finger pinch-in gestures on Magic Trackpad #34

Closed shp7724 closed 2 years ago

shp7724 commented 2 years ago

Hi,

I've been using Jitouch for a few days now with my new Magic Trackpad, but I feel that the required distance between fingers is too far for Three-finger pinch-in gesture.

On smaller trackpad, like the one in the old 13-inch macbooks, it felt just fine. As the trackpad becomes larger, however, it seems that the required distance increased proportionally, making it hard to trigger the gesture.

Any chance this might get fixed in the future? Thank you.

aaronkollasch commented 2 years ago

Hi,

This should be fixable.

I haven't really used Three-Finger Pinch-In or Three-Finger Pinch-Out, but on a larger trackpad the distance does seem slightly too far to be comfortable.

I could see this being scaled by the charRegIndexRingDistance, which is set in the Characters panel. By default, charRegIndexRingDistance is 0.3, and the minimum change in three-finger width to trigger the pinch gestures is 0.15 (lines 1590 and 1604 below), so perhaps charRegIndexRingDistance / 2 would make sense.

https://github.com/aaronkollasch/jitouch/blob/6ecbcb1fd035415c89afb0151d544739af97d71d/jitouch/Jitouch/Gesture.m#L1589-L1619

I could add a separate setting in the Trackpad panel, but it would basically measure the same thing as the index-ring distance in the Characters panel. However, it is a bit confusing to have to go to the Characters panel to set the index-ring distance for Trackpad gestures, so I'm open to a better suggestion.

aaronkollasch commented 2 years ago

Can you try this debug build of Jitouch and tell me if it helps? Install-Jitouch.pkg.zip (updated)

You can reduce the index-ring distance in the Preferences Pane -> Characters -> Settings, and drag the slider towards "Near" or use the "Auto Set..." feature to determine the correct distance.

image
shp7724 commented 2 years ago

With the debug build, it became much comfortable to trigger 3 finger gesture. Thanks for the fix! I'll be testing it for a few more days and let you know if anything buggy happens.

I could add a separate setting in the Trackpad panel, but it would basically measure the same thing as the index-ring distance in the Characters panel.

Maybe make the two charRegIndexRingDistance variables independent of each other? For example, users may want to maintain two difference distance settings for Trackpad and Characters each.

aaronkollasch commented 2 years ago

Great, I'm glad to hear it!

Yeah, I considered adding a separate slider, but both sliders really describe the same value, the trackpad index-ring distance. Adding a second slider (and another auto-set dialog) would mean a lot of code duplication just for one gesture.