I'm not sure if the following issue is a bug or just a limitation of the xinput usage.
The setup is the following. Two nvidia graphic cards, configured on xscreen0 are 4 touchscreens and on xscreen1 are 2 screens of which only 1 is touch.
With adjusting of the transformation matrix I was able to adjust the touch devices according to their position. Everything works fine as long the touch devices are on xscreen0 (DISPLAY=:0.0) as soon as I'm trying to add the touch device of the xscreen1, I get a really strange behaviour.
Every screen is 1920x1080, one screen on xscreen0 is turned 90° and they're aligned all under each other.
Now to the issue:
If I assign with xinput to
DISPLAY=:0.1 the touch device to the screen with the correct transformation matrix, it in general has the right coordiantes, because if I touch at one point and move my mouse afterwards the mousepointer starts moving exactly from the position I had touched.
HOWEVER the mouse click event is not on the right position, it completly jumps out of screen and keeps being there as long as I try to move a window with the touchscreen (that's how I saw where the mouse movement jumps to).
So that means I can't actually use the touch of the touchscreen since the click event and movement and other things don't work properly. So my question is, is there a possibility to tell the system that this specific touch device is assigned to xscreen1. Like in the xorg.conf or with another paramter change of xinput?
xinput_calibrator doesn't work properly at all aswell, that's why I'm doing it manually via xinput.
xinput version is 1.6.1
With evtest I see that the touch device provides the correct coordinates
Also assigning the touch device to one screen that is on xscreen0 works without any issue and mouse click also works fine then.
Edit: Added the device props, maybe I'm missing something.
Device 'AFO Co., Ltd. AFO TCM10J-400 HID': Device Enabled (153): 1 Coordinate Transformation Matrix (155): 1.000000, 0.000000, 0.000000, 0.000000, 0.147540, 0.704920, 0.000000, 0.000000, 1.000000 Device Accel Profile (304): 0 Device Accel Constant Deceleration (305): 1.000000 Device Accel Adaptive Deceleration (306): 1.000000 Device Accel Velocity Scaling (307): 10.000000 Device Product ID (296): 9590, 3 Device Node (297): "/dev/input/event24" Evdev Axis Inversion (308): 0, 0 Evdev Axis Calibration (309): <no items> Evdev Axes Swap (310): 0 Axis Labels (311): "Abs MT Position X" (302), "Abs MT Position Y" (303), "None" (0), "None" (0) Button Labels (312): "Button Unknown" (299), "Button Unknown" (299), "Button Unknown" (299), "Button Wheel Up" (159), "Button Wheel Down" (160) Evdev Scrolling Distance (313): 0, 0, 0 Evdev Middle Button Emulation (314): 0 Evdev Middle Button Timeout (315): 50 Evdev Third Button Emulation (316): 0 Evdev Third Button Emulation Timeout (317): 1000 Evdev Third Button Emulation Button (318): 3 Evdev Third Button Emulation Threshold (319): 20 Evdev Wheel Emulation (320): 0 Evdev Wheel Emulation Axes (321): 0, 0, 4, 5 Evdev Wheel Emulation Inertia (322): 10 Evdev Wheel Emulation Timeout (323): 200 Evdev Wheel Emulation Button (324): 4 Evdev Drag Lock Buttons (325): 0