Is this it? An unknown ROI?
>the highly uncertain ROI for trying to align touchpad acceleration has prevented us from proposing a system change to the default Linux settings.
I can only speak for myself, but I gave up using trackpads on anything that isn’t a MacBook many years ago. Very occasionally I’ll try them and have always been disappointed. This prevents me from buying any laptop that isn’t a Mac and prevents me from running any OS that isn’t macOS on a laptop. I can’t be the only person who prioritizes the quality and feel of input devices when choosing a system. If this can make or break sales and adoption, it seems like the ROI would be pretty good. Even if we are just talking about Java app, if I’m using an obviously Java app that feels like a clunky Java app, I’ll usually find an alternative app that doesn’t feel horrible to use.
I’m glad progress is being made, but I struggle to understand why it’s still a problem at all when it’s been so good for so long with Apple. They even sell Bluetooth trackpads for desktops it’s so good.
The problem is, that on modern Linux environments, there is no clear responsibility for where scroll handling code belongs. Especially Kinetic / Inertial scrolling is handled way different than in macOS.
There is libinput (for handling and redirecting input events)
There is the display server
There is the compositor
There is the window manager
There is the app layer (every App, like Firefox, Gimp,
Currently kinetic scrolling is implemented on the App layer, every app has to handle the scrolling events manually to provide kinetic scrolling. This is not the case in macOS... the kinetic scrolling / rubber banding is handled within the OS.
In my opinion, the scrolling code could belong into the compositor, so that not every app developer has to write code to handle the scrolling, but still prevent unwanted effects like kinetic scrolling transfer between windows. Additionally, the kinetic scrolling approach is not configurable in Gnome... some touchpads / screens are scrolling way to fast, some are too slow...
I filed an issue[1] on cosmic in hope they'll get it right, but I don't have too high hopes that this is of much interest. On Fedora it works ok-ish with a little hack[2] called libinput-config.
[1]: https://github.com/pop-os/cosmic-epoch/issues/204
[2]: https://gitlab.com/warningnonpotablewater/libinput-config.gi...
[3]: https://stackoverflow.com/questions/38619717/need-help-disse...
That's insane but you're right. Firefox on Ubuntu had awful trackpad scrolling 10 years ago and it's still bad. How do you make an OS where the main pointing device on half of the market sucks and assign that low priority?
> There is the compositor
> There is the window manager
What kind of Schrodinger Way11 world is that? X11 has display server and window manager (and window manager doesn't deal with mouse movement), and Wayland has a compositor.
Even more interesting is when I see my partner try to do something on my Mac using a trackpad, he seems... apprehensive? Like he is so afraid of doing the wrong thing and for me this trackpad has never done something I didn't want it to do. Like without even thinking about it while I was re-reading this comment, I had fingers just resting on my trackpad.
It has to be a combination of software and hardware. Likely shared software and hardware.
Like is wrist detection on the trackpad the same as the wrist detection on an iPad?
I believe that the 3D Touch tech that was once in the iPhone is the same tech that is in the track pad and the Apple Watch.
We saw them use the same (or similar) tech on the iPhone home button when they removed the physical button.
Is the multitouch functionality of the trackpad the same technology as in iPhones and iPads?
I am genuinely curious about some of these because they feel like the same technology from the outside looking in and it would explain a lot about why it works as well as it does.
And yeah on the ROI, I mean they sell a $130 external trackpad... that I had zero qualms about buying. Because when using my MacBook Pro as a laptop I heavily rely on gestures. Those gestures only work if the trackpad is as perfect as it can be. But those gestures is also software.
I think I'll never "get" drag&drop on MacBook touchpads. Every time I try to do it, I accidentally open the file info, or the touchpad is too small to actually reach the place where I want to drop the file to. It is absolutely doing things I don't want it to do. I absolutely dread having to use the touchpad. (that applies to other laptops too, though)
3D touch was only in the iphones for a few years, it was too expensive so they cut it in favor of the haptic touch they have now. The macbook trackpad is nice but honestly I prefer the old 2012 one they had with the actual physical button you could tweak the pressure of with a screwdriver. It seems a lot more ergonomic to have some actual give in the device instead of just jamming your finger onto an unmoving slab of glass. You don't even realize how hard it is you are pressing onto these things until you try testing your muscle memory with the computer off; its sort of alarming.
I also hate how I have to constantly turn of the mouse acceleration at random times using CLI.
You need decent hardware to be sure, but Asashi Linux on Macbooks is a horrific experience, unless you plug in a mouse. It seems like it is mostly software.
I use an external Apple Magic trackpad on a Windows desktop. It's a good and smooth experience.
external mouse is much more fun to use
Apple is different because they have a product that is not comparable to other PCs, or they want you to believe that, thus they can put the price tag they want on it. Want they spend 100$ on a trackpad, they can, but a PC manufacturer can't.
Beside that, I think also the reason why PC manufacturer didn't invest on them is that most PC have Windows on them, and native multitouch trackpad gestures on Windows is rather a new thing (even on Linux, by the way, it started being supported as smoothly as macOS only with Wayland). Thus why have an hardware that supports something than in the end the OS that most people is using doesn't support?
While I agree that these metrics can be subjective at times, I believe there are some fairly well-established features that dictate whether something is, objectively, a good product. In the case of a trackpad, gestures such as pinch to zoom are arguably an essential (for me at least), as well as stepless scrolling, configurable pointer acceleration configuration, and a reasonable size.
In the case of a keyboard, sure -- that's a whole other kettle of fish. I quite like the one on my Dell XPS, but I'm sure some others wouldn't.
However, I think you've downplayed how much a keyboard matters here: for me, it makes or breaks a laptop (or a USB keyboard, of course). When the laptop is on, I'm spending a good 70% of my time using the keyboard. Therefore, I would argue it is one of the most important things to get right.
I've come across good keyboards, bad ones, and ones that are just OK -- as an example, the more sponge-like ones on Logitech media keyboards do not make a good experience. In my experience, you have to try a keyboard to know whether you like it, but you can filter out plain terrible ones from other online reviewers' experiences.
Why can't they?
On the other hand, MacBooks are basically the only laptops with a large enough touchpad to be comfortable, I don't know if there's some other secret sauce Apple algorithm in the firmware that contributes to the experience, but to me the perfect combination is with a MacBook running Linux, which is what I've been using for about 12 years now.
Fwiw I also have an apple mouse, and the touch based scroll feels unpredictable, and the mouse a bit slow too.
This is surprisingly tough to google, but apparently at least some Apple laptop touchpads are 13cm wide, and my Framework 13" touchpad is 11.5x7.66cm (and making it any taller would increase the size of the whole chassis).
Just goes to show that people can prioritise but come to very different conclusions
If you like a trackpad, you have a Mac, for the same reason. I don't know if it's the hardware or the firmware, might be some of both, but no one else ships a laptop with an acceptable response curve.
I stick with the Apple ecosystem for a few reasons, but this is a big one. Even when I'm at the desktop with keyboard and trackball, I'll reach over to the laptop sometimes to pinch, or three-finger swipe, just because it's the easiest way to express my intention. The context switch from using the keyboard to using the mouse is a fairly complete one for me, which is to say I tend to spend long stretches doing one or the other. I don't place any value on staying on the home row while switching. I do place considerable value on proper pointer and scroll acceleration, reliable recognition of gestures, and input rejection when my palm or thumb happens to rest on the trackpad. Any non-Apple laptop trackpad I've tested completely fails one or all of these.
I think the trackpoint can be great, but more adaptation is required and most people aren't willing to go through it.
My dad also ended up with some sort of tendon injury that he attributed to the using the trackpoint on his laptop all day, every day, which I've never experienced, but it has always been in the back of my mind.
I have an external Apple touchpad and I got the Boot Camp drivers for it working on my gaming PC. I keep it to the left of my keyboard with my mouse on my right to alternate hands for RSI reasons and because even Windows has a lot of features that work best via trackpad gestures.
Unfortunately the companies prone to do that are the ones that go out of business. When you get the huge resources like the tech giants you have that luxury, but as a startup you don't.
Compare to linux, where they have zero influence over any of the hardware involved, and are expected to support every single hardware combo possible.
I also don't use any gestures. I hate moving my hand down to the trackpad at all if i can avoid it and the entire OS seems built around you using the dumb gestures.
And now with the modern Macs, I prefer the trackpad over a mouse even on a desk. Never would've thought it before.
Here's one https://en.wikipedia.org/wiki/FingerWorks
I remember another one for the iPod interface but don't want to put that much research into it.
I think it comes down to patents and getting a bunch of small things just right... which you can do if you're Apple and you own the full stack, but is much more difficult supporting all the rest of random hardware.
But yes, it's mindboggling how bad trackpads are on PCs. I've had corporate Lenovo T-series, X1 Carbon, and Yoga for more than a decade, and while things have gotten slightly better I still need an external mouse
I may need to travel a lot by bus to my new job, and I'm now actually considering a Mac again even though Excel/PowerPoint is horrible due to missing hotkeys
Selecting text is a pain in the ass on mac as the cursor moves when you release the press on the touchpad.
No issue on thinkoads as you just use the separate physical left mouse button.
Also, at 15×9 cm, it has over 5 times the area of the teensy trackpad on my old ThinkPad R61, which is just 5.5×4.8 cm.
I would guess that these are probably a bit more expensive than your run of the mill trackpad from e.g. Synaptics that ends up in the typical laptop.
So basically, two separate philosophies took two roundabout paths to suit both their needs. It took some doing, but booting up KDE or GNOME in Wayland should "just work" with good trackpad gestures. Both desktops did a good job integrating it, IMO.
> They even sell Bluetooth trackpads for desktops it’s so good.
I use one! When they make one with USB-C charging I'll start recommending it to others again. =)
Pretty much everything besides Force Touch works, too. Multitouch gestures where you rotate or pinch your fingers, Bluetooth connectivity, it's all perfectly usable. The cherry on top is that KDE even has a little mouse-acceleration switch right in the Trackpad settings, no terminal commands required. I'd actually say the trackpad experience on modern Linux is great.
One factor is that many customers don't demand this kind of refinement, and of those who do many of them already use Macs.
Another is that it's not primarily a technical problem, but an organizational one. These kinds of interface refinements require coordinating across hardware, drivers, OS, toolkit, and applications. It would be hard for any one person to own that problem in Open Source Software.
Patents?
Bud's comment: "Over 20 years ago, actually. The glass trackpads Apple made in 2002 were essentially identical to today's, albeit quite a bit smaller."
The circle of enshittification, plain and simple.
Windows itself is the worst culprit, given that it took until (IIRC!) Windows 10 to arrive at a sensible gesture API and before that it was a hit-and-miss involving custom drivers for every model and barely any unification for gestures.
That in turn led to software for Windows never even utilizing the benefit of multitouch, and so in turn hardware manufacturers weren't pushed either because why invest effort when it's useless anyway?
On top of that, hardware build quality sucks on everything Windows. It's almost exclusively really small (i.e. half a cigarette pack) touchpads, recessed 2mm or more into the hardware, and full plastic that stains after less than half a year of moderate usage. In contrast, MacBooks ship with touchpads literally larger than the hands of someone who has worked in construction, and they're made out of glass that is nearly flush with the casing, so no dirt or anything even has a chance of accumulating.
(I don't even care about Linux at that point, where the hot mess of display drivers, window managers, UI frameworks and whatnot makes the complexity of "getting it right" even worse)
Touchpad, touch screens and input devices are actually VERY difficult to get all the details right because you're dealing with material properties, differences that show up in manufacturing and even the geometry of the end user (small hands, big hands, wet hands, etc) among other factors.
Apple takes on the responsibility of their internal hardware (SoCs, all embedded boards, materials) AND software (embedded, OS, drivers, etc). They have a culture of caring about details and do a tremendous amount of R&D on these related details, at the design and manufacturing level, before releasing their product.
In contrast, almost all PCs are made by "integrators" (i.e. Dell, HP, Lenovo, etc) who take mostly off-the-shelf or semi-customized components, "integrate them" (I use it in quotes because often, as we know, products will ship with broken ACPI, EFI, broken drivers, etc) and put it out there. The drivers usually come from a hardware vendor who has little incentive to get "details" right, they will be lightly modified and then the OEM will shoehorn that into a semi-customized OS image and the device ships.
Further, traditional vendors like HP or Dell are under pressure to keep churning out "the next" iteration of their HW, so they don't really go back and improve drivers or firmware unless they are forced to.
On the Linux, FreeBSD and open-source side, you have an army of dedicated volunteers who often take highly sub-par or questionable hardware and work (often in the dark, or through reverse engineering) to make things reliable and add polish. The fact that things work "as well as they do" under modern Linux or *BSD is a miracle and mostly the result of individuals who care. There might be a few individuals at an OEM who care, but by and large the culture is not "we should make the most amazing product and provide documentation and support to the open-source community" and more "if they can get it figured out, good for them".
A more practical detail is the fact most touchpad ICs are made by Alps or Synaptics. And these devices include things like 'palm rejection' and other advanced features that haven't been enabled until somewhat recently because the IC vendor might not have shared the details with the people working on the open-source drivers.
You see nearly the same pattern with Android phones, how long before the next phone gets pushed out? Did they really fix the weird bugs that caused the previous phone to overheat, or the celluar link to drop calls unexpectedly? Fix the fact the satellite GPS doesn't work 1 out of 8 times?
Apple isn't perfect by any means, in fact I find the most current versions of macOS to be VERY user hostile but sadly most OEMs superficially copy Apple (i.e. moving to only ONE or TWO USB-C ports on a modern laptop) and miss the key point of making hardware & software actually working well together and openly supporting something other than Windows.
On the other hand Linux is still very unstable and uncomfortable. My Linux Mint Cinnamon was behaving unstable in prosaic cases, like entering PIN into my built in Wireless WAN.
I would love to see MacBook open for extension and interoperability
The TouchPads from Apple are good. Their keyboards are bad. There are two important I/O devices in a laptop, the keyboard and the display. The keyboards from ThinkPads are near perfect and don’t fall apart. Lenovo decided to remove the 7th row to acquire more space for the TouchPad. Which is a design mistake because TouchPads don’t get better by becoming just bigger.
I never use the TouchPad in my ThinkPad. I mean it is there and works nice. Libinput improved a lot. But there is a TrackPoint in the keyboard. Never leave the home row. That is where HJKL is :)
A handful of stupid mice and trashcan Macs don’t negate the fact that for a significant number of solutions, Apple nailed vertical integration of software and hardware, and the math plays out wonderfully in terms of User Experience; for these devices, 1 plus 1 equals 11.
Meanwhile there's no stop scroll events across the ecosystem. The single biggest win that Linux touchpad needs is stop scroll events.
I'll bite my tongue on passing more judgement on how this effort has been portrayed over the past few years.
It's also illegal to work on a laptop, without external peripherals and monitor, so you need a pointing device anyway.
[0] Other than the issue where sometimes my touchpad requires an extra finger touch to work after resuming from suspend, but I have a hunch that is a hardware/firmware issue. In fact, I seem to recall that happening on a Windows machine once.
I have had a work MPB for years and while the touchpad is nice I just use the other touchpads with no problems.
Then again as I like bigger displays I use an external keyboard and mouse when not traveling.
From my perspective as someone who is rather picky about pixel perfect scrolling and animations, and happily using GNOME 45 with a Magic Touchpad, a Logitech mouse, and a Thinkpad touchpad, and finding nothing particularly amiss with any of those[0] … I'm, um, lost.
Is this all about backporting things to X11? I'm unfamiliar with how touchpads are over there nowadays. (Frankly that sounds like a waste of time to me, but if it still makes people happy, that's cool). Or has this project been actively contributing to exactly those things I'm using, and I just didn't realize?
[0] The Magic Touchpad is definitely a better experience than the Thinkpad one, but they both support multi-finger gestures, and Gtk apps correctly do pixel-perfect scrolling with kinetics and all that jazz. Could maybe do a better job doing the right thing when I lift my finger after scrolling at low speeds. If I used more apps with different toolkits, I know I'd be annoyed by the differences in behaviour between them, so there's definitely something missing there. Happily, since somewhat recently, pretty much every app I use supportsGtk 4 apps all support pixel-perfect scrolling with smooth scroll wheels, too, which is pretty cool.
Turns out, in classic GNOME fashion, there's no setting to disable inertia scroll.
And I hate it. I hate it. I hate it.
It is the same problem with smooth scroll, or as I call it "laggy scroll", which forces me to watch an animation, when I made it clear (by scrolling) that I want to be seeing the scroll destination already. That's why I scrolled in the first place!
That habit seems to be fading out, so I guess the touchpads have also been improving for windows users recently.
How does it work? For most engineers, working on some complex task with this kind of scattered schedule means a need to spend the significant time on restoring the context.
I think this is a much higher priority... Honestly, this is the only thing that bothers me about Linux. I need to keep my machine suspended between use sessions, which is a waste of the planet's resources. Imagine that multiplied by the dozens (maybe 100's?) of thousands of engineers doing the same?
The desire for hibernation seems to be constant and widespread though. Honest question, what do you expect from hibernation that you don't get from standby?
So hibernation was by far the best option to maintain a long-running desktop session. But these days standby mode consumes so little energy that hibernation is no longer needed in my honest opinion. Still the mindset remains.
It's supposed to be like "buttery smooth" scrolling on a smartphone. Whatever is on the screen should move with your fingers, with pixel accuracy and low delay, so it feels like you're dragging something around with your fingers.
When you let go, it might continue to scroll, as if you flicked the object with your fingers. This is called inertial scrolling. At the limits, it should show your attempt to scroll beyond the limits somehow. Apple and Android do this differently for patent reasons.
Of course with a touchpad the image isn't underneath your fingers like with a smartphone. So the scrolling amount doesn't have to be the same physical length as your finger movement. It's scaled, but it should feel similar to smartphone scrolling.
There's no arrow.
Privately I am using a lot of Chromebooks and it is good in my opinion, but I was never wowed by Apple implementation so maybe I am not a good person to ask.
Eclipse doesn't use AWT, but rather uses SWT, a completely separate toolkit/API. That said, it's still great to hear that this is being improved.
Particularly spreadsheets with tall cells can be almost impossible to scroll with a mouse because mouse scrolling is on lines and you need half lines to comfortably view what’s at the bottom of a tall cell. But use the track pad and it’s fine.
Wayland, XServer, Firefox, Gtk and QT patches were merged in 2021 already: https://bill.harding.blog/2021/06/06/linux-touchpad-like-mac...
But while running a current Debian unstable with Mate desktop, I don't know in which applications I could test the gestures, neither do I know which gestures are supported
My only gripe is that you can't control the scroll speed. Especially in Firefox it feels way to fast. There are config options for that, but they also apply to a mouse scrollwheel, which in turn will feel too slow.
I guess the lack of this setting on the OS level is caused by the ongoing discussion what the "correct" place for advanced touchpad settings would be (application/compositor/libinput), which has been mentioned in multiple comments here.
I'm using this all the time on non-Mac platforms. Once you get used to this, it's hard to get back.
But I'm still waiting that such a feature gets more built into the core, e.g. libinput or so.
Apple may have great trackpad hardware, but all the software smoothing/acceleration/inertia is infuriating when trying to make precise cursor movements.
I find myself constantly overcorrecting. These fractions of a second wasted add up in a day while trying to work. It's exhausting. Windows is even worse and I don't believe it's possible to completely get rid of the acceleration.
All these skeuomorphic attempts to apply physics to the UI are misguided. Why not bring back those old ugly icons and the wasted screen space too?
I'm into "Linux touchpad with more tweakable and accessible parameters," or "Linux touchpad with better gesture support," but described like this, it's the type of thing I would ignore or not even hear about until it was an abandoned/dead project. I simply wouldn't realize that it's something useful for me to support. I exclusively use touchpads and Linux desktops, and while I've been frustrated at not being able to get the touchpad to feel like I would ideally want, if it felt like a Mac touchpad I would hate it.
A bunch of parameters that you can tweak to imitate MacBooks? Yes, please. A switch to turn your touchpad into a Mac touchpad? Who cares other than people who are only forced to use Linux for development on the job because their preferred Mac is too nerfed to allow them to allow them to get their work done?
As a larger statement, it seems that the strain of "What will make Linux catch on is making it more like Macs" has largely died off, largely because the people who want Macs buy Macs. It's a tactic as likely to be as successful as the "making Firefox indistinguishable from Chrome will make Chrome users switch to Firefox" pretense, and gets as much development support as the "making GIMP exactly like Photoshop" projects. The Firefox thing wouldn't have happened if they weren't completely funded by Google, and people who like Photoshop prefer Photoshop and aren't going to work on GIMP.
Linux Touchpad like MacBook Update: 2022 progress and new poll - https://news.ycombinator.com/item?id=34300973 - Jan 2023 (59 comments)
Linux Touchpad Like MacBook Update: Touchpad Gestures Now Shipping - https://news.ycombinator.com/item?id=29555822 - Dec 2021 (419 comments)
Linux Touchpad like MacBook: Touchpad gestures land to Qt, Gimp and X server - https://news.ycombinator.com/item?id=27414160 - June 2021 (3 comments)
Linux touchpad like a Mac update: Firefox gesture support live in nightly - https://news.ycombinator.com/item?id=26102894 - Feb 2021 (16 comments)
Q3 Linux touchpad update: Multitouch gesture test packages now ready - https://news.ycombinator.com/item?id=24700537 - Oct 2020 (136 comments)
Linux Touchpad Like a MacBook update: progress on multitouch - https://news.ycombinator.com/item?id=23615218 - June 2020 (127 comments)
Linux touchpad: preliminary project funding, survey results - https://news.ycombinator.com/item?id=23235609 - May 2020 (169 comments)
Linux touchpad like a MacBook Pro, May 2020 update - https://news.ycombinator.com/item?id=23080435 - May 2020 (324 comments)
Linux touchpad like a MacBook: April 2020 update - https://news.ycombinator.com/item?id=23039515 - May 2020 (155 comments)
Linux touchpad like a Macbook: progress and a call for help - https://news.ycombinator.com/item?id=19485178 - March 2019 (212 comments)
Linux touchpad like a Macbook: goal worth pursuing? - https://news.ycombinator.com/item?id=17547817 - July 2018 (336 comments)
Linux touchpad like a Macbook: goal worth pursuing? - https://news.ycombinator.com/item?id=16843720 - April 2018 (1 comment)
I used to be so efficient with touchpads with tactile left and right mouse buttons. Now my modern laptop is practically useless to me without an external mouse, which significantly reduces its flexibility. I have spent days fiddling with utilities in Linux to alter settings to a state where its barely tolerable if I absolutely must use it.
Right?
I don't think linux will overtake apple on the desktop (which actually includes notebook and laptops) but the current state has been good enough for a few years. And I'm not saying it is good enough only in terms of it being ready or well rounded, I mean in terms of marketshare. Linux has surpassed the 4% mark in globalstats last month and combined with chromeOS (with which it share many drivers) had peaks above 7% last year; it is very likely that the record will be broken this year. Of course, globalstats may be inaccurate, but I guess it is a good picture of the trends.
This has had an interesting consequence: it is no longer a good idea to ignore linux on the desktop; at least not for hardware vendors. It's been a long time since I last saw a consolidated laptop with anything not working out of the box. In the software side, linux is still ignored by some big name vendors, namely adobe, microsoft and game studios. That point is still sad.
Now, considering most developers software are multiplatform and, besides games, most entertainment runs on the browser, the last obstacle is still software. As linux' usage grows (and although very slow, it grows increasingly faster), vendors will eventually have to change their minds about linux on the desktop. Nevertherless I don't think that will happen before the end of this decade, also I don't think will see linux beating windows or even mac on the desktop. But, since I'm not dependent on any non-multiplatform software, I really don't care: the current situation (even in terms of marketshare and the way it has been continually improving) is good enough for me and has been for some years already.
I often see complaints that Linux on the Desktop is not enough like macOS/Windows, and I never understand: why use Linux then? I want Linux because of what it is now, not because I want a free macOS/Windows.