Apply coordinate transformation matrix for multi-head touchscreen

Scott Jaffa sjaffa at
Mon Jun 13 07:50:10 PDT 2011

I am working to get multiple touchscreen support working.
Both devices currently come up, however I need to apply a coordinate transformation matrix to the input, as documented here:

This works fine from the command line, however I have a pair of devices.  
The touchscreens are uniquely identified via usb port with udev, so I have hardcoded /dev/input/ts1 and /dev/input/ts2 devices.  
However, I cannot script the xinput command, as I do not know which devices are which from the xinput list output.  Each touchscreen reports two device ids:
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ stylus                                    id=6    [slave  pointer  (2)]
⎜   ↳ eraser                                    id=7    [slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                     id=14   [slave  pointer  (2)]
⎜   ↳ HID 0430:0100                             id=11   [slave  pointer  (2)]
⎜   ↳ TS Device                                   id=12   [slave  pointer  (2)]
⎜   ↳ TS Device                                   id=13   [slave  pointer  (2)]
⎜   ↳ TS Device                                   id=14   [slave  pointer  (2)]
⎜   ↳ TS Device                                   id=15   [slave  pointer  (2)]

Is there a way to define the matrix in the xorg.conf file, or a way to match the ids above to their /dev/input device or USB port?  



More information about the xorg mailing list