Skip to content

fn_row_policy=7 for UX8406 Mode B swap (F4–F12) + 7.1.3 port - #1

Merged
f0xx merged 7 commits into
zenbook_ux8406mafrom
feature/fn-row-policy
Jul 17, 2026
Merged

fn_row_policy=7 for UX8406 Mode B swap (F4–F12) + 7.1.3 port#1
f0xx merged 7 commits into
zenbook_ux8406mafrom
feature/fn-row-policy

Conversation

@f0xx

@f0xx f0xx commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Confirmed UX8406 docked fn_row_policy=7: plain F4–F12 → KEY_Fn, Fn+F → specials (kbd BL, brightness, Win+P display, MyASUS 0x86/KEY_PROG1); F1–F3 left on firmware EC volume; Meta+F workspace preserved.
  • Port port-ux8406.py aligned for linux-7.1.3 (asus_event whitespace); both ux8406-hid-asus patches regenerated; 7.1.3 OOT module builds.
  • Rename README.mdREADME.ux8406.md for upcoming multi-model docs; OpenRC/kmod_deploy default fn_row_policy=7.

Test plan

  • Docked UX8406: F1–F4 / F5–F6 / F7 / F12 plain+Fn+Meta confirmed on 7.0.12 OOT
  • make patches for 7.0.12 + 7.1.3
  • make build-7.1.3 succeeds
  • Sideload on 7.1.3 when that kernel is booted (optional)

f0xx and others added 7 commits July 15, 2026 10:30
Intercept UX8406 main keyboard HID reports before evdev when fn_row_policy
bit 3 is set, toggle if4 kbd backlight, and fix sniff to watch Asus Keyboard
nodes without detaching USB drivers.

Co-authored-by: Cursor <cursoragent@cursor.com>
When policy bits 0–2 are set, plain F1–F3 inject KEY_MUTE, KEY_VOLUMEDOWN,
and KEY_VOLUMEUP on the main keyboard input node; F4 backlight path unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
Media keys were appearing on if3 (event6) without affecting volume.
Default simulate now matches Mode B Fn+F (KEY_F1–F3 on if0); optional
fn_row_media_keys=1 restores KEY_MUTE/VOLDOWN/VOLUP with input_set_capability.

Co-authored-by: Cursor <cursoragent@cursor.com>
F1-F3 bits set route plain presses to if3 consumer media; clear bits emit
KEY_F1-F3 on if0. F4+ bits set stepped Fn+F4 backlight on if4 and plain KEY_Fn
passthrough; Meta held bypasses policy. Removes wrong plain-F4 toggle.

Co-authored-by: Cursor <cursoragent@cursor.com>
Plain F1-F3 on if3 consumer (03e2/ea/e9) remaps to KEY_F1-F3 on if0 when
bits clear; block duplicate if4 5ac7 during plain F4 on if0; swallow
injected KEY_F4 vs Fn+F4 stepped backlight on if0.

Co-authored-by: Cursor <cursoragent@cursor.com>
Docked Mode B baseline remapped so plain F4–F12 are KEY_Fn and Fn+F
runs specials (BL, brightness, Win+P display, MyASUS 0x86). F1–F3 left
on firmware EC volume; default policy 7 via kmod_deploy and OpenRC conf.

Co-authored-by: Cursor <cursoragent@cursor.com>
Port script accepts 7.0.12/7.1.3 asus_event whitespace; regenerate both
kernel patches (7.1.3 build verified). Rename README.md to README.ux8406.md
ahead of multi-model docs work.

Co-authored-by: Cursor <cursoragent@cursor.com>
@f0xx f0xx self-assigned this Jul 17, 2026
@f0xx
f0xx merged commit 9f8fd63 into zenbook_ux8406ma Jul 17, 2026
@f0xx
f0xx deleted the feature/fn-row-policy branch July 17, 2026 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant