MatchName=*ETPS/2 Elantech Touchpad*
MatchDMIModalias=dmi:*svnASUSTeKComputerInc.:pnUX21E:*
AttrPressureRange=24:10
+
+[Asus UX302LA]
+MatchName=*ETPS/2 Elantech Touchpad*
+MatchDMIModalias=dmi:*svnASUSTeKCOMPUTERINC.:pnUX302LA:*
+ModelAsusUX302LATouchpad=1
EV_ABS,
ABS_MT_TOOL_TYPE);
+ /* Asus UX302LA touchpad doesn't update the pressure values once two
+ * fingers are down. So let's just pretend it doesn't have pressure
+ * at all. https://gitlab.freedesktop.org/libinput/libinput/issues/145
+ */
+ if (evdev_device_has_model_quirk(device,
+ QUIRK_MODEL_ASUS_UX320LA_TOUCHPAD)) {
+ libevdev_disable_event_code(device->evdev,
+ EV_ABS,
+ ABS_MT_PRESSURE);
+ libevdev_disable_event_code(device->evdev,
+ EV_ABS,
+ ABS_PRESSURE);
+ }
+
/* Generally we don't care about MSC_TIMESTAMP and it can cause
* unnecessary wakeups but on some devices we need to watch it for
* pointer jumps */
case QUIRK_MODEL_APPLE_MAGICMOUSE: return "ModelAppleMagicMouse";
case QUIRK_MODEL_APPLE_TOUCHPAD: return "ModelAppleTouchpad";
case QUIRK_MODEL_APPLE_TOUCHPAD_ONEBUTTON: return "ModelAppleTouchpadOneButton";
+ case QUIRK_MODEL_ASUS_UX320LA_TOUCHPAD: return "ModelAsusUX302LATouchpad";
case QUIRK_MODEL_BOUNCING_KEYS: return "ModelBouncingKeys";
case QUIRK_MODEL_CHROMEBOOK: return "ModelChromebook";
case QUIRK_MODEL_CLEVO_W740SU: return "ModelClevoW740SU";
QUIRK_MODEL_APPLE_MAGICMOUSE,
QUIRK_MODEL_APPLE_TOUCHPAD,
QUIRK_MODEL_APPLE_TOUCHPAD_ONEBUTTON,
+ QUIRK_MODEL_ASUS_UX320LA_TOUCHPAD,
QUIRK_MODEL_BOUNCING_KEYS,
QUIRK_MODEL_CHROMEBOOK,
QUIRK_MODEL_CLEVO_W740SU,