Why does this seem like such a hard problem to solve for everyone that isn’t Apple, when Apple seemingly solved the Trackpad over a decade ago?
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.
It isn't... You can see this in an open source JavaScript implementation of kinetic scrolling by Apple called PastryKit[3] using a magic number momentum * 0.9.
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.
Worth mentioning that before libinput, the synapse driver handled kinetic scroll very well IMO, but AIU the developers removed the device-specific coefficients and other parameters because they said it couldn't be tested and became a mess or something. I remember looking at my Linux (Wayland, gnome3) notebook in anticipation of physical pain, at which point I switched to Mac OS permanently. To this date, I still don't understand why Linux desktop developers had to throw everything away and valued their grand refactorings more than a working desktop, especially when absolutely no new desktop apps are being developed anyway, but I guess that's what you get with a "hobby" (= developer motivation rather than demand driven) OS after all.
> 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.
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?
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.
This explains a lot. Thanks so much! This is a rabbit hole I didn’t want to go in a few years back.
Some people would say they had issues, others didn’t. Would’ve taken me a lot of time to figure out that we all may be talking about different DEs, apps, etc.
It is an interesting thing to think about, I have friends that use Windows that are shocked that I willingly chose to get an external trackpad when I use my Mac as desktop.
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.
> 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.
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)
>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
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.
My work laptop is a macbook and I have been using it for over 5 years, but I still can't get a handle on it, even for a right click. I am not sure how people find MacOS so good. It just constantly goes against my intution and muscle memory.
I also hate how I have to constantly turn of the mouse acceleration at random times using CLI.
If I'll ever use a desktop again I also want an external touchpad and I want to place it in front of the keyboard like on a laptop. But you wrote trackpad. It's it the one with the ball? Probably not because you also wrote about multitouch. So, which trackpad do you use?
I got an external trackpad recently too for my Mac, but it feels noticeably less responsive than the one built into my MacBook, even when connected with a USB cable.
> It has to be a combination of software and hardware. Likely shared software and hardware.
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.
> It is an interesting thing to think about, I have friends that use Windows that are shocked that I willingly chose to get an external trackpad when I use my Mac as desktop.
I think the reason is that "a good trackpad" as well as "a good keyboard" is not something that can be measured. Let's say that the cost of a good trackpad is equivalent to the cost of, let's say, 16 more Gb of RAM. Does the user given the same price choose to by the laptop with written on the box "32Gb of RAM" or the one that says 16? The first, because 32 is better than 16!
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?
> I think the reason is that "a good trackpad" as well as "a good keyboard" is not something that can be measured.
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.
It is NOT a hardware issue. I used Hackintosh on my T460s and the macOS experience was nearly as good as on a MacBook Pro (hardly noticable difference). Switching back to Linux / Windows was the usual "meh" experience.
I'm pretty sure there's some bias present due to adaption. I'm very much used to some non-MB touchpad, and whenever I use a MB it feels worse (too slow and mushy). I feel similar pain even when switching operating systems on the same laptop, which almost certainly has to do with muscle memory. In that sense "getting it right" for Apple users would mean other manufacturers would need to exactly copy Apple's behavior, and probably make other users unhappy.
I hated the trackpads I used before buying a macbook, and one of those was a high-end XPS, the best I've seen on Windows. The mac ones are definitely an improvement. Both hardware and software feel better.
I've been reading this kind of opinion for years, but I have always found the touchpad to be annoyingly slow under macOS.
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.
I think I'll have to watch one of these people who love the Mac touchpad work. We are clearly not working the same way. Even with max speed and acceleration my MacBook air m2 touchpad feel anemic, and cumbersome for selecting text.
Fwiw I also have an apple mouse, and the touch based scroll feels unpredictable, and the mouse a bit slow too.
> MacBooks are basically the only laptops with a large enough touchpad to be comfortable
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).
Likewise. There's something about MacOS's touchpad handling that makes it impossible to get it to feel good for me. The default Gnome settings on a Mac touchpad feel perfect.
I also priorise input devices and because of that I would never get a laptop without a track point. Track pads (no matter which ones) are just such a poor choice of pointing device on a laptop, requiring one to essentially move the hand away from the keyboard. Unfortunately I'm pretty much locked into thinkpads now because all other track pointers are pretty crap. The again I can't really complain thinkpads are quite excellent compared to most other laptops.
Just goes to show that people can prioritise but come to very different conclusions
There's a categorical difference between preferring one sort of input over another, and there being only one acceptable implementation of that category. As you indicated, if the keyboard cough nub, let's call it a nub, is your mouse pusher of choice, you pretty much own a ThinkPad, because the other ones suck.
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.
My first laptop was a Thinkpad and I used the trackpoint exclusively, because the trackpad was so small and awful (this was around 2001). At the time I said something similar, that the trackpoint is the best. Years later, probably around 2007 I got my first MacBook Pro and the trackpad was great. Many years after that got I got work laptop with a trackpoint on it and had a really problem getting used to it again... the trackpad was also bad, so I just used a mouse all the time.
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.
Trackpoints IMHO suck hard, simply because you need a lot of fine motor control to precisely operate them, the texture is bad, and a single "purring cat on closed lid" event can be enough to permanently stain the screen.
That “ROI” comment stood out. Companies should focus on making quality products without tying everything to ROI. The state of some software on Linux is just embarrassing. No attention to detail. Oh and I’ve been using Linux since I installed Slackware via floppy disks.
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.
> Companies should focus on making quality products without tying everything to ROI.
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.
Generally Apple is only expected to make their own touchpads work well. So it's fewer devices to develop/test, the OS folks can talk to the hardware devs, see their designs and firware and even get to influence hardware decisions. Perhaps Apple puts in work for a handful of the top touchpad brands, but they also are incentivised to work with Apple.
Compare to linux, where they have zero influence over any of the hardware involved, and are expected to support every single hardware combo possible.
It's not a problem for Linux distributions that jettison all the GNU beliefs. ChromeOS has had perfect multitouch input with gestures for years. They ship opaque binaries from Synaptics or whomever and forget about the politics.
It's a little more than that, they then added subpixel and momentum scrolling support to Chrome that bypasses X11 and does something custom [1]. Integration problems like this one that require a bunch of coordination are harder to do in open source land.
Synaptics touchpads on Linux used to support these features with a FLOSS driver, but this was abandoned when Linux distributions adopted libinput instead. https://wiki.archlinux.org/title/Touchpad_Synaptics Note the amount of config options available.
i'm going to be honest, maybe i'm just not particularly sensitive to poor input devices, but there have only been 2 trackpads i've used that actually felt bad, the vast majority are just... not noticeable to me? like i just use them and everything just feels fine. the only exceptions were a crappy old chromebook i had back in about 2016 and my current HP probook, itself a few years old now. i have heard very good things about the macbook trackpads, but macOS just doesnt interest me overmuch so i haven't ever bothered purchasing a macbook. it is something i'm considering, however, at least getting a used M1 air, just to try so i can see what all the fuss is about. maybe i'll be converted :)
I'm the same way a trackpad is a trackpad. I actually find mac's more annoying because they are so big for some reason and i barely use like a quarter of the entire space of the dang thing but my palm will constantly accidentally trigger it because it's so huge. Why are they so big? drives me nuts.
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.
If the price difference between the M1 and M2 air is negligible for you, it would probably be best to go for the M2. The M1 uses the old Intel chassis. The M2 gets the new design which means a better screen, keyboard, speakers, webcam, MagSafe charging. It's well worth a little extra, even if you don't care about the spec bump. Lots of quality of life stuff.
Mac trackpads have been top notch as far back as I can remember, to the iBook G3. First one I actually owned was a derelict 2006 MacBook someone had thrown away in 2012, and it was still easier to use than the modern loaner Windows laptops at school.
And now with the modern Macs, I prefer the trackpad over a mouse even on a desk. Never would've thought it before.
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.
Didn't Microsoft try to do something with the Surface laptops? Did that pan out?
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
Yeah, Windows has gotten better in recent years with “Precision Touchpad” support. If you use an Apple Magic Trackpad on Windows (not supported but works on normal PCs, not just Boot Camp) Windows recognizes it as a Precision Touchpad.
I’d say—yes, very much so. Pointer movement is damn near perfect now on the Dell Precision I have at work. Clicking unfortunately not so much, but it’s mostly bearable.
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.
One thing that might make a difference is that for a long time now, Apple trackpads are actually touchscreens sans screen. They use the same multitouch hardware as iPhones and iPads, which of course are precise and responsive.
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.
In particular, Linux has been in the middle of a decade-long transition to a new display server that has split efforts for a while. The incumbant Xorg had a few attempts at Windows-style gesture libraries, but those were clunky and not at all like what you'd get on Mac (mostly). By the time quality solutions existed on x11, Wayland desktops were already shipping 1:1 gestures a-la Mac.
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.
> Why does this seem like such a hard problem to solve for everyone that isn’t Apple
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.
A decade? That's nothing. macOS had a compositor 22 years ago, and Wayland still isn't as good. A bunch of unpaid amateurs just isn't good at moving humanity forward. At least the Linux kernel has some truly paid contributors; the talent bar is higher there. Apple software is a grand architected cathedral; most open source software is accreted, like a stalagmite.
Bud, you have been shadowbanned for some reason. Pinging dang @dang, this doesn't seem fair. :/
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."
I feel exactly the same as you do. I switched to MacBooks in 2007 primarily because of how much better the trackpad was than the Windows and Linux laptops I had. Still using a MacBook, haven't looked back.
I’m also baffled by this, but Apple's trackpads have been really good for much more than a decade. I remember doing Bézier curves on a G3’s trackpad and PC people thought I was a wizard.
multiple layers of gatekeeping, both corporate and individual. It’s understated in the article but present: hard battle to get access to configuration. After that experience there’s uncertainty if the battle to change the default is worth the investors level of effort.
> Why does this seem like such a hard problem to solve for everyone that isn’t Apple, when Apple seemingly solved the Trackpad over a decade ago?
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)
Even the mousewheel experience is janky as hell on Windows, I don't spend nearly enough time in Linux Desktop to know if it's equally as shit, but seriously; how can something that should be simple behave so badly?
It has little to do with 'ROI' and much more with the way hardware gets made.
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.
Look and feel of MacOS is great but above all I value freedom, serviceability and extendability. Therefore for some long time I had a 16GB Mac at work (because as Tolkien or someone else wrote, one does not simply put additional RAM in a MacBook) and 24 GB old Linux laptop at home and guess on which one did I run my VMs faster?
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
Having more resources is required if you're going to dedicated a portion of those resources to VMs. More RAM, more CPU cores, more storage... if your VMs are constrained for resources because you don't have them, or the VMs leave the base OS constrained for resources, that's going to make things slow. If VMs are what you're doing 24 > 16, regardless of the OS running the hypervisor.
Apple has been perfecting its trackpad software since 1994, and it’s been getting better ever since. By contrast Apple keyboards have gotten worse since 1995 when it discontinued the Apple Extended Keyboard II. We don’t talk about Apple’s mice.
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 :)
wait, _THAT_ was the reason they removed the 7th row?? those m...
But jokes aside, I read it saving them money in manufacturing cost was the reason. Would have loved to be a fly on the wall around David Hill when he pushed for the t25 to get a 7row, my feeling is that it is what made him leave lenovo
I've connected an Apple Magic Trackpad (external bluetooth trackpad that sits on your desk) to an ubuntu machine and it's wonderful. There are still some software things to solve to get the acceleration perfect and things like scrolling working, but having trackpad hardware that isn't trash goes a really long way.
Well, that’s core Apple, isn’t it: „People who are really serious about software should make their own hardware“.
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.
I just got one of these with a Quadra 650 I bought. It's good but it's bugging the hell out of me that the bumps are on the d and k keys vs. the more modern f and j.
Eh, the multitouch magic mouse is pretty intuitive when you get used to it. Depending on what you do, it could be an excellent daily driver, but it does tend to have some limitations that can make it a non-starter...
I can’t right click on them. I guess you have to raise up your fingers from the left side? I just found that to be a dealbreaker. I’ve had to use them for work and I turn them into one-button mice with scrolling. The scrolling is excellent, I like low-profile mice, and I don’t mind the charger port location. But I need to right click!
I like the multitouch aspect, but I hate how tiny and flat it is for ergonomic reasons. It's also not comfortable to raise your fingers up and pull them back to draw on the surface of a mouse.
It's a surprisingly okay daily driver mouse if you actually don't use the mouse that much, like if you're writing code or staring at code most of the time. I daily drove it for 3 years despite the terrible ergonomics, because I consider macOS almost unusable without the gestures (horizontal scroll, zoom, mission control, swiping between fullscreen apps). A few weeks ago I snapped and got the Magic Trackpad instead, which is a bit pricey (that's why I delayed the purchase), but IMO lovely to use.
The first-gen butterfly keyboards were pretty atrocious (although still kind of usable). I actually like the chiclet-key keyboards that Apple sells nowadays.
I remember this project starting. Not one single thing has changed that affects me as a result and I use Linux everywhere, daily. As far as I can tell it's a lot of small, niche work, that is almost completely immaterial to average users.
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.
Right, I've looked before and happy to be corrected but none of that is the result of this project. In fact, the gestures present in GNOME, today, have been there since before the first blog post in this series.
Is this something like what Qt `QScrollerProperties::MaximumClickThroughVelocity` controls? It's not exactly an event, but a click-through would stop the scroll immediately.
I welcome any and all improvements to touchpads on Linux and Windows systems. Switching from my personal MacBook to my work ThinkPad is like traveling back in time in terms of usability.
I always thought it was strange that people went through the inconveniences of plugging a mouse into their laptop when there was a trackpad right there until I had to use a Windows system and saw just how bad it was.
I have an Apple Magic Trackpad, which I use with my laptop and external monitor. There is no way I'm going to suffer the ergonomic hell that is a laptop for a second longer than I absolutely have to. It's great to be able to take your laptop with you, but it's not a device suited for hours of use.
It's also illegal to work on a laptop, without external peripherals and monitor, so you need a pointing device anyway.
I just want the integrated touchpad of my Dell Latitude 9330 to work decently. The libinput driver is just crap with this model, to the point that I have to connect an Apple Magic Trackpad, and that works great. Synaptic driver works better for the internal one, but apparently it is old and deprecated and everybody writes that we should not be using that.
Was the Thinkpad running Windows? I find Linux (Debian distro running Wayland) on Thinkpads to be exceptionally good -- on par with (and in fact I would dare say better than) MacOS on Mac hardware.
I'm confused what this is trying to achieve. In my four years of Linux usage, I have had no complaints about the touchpad[0].
[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.
Same here. ThinkPad user for years, never had any issues. Whenever I help a friend with a MacBook I often feel like I cannot control the touchpad and so I ask the friend to do the clicking. I think the whole story here is people moving from Apple to Linux and wanting things to feel exactly the same.
Have you lived with a Macbook for a while? People who do generally feel pain when using any other trackpad afterwards. They are just much better. Feel more responsive. It becomes second nature and ingrained in your nerve pathways. Other trackpads feel wrong after getting used to a Macbook trackpad. They accelerate wrong.
As someone who has had multiple vendors with Ubuntu and Fedora installed, and having a work macbook, I can tell you the trackpad experience is much better on Apple. To me, it's the same user experience as going from a 60 hz screen to a 120 hz screen smoother animation, more immediate response, and better " intuitive " acceleration.
I find this project really confusing, as well. I'm sure sure this project is doing some good work, but I'd love if they take the time to catch us up a little bit, or maybe tweak their name to better reflect what it is they're actually doing. Like, for a modern Linux desktop on well supported modern hardware, what is this affecting?
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.
The main thing I think is missing is universal support for kinetic/inertial scrolling, where you can fling your fingers on the touchpad and it keeps going after you stop. It seems to work with GTK but not Qt
I would find that incredibly annoying for touchpad inputs. Sure, I can understand kinetic input for touchscreens, but touchpads should be precision inputs, not the sort of thing where accidentally bumping two fingers on the touchpad sends you two pages down.
It doesn't have to. That's why there are usually various thresholds when dealing with input devices. Like dead zones in controllers. Ideally you should both have inertial scrolling when you intend it and precise scrolling when you don't.
I am suffering that ever since I switched to wayland and the newer GTK version that supports it.
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!
It's hard to guarantee a consistent experience given the large variation of hardware out there. Apple has the advantage of vertical integration, allowing them to optimally tune their drivers for a single device.
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).
Deleted Comment
Dead Comment
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.
1. https://github.com/dnschneid/crouton/issues/244
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."
Dead Comment
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)
Deleted Comment
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.
I’d buy one if they did though.
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!