Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for 3-Finger Drag? #91

Open
rb3 opened this issue Jun 18, 2015 · 10 comments
Open

Support for 3-Finger Drag? #91

rb3 opened this issue Jun 18, 2015 · 10 comments

Comments

@rb3
Copy link

rb3 commented Jun 18, 2015

Will there be support for 3-finger drag? I would really like to replicate the touchpad gestures on OS X. Thanks for this awesome project BTW! :)

@coxley
Copy link

coxley commented Jul 13, 2015

+1

@p2rkw
Copy link

p2rkw commented Jul 15, 2015

What you mean by 3 finger drag? How does is differ from one finger drag?

@coxley
Copy link

coxley commented Jul 15, 2015

Three fingers gesture in OS X begins click-hold, makes it convenient with no need to tap and such.

@p2rkw
Copy link

p2rkw commented Jul 15, 2015

Sound like something easy to add, especially on top of my recent changes, but what about swipes with 3 fingers? Does osx support them somehow? Is it able to recognize swipes and 3-finger dragging?

@coxley
Copy link

coxley commented Jul 15, 2015

Yeah, this shows some of the default swipe gestures OS X uses: https://support.apple.com/en-us/HT204895

This is three finger drag: https://support.apple.com/en-us/HT204609

Not sure if that answers your questions?

@p2rkw p2rkw mentioned this issue Jul 16, 2015
@p2rkw
Copy link

p2rkw commented Jul 16, 2015

Done. To test it build branch swipe-to-drag from here: https://github.com/p2rkw/xf86-input-mtrack/tree/swipe_to_drag

See bottom of readme for instructions how to enable it.

@coxley
Copy link

coxley commented Jul 17, 2015

Nice! Seems to work as you'd expect, at least for the 5 minute impression. :)

@p2rkw
Copy link

p2rkw commented Jul 18, 2015

Let me give you a tip: using swipe3 for button "1" drag is such a waste ;)
Firstly: it duplicates tap-to-drag functionality (unless someone will make tap-to-drag button configurable :) )
Secondly: mtrack can be easily configured to work with easystroke:
configure swipe-2-drag as usual but instead of button 1 use eg. button 8:

        Option "SwipeDistance" "1"
        Option "SwipeLeftButton" "8"
        Option "SwipeRightButton" "8"
        Option "SwipeUpButton" "8"
        Option "SwipeDownButton" "8"
        Option "SwipeClickTime" "0"
        Option "SwipeSensitivity" "1100"

or same thing using xinput:

xinput set-prop 11 "Trackpad Swipe Buttons"  8 8 8 8
xinput set-prop 11 "Trackpad Swipe Settings" 1, 0, 1100

Just replace "11" with your touchpad id.

Next run easystroke, go to settings tab, and set gesture button to 8 (without modifiers).
Now every time you swipe with 3 fingers easystroke will recognize it as gesture :D

You can additionally configure Swipe4 or Scroll swipes to send button 1 events, so for example
you can use Swipe in conjunction with easystroke and Scroll or Swipe4 (two or four finger swipes) for text selection.

[1] https://github.com/thjaeger/easystroke/wiki

@akatrevorjay
Copy link

Hi! Was this merged into master by chance?

@hernanBeiza
Copy link

Hi! Is working this feature on xserver-xorg-input-mtrack version (0.3.1-1build2)?
I implemented what do you recommend at the bottom on the old readme.md but only have a multiples primary clicks when I start to drag windows from the tittle bars using 3 fingers doesnt work and just maximize or minimize the window. Or when you try to select texts, selecte the entire line, is like a fast doble click

About my configuration:
OS: Ubuntu 18.04
Trackpad: Apple Magic Trackpad
xserver-xorg-input-mtrack version (0.3.1-1build2)

etc/X11/xorg.conf.d/m-track.conf

Section "InputClass"
	MatchIsTouchpad "true"
	Identifier "Touchpads"
	Driver "mtrack"
        Option          "Sensitivity" "0.60"
        Option          "FingerHigh" "5"
        Option          "FingerLow" "1"
        Option          "IgnoreThumb" "false"
        Option          "ThumbRatio" "70"
        Option          "ThumbSize" "25"
        Option          "IgnorePalm" "false"
        Option          "TapButton1" "1"
        Option          "TapButton2" "3"
        Option          "TapButton3" "2"
        Option          "TapButton4" "0"
        Option          "ClickFinger1" "1"
        Option          "ClickFinger2" "2"
        Option          "ClickFinger3" "3"
        Option          "ButtonMoveEmulate" "false"
        Option          "ButtonIntegrated" "true"
        Option          "ClickTime" "25"
        Option          "BottomEdge" "30"
	Option 		"SwipeDistance" "1"
	Option 		"SwipeLeftButton" "8"
	Option 		"SwipeRightButton" "8"
	Option 		"SwipeUpButton" "8"
	Option 		"SwipeDownButton" "8"
	Option 		"SwipeClickTime" "0"
	Option 		"SwipeSensitivity" "1100"
        Option          "ScrollCoastDuration" "500"
        Option          "ScrollCoastEnableSpeed" ".3"
        Option          "ScrollUpButton" "5"
        Option          "ScrollDownButton" "4"
        Option          "ScrollLeftButton" "7"
        Option          "ScrollRightButton" "6"
        Option          "ScrollDistance" "100"
        Option          "ScrollSensitivy" "0"
        Option          "ButtonZonesEnable" "true"
EndSection


Anyway, thanks for your work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants