From 3cf723451fd0205d2e64437b4233fc4cf6ca1f50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Santamar=C3=ADa=20Rogado?= Date: Mon, 15 Dec 2025 14:15:07 +0100 Subject: [PATCH 1/3] quirks: Add generic Synaptics quirk found in HP ones MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This quirk is a generic one for all the HP laptops with haptic touchpad so makes more sense here because we are applying it dmi independent being more difficult to track this change if the touchpad became used in other vendors. Signed-off-by: David Santamaría Rogado Part-of: --- quirks/30-vendor-synaptics.quirks | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/quirks/30-vendor-synaptics.quirks b/quirks/30-vendor-synaptics.quirks index 315ab41e..c26b4f6e 100644 --- a/quirks/30-vendor-synaptics.quirks +++ b/quirks/30-vendor-synaptics.quirks @@ -7,6 +7,14 @@ MatchVendor=0x0002 MatchProduct=0x0007 ModelSynapticsSerialTouchpad=1 +# "SYNA3580:00 06CB:CFD2 Touchpad": pressure touchpad mostly used in HP laptops. +[Synaptics 06CB:CFD2 Touchpad] +MatchBus=i2c +MatchVendor=0x06CB +MatchProduct=0xCFD2 +MatchUdevType=touchpad +AttrInputProp=+INPUT_PROP_PRESSUREPAD + # SYNA3602:00 0911:5288 touchpad, clickpad pretending it has a right button. # Integrated into several systems, including # Purism Librem 14v1 From 9a077844513f26d82673eec499fffdde8690ec89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Santamar=C3=ADa=20Rogado?= Date: Mon, 15 Dec 2025 14:30:10 +0100 Subject: [PATCH 2/3] quirks: Sort HP entries alphabetically MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also remove generic HP Haptics Touchpad CFD2 moved to Synaptics. Signed-off-by: David Santamaría Rogado Part-of: --- quirks/50-system-hp.quirks | 130 ++++++++++++++++++------------------- 1 file changed, 62 insertions(+), 68 deletions(-) diff --git a/quirks/50-system-hp.quirks b/quirks/50-system-hp.quirks index 9b893340..25a89212 100644 --- a/quirks/50-system-hp.quirks +++ b/quirks/50-system-hp.quirks @@ -1,5 +1,10 @@ # Do not edit this file, it will be overwritten on update -# + +[HP Chromebook 14] +MatchName=*Cypress APA Trackpad *cyapa* +MatchDMIModalias=dmi:*svnHewlett-Packard*:pnFalco* +AttrPressureRange=12:8 + # Claims to have double/tripletap but doesn't actually send it # https://bugs.freedesktop.org/show_bug.cgi?id=98538 [HP Compaq 6910p] @@ -14,43 +19,55 @@ MatchName=*SynPS/2 Synaptics TouchPad MatchDMIModalias=dmi:*svnHewlett-Packard:*pnHPCompaq8510w* AttrEventCode=-BTN_TOOL_DOUBLETAP;-BTN_TOOL_TRIPLETAP; +[HP Elite x2 1013 G3 Keyboard] +MatchUdevType=keyboard +MatchBus=ps2 +MatchDMIModalias=dmi:*svnHP:pnHPElitex21013G3:* +AttrKeyboardIntegration=external + +[HP Elite x2 1013 G3 Tablet Mode Switch] +MatchName=*Intel Virtual Button* +MatchDMIModalias=dmi:*svnHP:pnHPElitex21013G3:* +ModelTabletModeSwitchUnreliable=1 + +[HP Elite x2 1013 G3 Touchpad] +MatchUdevType=touchpad +MatchBus=usb +MatchVendor=0x044E +MatchProduct=0x1221 +AttrTPKComboLayout=below + +# The HP OmniBook Ultra Flip Laptop 14-fh0xxx's custom Intel ISH firmware +# filters out events from its builtin keyboard and touchpad when the hinge is +# opened little more than 180 degrees but toggles tablet-mode when it's opened +# little less than 180 degrees. +# Do not suspend the keyboard and touchpad to let use the device in flat +# position and also give consistency with some keyboard keys controlled by the +# Video Bus device (brightness down/up), the HP WMI hotkeys device (mic mute and +# hp hubs launcher key) and the backlight getting on and off by the firmware at +# the same time it enables disables the input. +# This one is for the keyboard and... +[HP OmniBook Ultra Flip Laptop 14-fh0xxx Keyboard] +MatchName=AT Translated Set 2 keyboard +MatchDMIModalias=dmi:*svnHP:pnHPOmniBookUltraFlipLaptop14-fh0xxx:* +ModelTabletModeNoSuspend=1 + +# ...this one is for the touchpad. +[HP OmniBook Ultra Flip Laptop 14-fh0xxx Touchpad] +MatchName=SYNA3580:00 06CB:CFD2 Touchpad +MatchDMIModalias=dmi:*svnHP:pnHPOmniBookUltraFlipLaptop14-fh0xxx:* +ModelTabletModeNoSuspend=1 + [HP Pavilion dmi4] MatchName=*SynPS/2 Synaptics TouchPad MatchDMIModalias=dmi:*svnHewlett-Packard:*pnHPPaviliondm4NotebookPC* ModelHPPavilionDM4Touchpad=1 -# Touchpad is a clickpad but INPUT_PROP_BUTTONPAD is not set, see -# https://bugs.freedesktop.org/show_bug.cgi?id=97147 -[HP Stream 11] -MatchName=SYN1EDE:00 06CB:7442* -MatchDMIModalias=dmi:*svnHewlett-Packard:pnHPStreamNotebookPC11* -AttrInputProp=+INPUT_PROP_BUTTONPAD - -# The HP stream x360's embedded-controller filters out events form its builtin -# keyboard when in tablet-mode itself; and it has a capacitive home-button -# (windows logo) underneath its display which also sends PS/2 key-events. -# Do not suspend the keyboard when in tablet-mode so that the home button -# keeps working when in tablet-mode. -[HP Stream x360 11] -MatchName=AT Translated Set 2 keyboard -MatchDMIModalias=dmi:*:svnHewlett-Packard:pnHPStreamx360ConvertiblePC11:* -ModelTabletModeNoSuspend=1 - [HP Spectre x360 Convertible 15-bl000] MatchName=AT Translated Set 2 keyboard MatchDMIModalias=dmi:*:svnHP:pnHPSpectrex360Convertible15-bl0XX:* ModelTabletModeNoSuspend=1 -[HP ZBook Studio G3] -MatchName=AlpsPS/2 ALPS GlidePoint -MatchDMIModalias=dmi:*svnHP:pnHPZBookStudioG3:* -ModelHPZBookStudioG3=1 - -[HP Chromebook 14] -MatchName=*Cypress APA Trackpad *cyapa* -MatchDMIModalias=dmi:*svnHewlett-Packard*:pnFalco* -AttrPressureRange=12:8 - [HP Spectre x360 Convertible 15-bl1xx] MatchUdevType=touchpad MatchName=*SynPS/2 Synaptics TouchPad @@ -75,47 +92,24 @@ MatchName=AT Translated Set 2 keyboard MatchDMIModalias=dmi:*svnHP:pnHPSpectrex360Convertible15-ch0xx:* ModelTabletModeNoSuspend=1 -[HP Elite x2 1013 G3 Tablet Mode Switch] -MatchName=*Intel Virtual Button* -MatchDMIModalias=dmi:*svnHP:pnHPElitex21013G3:* -ModelTabletModeSwitchUnreliable=1 +# Touchpad is a clickpad but INPUT_PROP_BUTTONPAD is not set, see +# https://bugs.freedesktop.org/show_bug.cgi?id=97147 +[HP Stream 11] +MatchName=SYN1EDE:00 06CB:7442* +MatchDMIModalias=dmi:*svnHewlett-Packard:pnHPStreamNotebookPC11* +AttrInputProp=+INPUT_PROP_BUTTONPAD -[HP Elite x2 1013 G3 Touchpad] -MatchUdevType=touchpad -MatchBus=usb -MatchVendor=0x044E -MatchProduct=0x1221 -AttrTPKComboLayout=below - -[HP Elite x2 1013 G3 Keyboard] -MatchUdevType=keyboard -MatchBus=ps2 -MatchDMIModalias=dmi:*svnHP:pnHPElitex21013G3:* -AttrKeyboardIntegration=external - -[HP Haptics Touchpad CFD2] -MatchBus=i2c -MatchVendor=0x06CB -MatchProduct=0xCFD2 -AttrInputProp=+INPUT_PROP_PRESSUREPAD - -# The HP OmniBook Ultra Flip Laptop 14-fh0xxx's custom Intel ISH firmware -# filters out events from its builtin keyboard and touchpad when the hinge is -# opened little more than 180 degrees but toggles tablet-mode when it's opened -# little less than 180 degrees. -# Do not suspend the keyboard and touchpad to let use the device in flat -# position and also give consistency with some keyboard keys controlled by the -# Video Bus device (brightness down/up), the HP WMI hotkeys device (mic mute and -# hp hubs launcher key) and the backlight getting on and off by the firmware at -# the same time it enables disables the input. -# This one is for the keyboard and... -[HP OmniBook Ultra Flip Laptop 14-fh0xxx Keyboard] +# The HP stream x360's embedded-controller filters out events form its builtin +# keyboard when in tablet-mode itself; and it has a capacitive home-button +# (windows logo) underneath its display which also sends PS/2 key-events. +# Do not suspend the keyboard when in tablet-mode so that the home button +# keeps working when in tablet-mode. +[HP Stream x360 11] MatchName=AT Translated Set 2 keyboard -MatchDMIModalias=dmi:*svnHP:pnHPOmniBookUltraFlipLaptop14-fh0xxx:* +MatchDMIModalias=dmi:*:svnHewlett-Packard:pnHPStreamx360ConvertiblePC11:* ModelTabletModeNoSuspend=1 -# ...this one is for the touchpad. -[HP OmniBook Ultra Flip Laptop 14-fh0xxx Touchpad] -MatchName=SYNA3580:00 06CB:CFD2 Touchpad -MatchDMIModalias=dmi:*svnHP:pnHPOmniBookUltraFlipLaptop14-fh0xxx:* -ModelTabletModeNoSuspend=1 +[HP ZBook Studio G3] +MatchName=AlpsPS/2 ALPS GlidePoint +MatchDMIModalias=dmi:*svnHP:pnHPZBookStudioG3:* +ModelHPZBookStudioG3=1 From a376fe366c56c54a17327f19a9b9aec461cf263e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Santamar=C3=ADa=20Rogado?= Date: Mon, 15 Dec 2025 14:34:39 +0100 Subject: [PATCH 3/3] quirks: HP 14-fh0xxx rely on bus, ids and type MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: David Santamaría Rogado Part-of: --- quirks/50-system-hp.quirks | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/quirks/50-system-hp.quirks b/quirks/50-system-hp.quirks index 25a89212..2374e165 100644 --- a/quirks/50-system-hp.quirks +++ b/quirks/50-system-hp.quirks @@ -48,14 +48,18 @@ AttrTPKComboLayout=below # the same time it enables disables the input. # This one is for the keyboard and... [HP OmniBook Ultra Flip Laptop 14-fh0xxx Keyboard] -MatchName=AT Translated Set 2 keyboard -MatchDMIModalias=dmi:*svnHP:pnHPOmniBookUltraFlipLaptop14-fh0xxx:* +MatchBus=ps2 +MatchUdevType=keyboard +MatchDMIModalias=dmi:*:svnHP:pnHPOmniBookUltraFlipLaptop14-fh0xxx:* ModelTabletModeNoSuspend=1 # ...this one is for the touchpad. [HP OmniBook Ultra Flip Laptop 14-fh0xxx Touchpad] -MatchName=SYNA3580:00 06CB:CFD2 Touchpad -MatchDMIModalias=dmi:*svnHP:pnHPOmniBookUltraFlipLaptop14-fh0xxx:* +MatchBus=i2c +MatchVendor=0x06CB +MatchProduct=0xCFD2 +MatchUdevType=touchpad +MatchDMIModalias=dmi:*:svnHP:pnHPOmniBookUltraFlipLaptop14-fh0xxx:* ModelTabletModeNoSuspend=1 [HP Pavilion dmi4]