Peter,

 What I am seeing when I run with the settings I sent you
below, is that the cursor actually stays in the first monitor.
However it appear to be scaled so that as I touch the other
3 touch screens the cursor will move further and further
right until I am finally on my last touch screen and the
cursor arrow finally can reach the rightmost side of the
first monitor.

My release of Xorg shows as:

X.Org X Server 1.10.4
Release Date: 2011-08-19

from the Xorg.0.log file...

So I guess from that information can you determine if I can
actually do what I need to do with the version I have installed
from the OpenSuSE 12.1 release?

Will I need to download from git, build and install that version?

Or will it even support separate X screens at all and will I need
to switch into a Xinerama type setup?

I really appreciate all your help and insight into this.....having
to switch from an easy method where the input driver would do this
for us to this new way is a little bit confusing for me.

Best Regards,

Curtis


On 12.12.2011 16:23, Peter Hutterer wrote:
On Mon, Dec 12, 2011 at 09:02:29AM -0500, Curtis Rubel wrote:
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.

you only set the matrix if you want a input device bound to an _area_ on the screen. so don't think of it in terms of monitors, think of it in terms of touchscreens - the first touchscreen should be mapped to area of the the
second monitor from the left, etc.

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.

I can't see anything wrong at a quick glance, though I suggest just trying with simple values (e.g. 0.5) first to make sure the mapping works at all
(see below).

c2 shouldn't usually add up to 1 since that'd be an offset of the display
width - i don't think there's a use-case for that :)
for the right-most screen, usually you'd want c0 + c2 to add up to 1.

also, something I forgot in the first email: the matrix only works properly for RandR displays if you're using a released server version, only the git
version supports this for traditional multihead.

Cheers,
  Peter

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: cru...@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.


--
Curtis Rubel
Senior Development Engineer
Compro Computer Services, Inc.
105 East Drive - Melbourne, Florida, 32904
Phone: 321-727-2211
email: cru...@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.
_______________________________________________
xorg@lists.freedesktop.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.freedesktop.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com

Reply via email to