-
-
Notifications
You must be signed in to change notification settings - Fork 151
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
Three finger drag #173
Comments
Assume that I add a new parser plugin to Fusuma for a scrolling event. I think there is another issue with the create the Drag function. But, I noticed that external touchpad or mouse can also moves cursor. |
Interesting. I love the idea of creating a virtual second trackpad that doesn't stop. Are you suggesting you can just create a second input device, then switch to the second (that doesn't stop) once the three fingers are detected on the first input device?
I love your creativity with this!
Hugh
…On May 13 2020, at 7:59 pm, Kohei Yamada ***@***.***> wrote:
Assume that I add a new parser plugin to Fusuma for a scrolling event.
It generates events like "scroll begin", "scroll update", "scroll end".
By assigning actions to these, the 3 or 4 finger scrolling function can be achieved.
I think there is another issue with the create the Drag function.
The libinput that Fusuma depends on will stop moving the cursor when it detects a 3,4 finger gesture. I think that It's hard to unlock this.
But, I noticed that external touchpad or mouse can also moves cursor.
Moving the cursor on that uinput virtual device to emulate the cursor's movement.
The cursor follows even with three fingers, so it should look like it's behaving like a real drag function.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub ***@***.***/0?redirect=https%3A%2F%2Fgit.luolix.top%2Fiberianpig%2Ffusuma%2Fissues%2F173%23issuecomment-628307382&recipient=cmVwbHkrQUpUSVNISklISklXUUhXUDJKQkozTk40WkJWUFBFVkJOSEhDSlVRV09RQHJlcGx5LmdpdGh1Yi5jb20%3D), or unsubscribe ***@***.***/1?redirect=https%3A%2F%2Fgit.luolix.top%2Fnotifications%2Funsubscribe-auth%2FAJTISHLSNKKEZGW5PQ3KRF3RRMX7PANCNFSM4NADOIWQ&recipient=cmVwbHkrQUpUSVNISklISklXUUhXUDJKQkozTk40WkJWUFBFVkJOSEhDSlVRV09RQHJlcGx5LmdpdGh1Yi5jb20%3D).
|
Yes, that's right! |
I'm not sure if I have the expertise, but let me know if you need help
testing it!
…On Thu, May 14, 2020, 09:27 Kohei Yamada ***@***.***> wrote:
Yes, that's right!
It's going to take some time, but I believe this can be implemented.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#173 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJTISHPZ7GLTZ72JXVIGWO3RRPWSJANCNFSM4NADOIWQ>
.
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
No you're not! I use it a lot on my mac as well. |
Thanks also from my side for the nice tool! -- it really helps me transitioning back to Ubuntu 😅 btw, I would also appreciate very much the 3-fingers text selection -- happy to help testing of course |
@ggrrll I also would want to have the 3-fingers text selection. Anyway, I am already happy by having the 3-finger and 4-finger movements! |
Here's a workaround https://github.com/daveriedstra/draggy written in python, using evdev (not mine). It can work alongside fusuma, but mind you there's no conditional suppression of the three finger gestures by draggy (so both the drag event - if you have one configured - and the fusuma gesture are activated). The other option I saw was a fork of libinput-gestures by the same dev, but I had trouble testing it. Draggy seems like the best available option until this functionality is integrated in fusuma, since the libinput-gesture devs will not be integrating such functionality. |
I'm implementing real-time, high-frequency updating gestures right now. 109084863-ec8f5100-774b-11eb-930f-b2c73f96ac0b.mp4 |
Given the timing I'll guess you're using the implementation in the new libinput release? https://www.phoronix.com/scan.php?page=news_item&px=Libinput-1.17-Released |
I was very surprised as I did not know about the new 1.17 release. My implementation works with the old libinput so far. It's just a simple hack to bind the start, update, and end of swipe and pinch events to YAML. However, I'm curious about the API update for libinput 1.17. Thanks for letting me know! |
That looks just like what I'm hoping for! Please let us know when you release this and also how to implement it on our own computers! |
I'm planning to release fusuma v2 soon. Then 3-finger dragging will be available, so please wait a bit👍 |
Cool! Congratulations!
…On Fri, Mar 5, 2021, 23:30 Kohei Yamada ***@***.***> wrote:
I'm planning to release fusuma v2 soon. Then 3-finger dragging will be
available, so please wait a bit👍
@buzuddha <https://github.com/buzuddha>
I'll let you know in this thread😊
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#173 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AJTISHNWQTL7JBGMC3KUXYTTCGVWHANCNFSM4NADOIWQ>
.
|
Thanks for your patience. fusuma v2 has been released. see: #224 Please update fusuma and plugins sudo gem update fusuma
sudo gem update fusuma-plugin-XXXX Three-finger drag can be configured with the following config. swipe:
3:
begin:
command: xdotool mousedown 1
update:
command: xdotool mousemove_relative -- $move_x, $move_y
interval: 0.01
accel: 2
end:
command: xdotool mouseup 1 |
Thanks for implementing that @iberianpig , it works great. |
Amazing! I've been looking for this a lot of time! |
I get the need for this feature. We must change the swipe detector or create an another detector to keep dragging gesture mode. It could be tough. It might need to ignore when fingers reduce to one or lift off to keep in drag mode. |
For anyone looking for additional help with this on wayland, you have to use ydotool instead of xdotool. The syntax is a little bit different, but it still works. Note, I'm using Fedora 39 | 6.8.5 Kernel. Shouldn't matter too much, but just letting you know. First install ydotool via
Once installed, if you try to run it, it may complain about permissions and be started as root which won't work for this purpose. You need to modify the ydotool service to start as your user as well as set the socket path for the tool. To do that, modify the You can use... In the
By default, I think the socket-path is set to To get the UID & GID, you can use a terminal to echo those environmental variables.
Those two numbers will be put in place in the Once the ExecStart line is edited, it should look like this...
Of course, replace [your-username] with your actual username After that, you can save and exit vim, then enable & start your ydotool service.
Check the status of the service to ensure startup was okay. After ydotool is configured properly, follow the instructions in the fusuma documentation for adding your user to the
NOTE 1 40 should mean three fingers place on trackpad I'll try to update with more details for the events if I can find. NOTE 2 NOTE 3 Resources / Credit... #173 (comment) |
Sorry not sure where to ask, but is fusuma supported on ubuntu 24.04 LTS? 3 finger text select works somewhat, had to disable multiple workspaces (desktops), but when I do 3 finger swipe up it does the same as pressing windows button (super button) which is annoying I havent found a way to disable it in settings. 3 finger swipe to move windows around does not work, the mouse stays still in place while output in terminal is:
I followed this https://github.com/iberianpig/fusuma/wiki/3-fingers-Drag-(OS-X-Style) |
Are you using Wayland? |
I''m thinking, can we do it like this. give 'end' event a property 'delay', for example 500 ms. when 'end' event happen, it delay to run the command. if before the time finish, 'begin' happened again, then do not run 'end' command, and keep 'update' command. |
Yes, currently the only difference between native MacOS behavior and the three-finger-drag-n-drop one is that using fusuma I can't quickly resume to drag-n-drop action after I put fingers off my touchpad (e.g. if I need longer drag while my fingers met touchpad border). Maybe there could be a hack like delayed command launch (I mean launching script with delayed 'end' command and cancelling that delayed 'end' command in 'begin' command). Have strong concern on performance. :) |
@Kaeen I got it working with the following configuration:
The only issue I'm seeing is that moving the mouse (even with just one finger) will still move the highlighted area until the timer is done. It's not perfect but definitely lets you lift up and continue the drag where you left off. |
tks @iberianpig, it works great! |
First, let me say: WOW! What a wonderful piece of software you've written! This truly makes ubuntu feel closer to the mac trackpad experience and I really value what you've done here.
Two mac trackpad features that I use constantly are the three-finger select and the three-finger drag. Perhaps you are aware, but if not, they work as follows:
hold down three fingers on text and swipe -> selects text as if left click was held during swipe
hold down three fingers on the top of a window or a file icon -> drags file/window as if left click was held during swipe
I have considered this program:
https://martys.typepad.com/blog/2015/08/3-finger-drag-on-linux.html
However I really want to start using two touchpad programs at the same time. That sound like it will just cause problems, plus this page looks old anyhow and may not be compatible with ubuntu 20.04.
I'm sure you're quite busy, and I don't know how widely used the three-finger finger drag/select is. Mac took it out of the main touchpad settings and hid it deeper in the preferences, so perhaps I'm alone in liking this one. My wife doesn't use it on her work computer so perhaps it's not popular.
I just sent $10 your way for fusuma as is!
Thanks!
The text was updated successfully, but these errors were encountered: