PSA: systemd/udev now tag touchpads with the ID_INPUT_TOUCHPAD_INTEGRATION property which has two possible values: "internal" and "external".https://github.com/systemd/systemd/pull/3638
We need this in libinput for a couple of reasons but with the udev property it's easily available to any userspace process. Which is of course all part of our great master plan of getting the whole system to work together rather than just piling the hacks and workarounds into libinput.
Why do we need this in libinput you ask? For example, we don't enable disable-while-typing on external touchpads.