Repository navigation
HID: magicmouse: palm rejection for the T6041 (M4 Max) trackpad - #636
Merged
RyanTheTide merged 1 commit intoNov 5, 2026
Merged
RyanTheTide merged 1 commit into
RyanTheTide merged 1 commit into
Conversation
Contributor
|
Reviewed for the M4 merge train. The T6041 commit looks reasonable, and it is gated on
|
The M4 Max trackpad sends the standard MTP report, and its records carry the contact ID and state in the first word and the controller's contact class in the low byte of the second. Report a contact as MT_TOOL_PALM once the controller classes it as a palm with a tool area no finger reaches, or once its tool area passes palm size, until it lifts, so a resting or landing palm no longer moves the pointer. Thumbs and fingers keep moving it. The J616C's palms reach a scaled tool area above 5000, so the touch and tool axes take the record's full 16-bit range there. Only machines whose root is apple,t6041 change. Signed-off-by: AxxzyWasTaken <axxzytte@gmail.com>
AxxzyWasTaken
force-pushed
the
t6041-palm-rejection
branch
from
November 3, 2026 17:49
4f3c792 to
6dd9b71
Compare
Contributor
Author
|
Thanks. Both done:
|
Contributor
|
Merge train (MTL, 06/11). Gates passed on test tree 0412501 (integration/aurora 2661d71 + this batch):
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Palm rejection for the M4 Max (T6041, tested on J616C) built-in trackpad. A palm resting on or landing on the pad no longer moves the pointer. Fingers and thumbs work as before.
The first commit is LiamRay11's J700 palm rejection from
fix/j700-palm-rejection. It has no PR of its own yet and the second commit builds on it, so it's included unchanged.How it works on T6041
The J616C trackpad sends the standard MTP report (ID 0x75, 38-byte header, 30-byte records), not the J700's C1FE layout. Its records carry the same per-contact bytes, though: contact ID and state in the first word, and the controller's own class in the low byte of the second (1 thumb, 2/3 finger, 6+ palm). Values recorded from HID debugfs on a J616C:
A palm's class flickers while the hand lands, so a contact is reported as
MT_TOOL_PALMonce:It then stays a palm until it lifts. Thumbs stay touches, so thumb clicks keep working. This is enabled with
of_machine_is_compatible("apple,t6041"), since the class byte is only verified there. The T6040 is likely the same controller but is untested.Userspace
libinput's Apple MTP entry treats a touch size above 1600 as a palm. On this trackpad, a resting palm only reaches ~1060, so that rule never fired for palms. As with the J700, distros should pair this with a quirk that turns size-based palm detection off:
Testing
On a J616C running 7.2.10 with the quirk: resting palms while typing don't move the pointer or click, and pointer motion, two-finger scroll, clickfinger right-click and thumb clicks work as before. Built warning-free on
integration/aurora(23827fe).