> >> but I don't know how to configure xorg.conf > >> when ServerLayout is described without position information for > >> multi-seat setup with one graphic card (zaphod heads).
Are you sure you want a multi-seat setup, which is where multiple people are sitting in front of the same computer, using their own keyboards and monitors as if they are using two separate computers? > [xorg.conf] > Section "ServerLayout" > Screen 0 "Screen0" 0 0 # DISPLAY=":0.0" > Screen 1 "Screen1" 0 0 # DISPLAY=":0.1" > EndSection This creates a single seat with two independent displays, attached to the same X session. This is not multi-seat, this is just multi-monitor on a single seat. If you want multi-seat, you generally have to launch a separate Xorg session for each seat, with effectively a different ServerLayout for each one. I am not sure that this is what your requirement actually is. > However, my customer is saying that they are independent screens and do > not overlap even when the origins are all (0,0). > How can I transform the input touch positions properly in this environment? The display origins are all at (0,0) as they behave a bit like two independent computers (perhaps this is where the multi-seat confusion is coming from). However if you plug a mouse into the computer, you will be able to move the cursor between both monitors which means it's a single seat. In a true multi-seat set up, you would have to configure the system to assign the mouse you plugged in to one seat/monitor or the other, and you could not move it between both screens. So one solution to your problem is to configure the system as a true multi-seat system, with each monitor assigned to a different seat. You may however need to add a second video card to the system to do this, as I cannot recall whether you can share a single video card between seats. Certainly it was not the case in the past, and I am unsure whether this is now supported or not. Alternatively, in this single-seat Zaphod mode, the screens are still aligned so that the mouse cursor can glide from one monitor to the next, so the second monitor will have an origin that is not (0,0) as far as the mouse/touchscreen is concerned. Have you tried assuming the monitors are set up as a single Xorg display (":0" only) and setting the transformation matrix accordingly? For example: +---------------------+ +----------------------+ | Left Monitor (:0.0) | | Right Monitor (:0.1) | | 1920x1200 @ 0,0 | | 1920x1200 @ 0,0 | +---------------------+ +----------------------+ Here you can consider that the mouse/touchscreen has a surface of 3840x1200 to work with, and the Right Monitor is actually at an offset of (1920,0). If you left the transformation matrix alone for the left monitor, but set the one on the right so that it was offset by 1920 pixels horizontally, would that work? It would then appear that a touch event on the right monitor would happen past the edge of the left screen, which should land it on the right-hand monitor, just like it would if you moved the mouse cursor off the same edge of the left monitor, and over onto the right-hand monitor. I haven't actually tried this so I am only guessing, and of course the exact transformation values would depend on the screen sizes and how they are positioned relative to each other in xorg.conf, but it could be worth experimenting with. Cheers, Adam. _______________________________________________ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: https://lists.x.org/mailman/listinfo/xorg Your subscription address: %(user_address)s