Bug 276708 - hms(4): slightly wrong 1 finger <-> 2 finger handling
Summary: hms(4): slightly wrong 1 finger <-> 2 finger handling
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 15.0-CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-29 12:40 UTC by Edward Tomasz Napierala
Modified: 2024-02-12 15:35 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Edward Tomasz Napierala freebsd_committer freebsd_triage 2024-01-29 12:40:30 UTC
The hms(4) driver works great for both one-finger cursor movement and two-finger scrolling, but there's a slight, yet annoying difference compared to Macbooks regarding what happens when the number of fingers changes.

On my FreeBSD laptop, when I scroll with two fingers and then lift one up, the scrolling stops, but the cursor doesn't start moving.  I need to lift my other finger up and then touch the touchpad again.

Correspondingly, when I'm moving the cursor with a single finger and then put the other finger down, the cursor stops moving, but scrolling never stops.  I need to take both fingers off the touchpad first.

It's a small difference, but can be quite annoying when you switch between laptops - and also somewhat hard to nail down.
Comment 1 Vladimir Kondratyev freebsd_committer freebsd_triage 2024-02-09 18:39:30 UTC
hms knows nothing of two-finger scrolling. It is a driver for mices. It transfers cursor movement, button actions and scroll wheels state.
I think that your touchpad is not supported by any driver in native mode and have to use relative mouse emulation mode with mapping of two-finger scrolling to scroll wheel rotation. In that case gestures are processed by touchpad firmware rather than by libinput and you can do nothing with them except writing of driver which utilizes native mode.
What model of touchpad do you use?
Comment 2 Edward Tomasz Napierala freebsd_committer freebsd_triage 2024-02-12 15:35:55 UTC
Hm, you're probably right in that's hardware's fault; I've never used this touchpad under any other operating system so I don't know how it'd behave there.

As for the model - this is Latitude 7280; the touchpad claims to be:

hms0: <DLL079F:00 044E:120B Mouse> on hidbus0
hms0: 3 buttons and [XYWH] coordinates ID=1