Files
systemd/hwdb.d/70-touchpad.hwdb
T
lzwind d13c07ecd8 hwdb: mark Microsoft Surface Type Cover touchpad as internal (#43262)
The Microsoft Surface Type Cover touchpad (USB 045E:09C0) is attached
through a USB port that firmware reports as removable. Because of that,
`65-integration.rules` sets `ID_INPUT_TOUCHPAD_INTEGRATION=external`,
and libinput skips disable-while-typing (DWT) for the device.

The touchpad is physically integrated into the Type Cover, so add a hwdb
entry in `70-touchpad.hwdb` that overrides
`ID_INPUT_TOUCHPAD_INTEGRATION=internal`, restoring DWT.

Fixes #43256
2026-08-03 13:41:02 +09:00

55 lines
2.2 KiB
Plaintext

# This file is part of systemd.
#
# Database for touchpad device information that cannot be queried directly.
#
# The lookup keys are composed in:
# 70-touchpad.rules
#
# Match string format:
# touchpad:<subsystem>:v<vid>p<pid>:name:<name>:
#
# vid/pid as 4-digit hex lowercase vendor/product
#
# To add local entries, create a new file
# /etc/udev/hwdb.d/71-touchpad-local.hwdb
# and add your rules there. To load the new rules execute (as root):
# systemd-hwdb update
# udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the touchpad in question. If in
# doubt, simply use /dev/input/event* to reload all input rules.
#
# If your changes are generally applicable, preferably send them as a pull
# request to
# https://github.com/systemd/systemd
# or create a bug report on https://github.com/systemd/systemd/issues and
# include your new rules, a description of the device, and the output of
# udevadm info /dev/input/eventXX.
#
# Permitted keys:
# Specify whether a touchpad is a built-in one or external:
# ID_INPUT_TOUCHPAD_INTEGRATION=internal|external
#
# By default i8042, i2c, and rmi devices are assumed to be internal,
# bluetooth devices are assumed to be external, usb devices are assumed
# to be internal when connected to a PCB port and external otherwise.
# Example entry; vid: ffff, pid: 0000; both must be lowercase.
# this will make this bluetooth touchpad to behave as internal.
#touchpad:bluetooth:vffffp0000:*
# ID_INPUT_TOUCHPAD_INTEGRATION=internal
###########################################################
# Lenovo IdeaPad Duet3 10IGL5 (82AT)
###########################################################
touchpad:bluetooth:v17efp60fa:*
ID_INPUT_TOUCHPAD_INTEGRATION=internal
###########################################################
# Microsoft Surface Type Cover
###########################################################
# The USB port is reported as removable by firmware, so 65-integration.rules
# classifies the touchpad as external and libinput skips disable-while-typing.
# The touchpad is physically integrated; mark it internal to enable DWT.
touchpad:usb:v045ep09c0:name:Microsoft Surface Type Cover Touchpad:*
ID_INPUT_TOUCHPAD_INTEGRATION=internal