evdev input module and multiple X screen support

Curtis Rubel crubel at compro.net
Mon Dec 12 06:02:29 PST 2011


Peter,

  I have been looking at this for a while and have not been able
to get my system setup correctly as it is a rather complex setup.

I have 4 monitors on this system.  The first one is NOT a touch
screen and is at 800X600, the other 3 are touch screens at 1280X1024,
with the center of those 3 rotated to portrait mode.  I am not quite 
sure
how to proceed looking at the examples provided since none of
them really give me any idea of what to do about my first monitor
which is not a touch device.

I am assuming that I still need to account for it in the equations,
is that a valid assumption?

#xinput list
â¡ Virtual core pointer                         id=2    [master pointer 
(3)]
â   â³ Virtual core XTEST pointer               id=4    [slave  pointer 
(2)]
â   â³ TouchScreenLeft                          id=6    [slave  pointer 
(2)]
â   â³ TouchScreenCenter                        id=7    [slave  pointer 
(2)]
â   â³ TouchScreenRight                         id=8    [slave  pointer 
(2)]
⣠Virtual core keyboard                        id=3    [master 
keyboard (2)]
     â³ Virtual core XTEST keyboard              id=5    [slave  
keyboard (3)]
     â³ Power Button                             id=9    [slave  
keyboard (3)]
     â³ Power Button                             id=10   [slave  
keyboard (3)]
     â³ Logitech USB Keyboard                    id=11   [slave  
keyboard (3)]
     â³ Logitech USB Keyboard                    id=12   [slave  
keyboard (3)]

#xinput list-props "TouchScreenLeft"
Device 'TouchScreenLeft':
         Device Enabled (117):   1
         Coordinate Transformation Matrix (119): 1.000000, 0.000000, 
0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

#xinput list-props "TouchScreenCenter"
Device 'TouchScreenCenter':
         Device Enabled (117):   1
         Coordinate Transformation Matrix (119): 1.000000, 0.000000, 
0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

#xinput list-props "TouchScreenRight"
Device 'TouchScreenRight':
         Device Enabled (117):   1
         Coordinate Transformation Matrix (119): 1.000000, 0.000000, 
0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000

So first to make it a little easier no rotation for now on #2:

0:
800/(800 + (3*1280) )   0        0
0               600/1024         0
0                  0             1

1:
1280/(800 + (3*1280) )  0     800/(800 + (3*1280) )
0                   1024/1024    0
0                       0        1

2:
1280/(800 + (3*1280) )  0     800+1280/(800 + (3*1280) )
0                   1024/1024         0
0                       0             1

3:
1280/(800 + (3*1280) )  0     800 + (2*1280)/(800 + (3*1280) )
0                   1024/1024               0
0                       0                   1

Does that look about correct, because the math on
the 3rd number or c2 from the equation examples does
not seem to add up properly to equal a total of 1.

Regards,

Curtis




On 09.12.2011 23:37, Peter Hutterer wrote:
> On Fri, Dec 09, 2011 at 12:47:10PM -0500, Curtis Rubel wrote:
>> Hello xorg...
>>
>> Can someone tell me if multiple X screen support is planned for
>> the evdev input module?
>>
>> We have a number of multiple X screen systems here running Xorg 
>> using
>> the older evtouch input library and from what I can see it appears 
>> this
>> module is no longer supported and being replaced by the evdev 
>> module.
>> Is this the case or has the evtouch input library just not been
>> updated yet??
>>
>> Any help in this matter would be greatly appreciated...as the touch
>> screen vendor
>> ELO does not support multiple USB touchscreens on a single system...
>
> input drivers don't do multi-screen handling (anymore), it's all 
> handled by
> the server now. See the documentation here:
> http://wiki.x.org/wiki/XInputCoordinateTransformationMatrixUsage
>
> Cheers,
>   Peter

-- 
Curtis Rubel
Senior Development Engineer
Compro Computer Services, Inc.
105 East Drive - Melbourne, Florida, 32904
Phone: 321-727-2211
email: crubel at compro.net
Web: http://www.compro.net

"An ISO 9001:2008 Registered Company"

---------------------------------------------------------------------------
CONFIDENTIALITY NOTICE: This email transmission, and any documents, 
files or previous email messages attached to it may contain confidential 
information that is legally privileged. If you are not the intended 
recipient or a person responsible for delivering it to the intended 
recipient, you are hereby notified that any disclosure, copying, 
distribution, or use of any of the information contained in or attached 
to this transmission is STRICTLY PROHIBITED. If you have received this 
transmission in error, please immediately notify the sender by email or 
call 321-727-2211. Please destroy the original transmission and its 
attachments without reading or saving it in any manner.




More information about the xorg mailing list