Re: [PATCH v3 0/5] HID: multitouch: Add support for Touch Bars on x86 MacBook Pros

From
Jiri Kosina <jikos@kernel.org>
Date
2025-06-11 09:26:35
Also in
lkml
Reply to
Aditya Garg, 2025-05-27
On Tue, 27 May 2025, Aditya Garg wrote:
This patch series aims to improve the Touch Bar support for x86 Macs.

The `hid-appletb-kbd` and `hid-appletb-bl` drivers were upstreamed into
the Linux kernel and are available since version 6.15. They enable the
Touch Bar to display a predefined set of media and function keys, exactly
the same it does on Windows Bootcamp.

Alongwith that, support for the DRM mode of the driver has also been
upstreamed in kernel 6.15.

The DRM mode enables the Touch Bar to act as a second display, just like
macOS. So now you can add a widget, put a clock or anything else on the
Touch Bar as long as you can develop a daemon.

For this mode, we needed two patchsets. One went to the DRM tree as the
`appletbdrm` driver, and other is this.

The DRM driver is responsible for displaying whatever the OS wants on
the Touch Bar.

Now via these patches, in the DRM mode, we can use the Touch Bar as a
touch screen. The Touch Bar seems to be not compliant with the HID spec,
thus via these patches several tweaks have been done under the cover of
a single quirk, MT_QUIRK_APPLE_TOUCHBAR. Originally expected to be
upstreamed alongwith the DRM driver on 6.15, these patches seem to have
remained in a backlog.

For the case of T2 Macs, apple-bce [1], the driver for the T2 Security
Chip is also needed for all the peripherals, including the Touch Bar
to work. It is still WIP, and will be subsequently sent later to the
appropriate tree. Till then, I'll suggest testers to get the driver
from [1], or more preferably, get Linux support from https://t2linux.org/.

Cheers
Aditya

[1]: https://github.com/t2linux/apple-bce-drv

Changelog:

v2: keep parse at original location in patch 5 as suggested by Benjamin
v3: Reword the cover letter to update the maintainers with the latest
    situation, and re-prepare the patches on 6.15.

Kerem Karabay (5):
  HID: multitouch: Get the contact ID from HID_DG_TRANSDUCER_INDEX
    fields in case of Apple Touch Bar
  HID: multitouch: support getting the tip state from HID_DG_TOUCH
    fields in Apple Touch Bar
  HID: multitouch: take cls->maxcontacts into account for Apple Touch
    Bar even without a HID_DG_CONTACTMAX field
  HID: multitouch: specify that Apple Touch Bar is direct
  HID: multitouch: add device ID for Apple Touch Bar
Now queued in hid.git#for-6.17/multitouch, thanks.

-- 
Jiri Kosina
SUSE Labs
Thread (7 messages) 7 messages, 2 authors, last reply 2025-06-11
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help