Fix ASUS ExpertBook B9406 touchpad quirk never being applied#6093
Open
mijuny wants to merge 2 commits into
Open
Fix ASUS ExpertBook B9406 touchpad quirk never being applied#6093mijuny wants to merge 2 commits into
mijuny 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>
Contributor
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" |
Comment on lines
+26
to
37
| # 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 |
Comment on lines
+29
to
+31
| sudo tee -a "$QUIRKS_FILE" >/dev/null <<EOF | ||
|
|
||
| $QUIRKS_SECTION |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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).