Fix ASUS ExpertBook B9406 touchpad quirk never being applied - #6093
Fix ASUS ExpertBook B9406 touchpad quirk never being applied#6093mijuny wants to merge 2 commits into
Conversation
The quirk masking the bogus pressure axes never took effect, so the touchpad stays dead on a fresh install: clicks register but the cursor never moves. Two defects, either one fatal: 1. The quirk was written to /etc/libinput/asus-expertbook-b9406.quirks. libinput reads only one override file, /etc/libinput/local-overrides.quirks, and does not scan the directory, so the file was silently ignored. 2. The section required MatchUdevType=touchpad, but udev tags this pad as ID_INPUT_MOUSE, not ID_INPUT_TOUCHPAD, so the section was skipped even when read. The bus/vendor/product/DMI keys already pin the device, so the type constraint is dropped. Append the quirk to local-overrides.quirks (idempotently, without clobbering other user overrides) and remove the stale never-read file. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Existing ASUS ExpertBook B9406 installs ran the previous, broken hook and carry a dead /etc/libinput/asus-expertbook-b9406.quirks. Re-source the corrected hook so they pick up the working quirk on next update. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds a migration + updated hardware config script to ensure the ASUS ExpertBook B9406 touchpad libinput quirk is written to the override file that libinput actually consumes, and removes the previously-written stale quirk file.
Changes:
- Add a migration that runs the ASUS B9406 touchpad fix during upgrades.
- Update the touchpad fix script to append to
/etc/libinput/local-overrides.quirks(and remove the obsolete quirk file). - Document why the previous approach did not take effect (override path + udev device type).
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| migrations/1781432360.sh | Runs the updated ASUS B9406 touchpad quirk fix during migration. |
| install/config/hardware/asus/fix-asus-ptl-b9406-touchpad.sh | Writes the quirk override to libinput’s override file and removes the stale file. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| echo "Fix touchpad quirk on ASUS ExpertBook B9406 (was written to a path libinput never reads)" | ||
|
|
||
| if omarchy-hw-asus-expertbook-b9406; then | ||
| source "$OMARCHY_PATH/install/config/hardware/asus/fix-asus-ptl-b9406-touchpad.sh" |
| # Append our section to the shared override file, but only once. | ||
| if ! sudo grep -qF "$QUIRKS_SECTION" "$QUIRKS_FILE" 2>/dev/null; then | ||
| sudo mkdir -p /etc/libinput | ||
| sudo tee -a "$QUIRKS_FILE" >/dev/null <<EOF | ||
|
|
||
| $QUIRKS_SECTION | ||
| MatchBus=i2c | ||
| MatchUdevType=touchpad | ||
| MatchVendor=0x093A | ||
| MatchProduct=0x4F05 | ||
| MatchDMIModalias=dmi:*svnASUS*:pn*B9406* | ||
| AttrEventCode=-ABS_MT_PRESSURE;-ABS_PRESSURE; | ||
| EOF |
| sudo tee -a "$QUIRKS_FILE" >/dev/null <<EOF | ||
|
|
||
| $QUIRKS_SECTION |
|
Thanks @mijuny — the diagnosis here is right, and I verified it independently: libinput really does only read Superseded by #6388, which targets Two changes there worth knowing about:
Kept your Hope the ExpertBook gets a new screen soon — a confirmation on live hardware before #6388 merges would still be valuable. |
Follow-up to #5435. On a fresh 3.8.2 install of an ASUS ExpertBook B9406 the touchpad is still dead: clicks register but the cursor never moves. The quirk from #5435 never took effect, for two reasons:
It was written to
/etc/libinput/asus-expertbook-b9406.quirks. libinput reads only/etc/libinput/local-overrides.quirksand does not scan the directory, so the file was ignored.The section required
MatchUdevType=touchpad, but udev tags this pad asID_INPUT_MOUSE. The bus/vendor/product/DMI keys already pin the device, so the type constraint is dropped.How this slipped through: the original fix was verified as a manual local edit, but the packaged install path was not tested end to end, so neither defect was caught. I have since corrected that in my workflow. Both changes here were confirmed working by the reporter. Adds a migration so existing B9406 installs pick up the corrected quirk.
This restores cursor motion. A wider correction (proper touchpad classification for full gestures) will follow once I have access to a working ExpertBook again. Mine is currently physically broken (cracked screen).
AI disclaimer: diagnosed and fixed with help from Claude Code (Opus 4.8).