I use 3 touchscreen monitors and every monitor seems to be 2 devices:
xinput
|| ↳ WingCool Inc. TouchScreen |id=19|[slave pointer (2)]|
|⎜ ↳ WingCool Inc. TouchScreen |id=20|[slave pointer (2)]|
|⎜ ↳ WingCoolTouch WingCoolTouch |id=21|[slave pointer (2)]|
|⎜ ↳ WingCoolTouch WingCoolTouch |id=22|[slave pointer (2)]|
|⎜ ↳ WingCoolTouch WingCoolTouch |id=23|[slave pointer (2)]|
|⎜ ↳ WingCoolTouch WingCoolTouch |id=24|[slave pointer (2)]|
As you can see the only way to identify them is via their id, but unfortunately the ids change after a reboot or resume from suspend.
For the touchscreens to work i need to assign the right id to the matching display-output via xinput like this
xinput --map-to-output 20 DP-1
and that works well, but every time it is a guessing game because the ids change and the names are not helpfull.
Im feeling a little bit stupid doing this, is there a smarter way?