Remix.run Logo
sandreas 3 days ago

I did a lot of research regarding the trackpad situation on modern Linux and there are several reasons the macOS experience feels better for most people.

The most important one is indeed SOFTWARE/DRIVER implementation. Using a hackintosh, the feeling is not the same as a MacBook, but close (depending on which Hardware is used). Furthermore there is ONE UI framework (AppKit?!) which makes implementing things like inertial scolling and rubberbanding pretty easy in one Place. On Linux you have multiple App Frameworks (GTK, QT, ...), which is significantly harder to coordinate and the backwards compatible X11 stuff. Did you know that libinput has only one permanent maintainer (Peter Hutterer)?

Of course the amount of Hardware to support is significantly lower on apples side, which makes optimization easier.

Still, all in all I think the Linux touchpad experience is very close to macOS on my Lenovo T480s with a glass touchpad from a yoga 7 in Arch / GNOME. The only thing that really is not as good and what bothers me From time to time is Palm detection.

Retr0id 3 days ago | parent [-]

I use Fedora+Gnome on a 2021 MBP and the hardware+firmware+driver+software combination is perfect as far as I'm concerned.

sandreas 3 days ago | parent [-]

How does the Palm-Detection work? To test this, you can do the following: Place your palm where the X-es are, then try to scroll with two fingers or move your mouse. I don't like that the mouse does not react anymore if the palm is placed there - it should just be ignored.

  ┌─────────────────────────┐
  │XXX                      │
  │XX                       │
  │X                        │
  │                         │
  │                         │
  │                         │
  │                         │
  │                         │
  └─────────────────────────┘
ToDougie 2 days ago | parent | next [-]

My Dell Precision laptop running Win11 handles this perfectly. Wish I had tried this sooner :P

Retr0id 3 days ago | parent | prev [-]

I performed your test and mouse movement and two-finger scrolling still works if my palm is there. Even 3-finger window switching gestures. My palm is effectively ignored.

sandreas 2 days ago | parent | next [-]

So this would mean that either my configuration is bad or it might be a hardware limitation. So if you don't mind I would love to see your

  gsettings list-recursively | grep 'peripherals\.touchpad'                                                                                               
Here is mine (before you ask, disable-while-typing=false does not fix my problem) :

  org.gnome.desktop.peripherals.touchpad accel-profile 'default'
  org.gnome.desktop.peripherals.touchpad click-method 'fingers'
  org.gnome.desktop.peripherals.touchpad disable-while-typing true
  org.gnome.desktop.peripherals.touchpad edge-scrolling-enabled false
  org.gnome.desktop.peripherals.touchpad left-handed 'mouse'
  org.gnome.desktop.peripherals.touchpad middle-click-emulation false
  org.gnome.desktop.peripherals.touchpad natural-scroll true
  org.gnome.desktop.peripherals.touchpad send-events 'enabled'
  org.gnome.desktop.peripherals.touchpad speed -0.044999999999999998
  org.gnome.desktop.peripherals.touchpad tap-and-drag true
  org.gnome.desktop.peripherals.touchpad tap-and-drag-lock false
  org.gnome.desktop.peripherals.touchpad tap-button-map 'default'
  org.gnome.desktop.peripherals.touchpad tap-to-click true
  org.gnome.desktop.peripherals.touchpad two-finger-scrolling-enabled true
Retr0id 2 days ago | parent [-]

    org.gnome.desktop.peripherals.touchpad accel-profile 'default'
    org.gnome.desktop.peripherals.touchpad click-method 'fingers'
    org.gnome.desktop.peripherals.touchpad disable-while-typing false
    org.gnome.desktop.peripherals.touchpad edge-scrolling-enabled false
    org.gnome.desktop.peripherals.touchpad left-handed 'mouse'
    org.gnome.desktop.peripherals.touchpad middle-click-emulation false
    org.gnome.desktop.peripherals.touchpad natural-scroll true
    org.gnome.desktop.peripherals.touchpad send-events 'enabled'
    org.gnome.desktop.peripherals.touchpad speed 0.0
    org.gnome.desktop.peripherals.touchpad tap-and-drag true
    org.gnome.desktop.peripherals.touchpad tap-and-drag-lock false
    org.gnome.desktop.peripherals.touchpad tap-button-map 'default'
    org.gnome.desktop.peripherals.touchpad tap-to-click false
    org.gnome.desktop.peripherals.touchpad two-finger-scrolling-enabled true
I have a feeling the magic here is happening in apple firmware, rather than driver or software.
sandreas 2 days ago | parent [-]

> I have a feeling the magic here is happening in apple firmware, rather than driver or software.

Either the

  disable-while-typing false
(which is the only difference besides speed) or as you said the firmware / hardware. Thank you very much.
philjohn 2 days ago | parent | prev | next [-]

OK, now move your palm over half, and then over 3 quarters of the trackpad. Two fingers to scroll still works.

2 days ago | parent | prev [-]
[deleted]