diff --git a/install/hardware/asus/fix-asus-ptl-b9406-touchpad.sh b/install/hardware/asus/fix-asus-ptl-b9406-touchpad.sh index 265e8114a8..285dedf3e4 100644 --- a/install/hardware/asus/fix-asus-ptl-b9406-touchpad.sh +++ b/install/hardware/asus/fix-asus-ptl-b9406-touchpad.sh @@ -8,13 +8,21 @@ # # Mask the pressure axes with a quirks override, same pattern as the # Asus UX302LA entry in libinput's shipped 50-system-asus.quirks. +# +# libinput scans /usr/share/libinput for *.quirks and additionally reads the +# single file /etc/libinput/local-overrides.quirks. It never scans /etc, so a +# drop-in is the only way to ship a quirk without editing the one override +# file users hand-edit themselves. +# +# The pad's event node is tagged ID_INPUT_MOUSE rather than ID_INPUT_TOUCHPAD, +# so a MatchUdevType=touchpad constraint would skip the section. Bus, vendor, +# product and DMI already pin the device exactly. if omarchy-hw-asus-expertbook-b9406; then - mkdir -p /etc/libinput - cat > /etc/libinput/asus-expertbook-b9406.quirks <<'EOF' + mkdir -p /usr/share/libinput + cat > /usr/share/libinput/99-omarchy-asus-b9406-touchpad.quirks <<'EOF' [ASUS ExpertBook B9406 Touchpad] MatchBus=i2c -MatchUdevType=touchpad MatchVendor=0x093A MatchProduct=0x4F05 MatchDMIModalias=dmi:*svnASUS*:pn*B9406* diff --git a/migrations/1785114924.sh b/migrations/1785114924.sh new file mode 100644 index 0000000000..da9a33b2d7 --- /dev/null +++ b/migrations/1785114924.sh @@ -0,0 +1,7 @@ +echo "Fix ASUS ExpertBook B9406 touchpad quirk (takes effect at next login)" + +omarchy-hw-asus-expertbook-b9406 || exit 0 + +sudo rm -f /etc/libinput/asus-expertbook-b9406.quirks +sudo env OMARCHY_PATH="$OMARCHY_PATH" PATH="$PATH" \ + bash -euo pipefail "$OMARCHY_PATH/install/hardware/asus/fix-asus-ptl-b9406-touchpad.sh"