[PATCH v4 0/7] HID: asus: ASUS Zenbook Duo keyboard support
From: Paolo Pisati
Date: Tue Oct 20 2026 - 05:32:15 EST
Add support for the detachable USB/Bluetooth keyboard of the ASUS
Zenbook Duo line (UX8406MA, UX8406CA, UX8407AA): hotkeys, keyboard
backlight and the platform profile key, over both transports.
This patchset is a collective effort, gathered here:
https://github.com/NeroReflex/asusctl/issues/25
Tested on a UX8407AA against 7.3, docked and over Bluetooth: hotkeys,
keyboard backlight, Fn+F profile cycling, and the touchpad staying with
hid-multitouch.
Since v1 the series has been reworked with the help of an LLM coding assistant.
It was used to analyse the review comments and the code they point at, to
draft the changes and commit messages that address them. I reviewed every change
and tested each version on my UX8407AA, docked and over Bluetooth.
Changes in v4:
- Rebase onto hid.git#for-7.4/asus, now with Denis's "improve the
driver support for laptops" series.
- Drop the delayed handshake re-send: Rebecca measured that the
keyboard stays in hotkey mode without it.
- 1/7: check one quirk per branch and the transport in a nested if,
initializing rsize_orig and offs so that clang still sees them set;
use u16 and declare new_rsize at the top of the block (Denis).
- 2/7: shorten the comment and put it next to the mapping (Denis).
- 3/7: shorten the comment (Denis).
- 4/7: only handle usage 0x9d on Zenbook Duo keyboards, and take the
worker lock with guard() instead of a goto and a label (Denis). The
IS_REACHABLE() checks stay in C conditionals rather than #if, as
coding-style.rst asks, so both branches keep being compile-checked.
- 5/7: list the report sizes of other devices in the comment (Denis).
- 6/7: move the entries above the existing HID_GROUP_GENERIC ones, so
that they do not conflict with the T302CHI dock entry in for-next.
- New 7/7: keep the input device names the keyboard reports instead of
renaming them to "Asus Keyboard" (Denis).
- Add Denis's Reviewed-by to 3/7, 5/7 and 6/7.
- Drop the Assisted-by tags, following "docs: remove Assisted-by
references" in linux-next.
Changes in v3 and v2: see the v3 cover letter.
v3: https://lore.kernel.org/r/20261013104033.36079-1-p.pisati@xxxxxxxxx
v2: https://lore.kernel.org/r/20261009153459.124752-1-p.pisati@xxxxxxxxx
v1: https://lore.kernel.org/r/20260513163248.16483-1-p.pisati@xxxxxxxxx
Joshua Leivenzon (4):
HID: asus: Fix up Zenbook Duo report descriptors
HID: asus: Add missing Zenbook Duo hotkeys
HID: asus: Force hid-input to bind to the Zenbook Duo hotkey interface
HID: asus: Cycle the platform profile from the Zenbook Duo profile key
Luke Jones (1):
HID: asus: add prod-id, quirk for Zenbook Duo keyboard
Paolo Pisati (2):
HID: asus: Do not send feature reports larger than declared
HID: asus: Keep the Zenbook Duo input device names
drivers/hid/hid-asus.c | 154 ++++++++++++++++++++++++++++++++++++-----
drivers/hid/hid-ids.h | 6 ++
2 files changed, 142 insertions(+), 18 deletions(-)
base-commit: e16927855d822a163099ffb2d6a449913fe9487d
--
2.43.0