Skip to content

udev: hide raw ithc input nodes duplicated by iptsd - #221

Open
luqqas96 wants to merge 1 commit into
linux-surface:masterfrom
luqqas96:udev-hide-raw-ithc-touch-nodes
Open

udev: hide raw ithc input nodes duplicated by iptsd#221
luqqas96 wants to merge 1 commit into
linux-surface:masterfrom
luqqas96:udev-hide-raw-ithc-touch-nodes

Conversation

@luqqas96

Copy link
Copy Markdown

On Tiger Lake devices (Surface Pro 7+/8), the ithc kernel driver exposes
raw "Intel Touch Host Controller" input nodes alongside the calibrated
virtual devices iptsd creates. The raw nodes report a 16:9 geometry that
does not match the 3:2 panel, and libinput picking both up causes
duplicate touch events and distorted coordinates near the edges.

This rule strips ID_INPUT/ID_INPUT_TOUCHSCREEN/ID_INPUT_TABLET from the
raw nodes so libinput only sees the calibrated IPTSD Virtual
Touchscreen/Stylus devices.

Verified on a Surface Pro 7+ running Fedora 44, kernel 6.19.8-surface:
before this rule, udevadm info shows both the raw and virtual
touchscreen nodes tagged ID_INPUT_TOUCHSCREEN=1; after it, only the
IPTSD Virtual Touchscreen node is.

Fixes #220

On Tiger Lake devices (Surface Pro 7+/8), the ithc kernel driver exposes
raw "Intel Touch Host Controller" input nodes alongside the calibrated
virtual devices iptsd creates. The raw nodes report a 16:9 geometry that
does not match the 3:2 panel, and libinput picking both up causes
duplicate touch events and distorted coordinates near the edges.

This rule strips ID_INPUT/ID_INPUT_TOUCHSCREEN/ID_INPUT_TABLET from the
raw nodes so libinput only sees the calibrated IPTSD Virtual
Touchscreen/Stylus devices. Verified on a Surface Pro 7+ running Fedora.

Fixes linux-surface#220
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

udev: Ignore raw Intel Touch Host Controller input nodes to prevent duplicate events and 16:9 distortion

1 participant