[Bug 279652] [patch] wsp.c: Improve multi-finger touchpad usage and allow more configurations
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 279652] [patch] wsp.c: Improve multi-finger touchpad usage and allow more configurations"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 279652] [patch] wsp.c: Improve multi-finger touchpad usage and allow more configurations"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 279652] [patch] wsp.c: Improve multi-finger touchpad usage and allow more configurations"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 279652] [patch] wsp.c: Improve multi-finger touchpad usage and allow more configurations"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 279652] [patch] wsp.c: Improve multi-finger touchpad usage and allow more configurations"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 279652] wsp.c: Improve multi-finger touchpad usage and allow more configurations"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 10 Jun 2024 18:37:50 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279652 Bug ID: 279652 Summary: [patch] wsp.c: Improve multi-finger touchpad usage and allow more configurations Product: Base System Version: 13.3-RELEASE Hardware: Any OS: Any Status: New Severity: Affects Only Me Priority: --- Component: usb Assignee: usb@FreeBSD.org Reporter: megamansec@gmail.com Created attachment 251363 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=251363&action=edit Allow multi-finger scrolling following a single-click, and add max_finger_area and max_double_tap_distance tunables. The wsp driver does not currently correctly allow the movement of the trackpad using two fingers while a single button is held down: that is to say, during a single-button click, it is only possible to move the cursor using the same finger that is clicking. This patch provides support for the movement using a second finger, which is in-line with how MacOS supports this trackpad: a single button click can be moved using either the original finger or a secondary finger on the trackpad following the first click. It appears that this was originally missed by the developer, as the comments suggest that the variables holding the position arrays should be arrays, however they were not: int16_t pre_pos_x; /* previous position array */ int16_t pre_pos_y; /* previous position array */ This patch makes them arrays of int16_t, in-line with the "finger index data" and "position array" arrays. In addition, this patch also creates two tunables: hw.usb.wsp.max_finger_area hw.usb.wsp.max_double_tap_distance max_finger_area is the maximum area that a finger may take up on the trackpad to be registered as a finger. Previously, it was hardcoded 1200. This value was too low to register a thumb-click, which MacOS does correctly. max_double_tap_distance is the maximum distance between two fingers which permit a two-finger-click to be registered as a double-click. Previously, this was hardcoded as 2500, and that is left as the default. Note: this patch follows https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279649. -- You are receiving this mail because: You are the assignee for the bug.