7 ms·
Does it support three finger drag? It's the MacOS feature I miss the most.
by frostwarrior 5y ago
Does it support three finger drag? It's the MacOS feature I miss the most.
- ComputerGuru 5y agoYou mean click with three fingers once and let go to initiate a drag, move the cursor with one finger on the touchpad to its destination, then click and let go with three fingers to end it? That’s a very good question as I didn’t consider stateful gestures (where state doesn’t reset when all fingers are removed). It can be shimmed (without touching the code) in the configuration file by replacing the invocation of xdotool (or whatever) with a wrapper script that provides state enabling a “toggle mousedown” rather than just explicit, separate mouseup and mousedown events but I wonder if there’s a clean way to model that into the event loop as serialized to/from the configuration file directly. Feel free to open a GitHub issue if you like.
- weikju 5y ago> You mean click with three fingers once and let go to initiate a drag, move the cursor with one finger on the touchpad to its destination, then click and let go with three fingers to end it? Not quite.. on macOS, you can enable three-finger drag which means that when you touch down with 3 fingers and drag them on the trackpad, it's the equivalent of clicking-and-dragging with a mouse. There's no laborious use three fingers then one then three again. Just like swiping with 2 fingers does scrolling, using 3 fingers just grabs whatever's under the cursor and moves it (whether that's a window, or starts selecting text, moves a scrollbar, anything).
- lapinot 5y agoA while since i used macos but isn't this the same action as taping then drag (eg down/up/down/drag/up)?
- pph 5y agoAfter a quick glimpse it seems this only supports simple actions upon registering a gesture, however it should be possible to extend for that use-case. To abstract it a bit: You would need to 1. Trigger an event on the gesture start (detect 3 fingers -> hold alt, mousedown) 2. Have mouse movement enabled 3. Trigger another event on gesture end (lift fingers -> mouseup, lift alt).
- ComputerGuru 5y agoYou’re correct, but in all honestly the devil is in the details. The difficulty here being in determine if a three-finger gesture has started or if it’s actually a three-finger gesture on its way into becoming a four-finger gesture - the sort of issue that plagues first input delay on mobile devices because it’s not clear if a tap is a “tap to scroll” or “tap going to become a pinch to zoom.” The solution is simple but somewhat ugly, just like on Android and iOS: set a maximum time limit (up to 250ms) before going with the number of fingers detected. Also, I’m not sure if macOS is distinguishing between tap and click? The online documentation says it’s with force click enabled.
- throwaway287391 5y agoWhoa, TIL. This feature seems to be hidden away in MacOS under Accessibility settings -- it's not available in the regular trackpad gestures settings menu. So for some reason Apple seems to not want to show it very prominently. But I just enabled it and at least initially it seems really useful, so I wonder why.
- brirec 5y agoI never liked the setting myself, but I'm glad to see it's still there. It used to be in the top level Trackpad preference pane
- mmmpop 5y agoThis is my first time hearing about this too. I cannot believe I hadn't heard of this; it's amazing.
- jtbayly 5y agoHelp me understand what I'm missing. It sounds like what I do with one finger and my thumb. I move the cursor over what I want to move, then click with my thumb and keep it pressed down. That initiates the drag. Meanwhile I can use my pointer finger to move the cursor wherever I want, dragging the whole time. Once I've moved the cursor to where I want, I remove my pointer finger so it stops moving and then release my thumb to drop. Is it another way to do the same thing? Why would I use three fingers instead of just using a normal mouse click with my thumb?
- vladvasiliu 5y agoBecause you don't have to click, and you can drag over a longer distance. With your approach, you are limited by how much you can pivot your wrist around your fixed thumb. I personally don't like this and very much prefer the "tap-hold with a small delay" for my dragging needs. I'm very happy to see this has been implemented on Linux, too.
- 5y ago
- ComputerGuru 5y agoThat seems.. harder to use than what I described because being precise with three fingers (eg precise enough to drag to the correct row in detail view) isn’t easy. Also gesture accuracy decreases as the number of tools (read: fingers) goes up. In all cases, that is easier to implement in code than a stateful transition like I described since there is no state persisting beyond the gesture itself, it just needs gesture_start and gesture_end support (with the difficulty being in determine if a three-finger gesture has started or if it’s actually a three-finger gesture on its way into becoming a four-finger gesture).
- frostwarrior 5y agoYou get used to it. And there are techniques, like, when you need to be more accurate, instead of moving the three fingers, you move two of three or one of three, so the average position calculated by the trackpad still moves in the direction you intend, but slower and more accurately than moving the entire hand.
- mikewhy 5y agoIt may hurt accuracy, but there's a lot of times using a mouse where you don't need to be accurate. I've been using 3-finger-drag since it's introduction and can't go back.
- tambourine_man 5y agoI picked up the habit when a “real button” (before the full glass surface Taptic Engine) broke. I now find it less of an effort not having to press down to register a click. 3-finger-drag now makes for a more relaxed, less RSI prone experience for me.
- Toutouxc 5y ago> That seems.. harder to use than what I described because being precise with three fingers (eg precise enough to drag to the correct row in detail view) isn’t easy. On macOS the accuracy is pretty much the same as with a single finger. As in with a single finger you reliably point to a single pixel and with three fingers you can reliably point to a 2x2 area, even with them spread far apart. (Not trying to dismiss anyone's effort, just pointing out that Mac trackpads set the bar really high.)