Re: [PATCH v3 2/7] HID: asus: Add missing Zenbook Duo hotkeys
From: Denis Benato
Date: Sun Oct 18 2026 - 12:04:34 EST
On 10/13/26 12:39, Paolo Pisati wrote:
> From: Joshua Leivenzon <hacker1024@xxxxxxxxxxxxxxxxxxxxx>
>
> Map the Zenbook Duo "screen swap" hotkey (vendor usage 0x9c) to
> KEY_F19, like the other ASUS vendor keys that have no dedicated
> keycode, so that userspace can bind it.
>
> The mappings from the ROG Ally onwards belong to devices with built-in
> keyboards and can share keycodes freely. The Zenbook Duo keyboard
> cannot: it is a standard USB/Bluetooth device and can be connected to
> another ASUS machine handled by this driver. Document that above the
> ROG Ally mappings.
>
> Signed-off-by: Joshua Leivenzon <hacker1024@xxxxxxxxxxxxxxxxxxxxx>
> [pisati: drop the MyASUS key (0x86) mapping, 2061075360182 ("HID:
> asus: support the Zenbook A16 (UX3607OA) keyboard") maps it to
> KEY_PROG1 like asus-nb-wmi does]
> Assisted-by: LLM
Assisted-by tags have harness:model like this:
Assisted-by: opencode:deepseek-v4.1-flash
> Signed-off-by: Paolo Pisati <p.pisati@xxxxxxxxx>
> Tested-by: Rebecca Mara Müller <rebecca.mara@xxxxxxxxx> # UX8407AA
> ---
> drivers/hid/hid-asus.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/drivers/hid/hid-asus.c b/drivers/hid/hid-asus.c
> index 34739198d90e..242e273e4cb3 100644
> --- a/drivers/hid/hid-asus.c
> +++ b/drivers/hid/hid-asus.c
> @@ -1264,6 +1264,19 @@ static int asus_input_mapping(struct hid_device *hdev,
> case 0xb3: asus_map_key_clear(KEY_PROG3); break; /* Fn+Left next aura */
> case 0x6a: asus_map_key_clear(KEY_F13); break; /* Screenpad toggle */
> case 0x4b: asus_map_key_clear(KEY_F14); break; /* Arrows/Pg-Up/Dn toggle */
> + case 0x9c: asus_map_key_clear(KEY_F19); break; /* Screen swap */
> +
> + /*
> + * Mutually exclusive section: Special keys from different devices
> + * can bind to the same keycodes without concern, as they will never
> + * conflict.
> + *
> + * Note that devices with removable keyboards that connect over a
> + * standard interface (e.g. Zenbook Duo UX8406 with USB/Bluetooth) do
> + * not belong in this section, as such keyboards can be connected to
> + * another ASUS device that also uses this driver for its own keyboard.
> + */
Maybe shorten this and put it on top of the line it refers too.
Perhaps something like "Keep this unique as it may conflict since the keyboard is bluettoth"
above the F19.
> + /* ROG Ally */
> case 0xa5: asus_map_key_clear(KEY_F15); break; /* ROG Ally left back */
> case 0xa6: asus_map_key_clear(KEY_F16); break; /* ROG Ally QAM button */
> case 0xa7: asus_map_key_clear(KEY_F17); break; /* ROG Ally ROG long-press */