Results 1 to 6 of 6

Thread: multi touchscreen setup

  1. #1
    licensed to kill - FKA kev000
    Auto Apps:loading...
    tripzero's Avatar
    Join Date
    Aug 2006
    Location
    16.40618, 120.61106
    Posts
    2,494

    multi touchscreen setup

    using the egalax driver I *should* be able to setup more than one touchscreen on one PC. I can get each of the TS to work, but I can't get them both to work. There seems to be either an error in the driver, in xorg, or in my config.

    dmesg sees the two touchscreens and sets them up as /dev/hidraw1 and hidraw2. in my xorg.conf I set them to use those device. however, when I run TouchKit, it appears that they are both setup to use /dev/usb/hiddev0???

    cat /var/log/Xorg.0.log | grep hid reports that it finds two touchscreens on the same device???

    Code:
    (II) HID Touch Controller @ /dev/usb/hiddev0 
    (II) HID Touch Controller @ /dev/usb/hiddev0
    So I get the impression that the egalax driver is ignoring my Device option.

    I can cat /dev/hidraw1 and /dev/hidraw2 and get output when I touch the individual screens so I know those are the correct devices...

    any suggestions on what else I can try?

    Below is my complete xorg.conf.

    Code:
    Section "ServerLayout"
        Identifier     "Layout0"
        Screen      0  "Screen0" 0 0
        Screen      1  "Screen1" RightOf "Screen0"
        Screen	2  "Screen2" LeftOf "Screen0"
        InputDevice    "EETI0" "SendCoreEvents"
        InputDevice    "EETI1" "SendCoreEvents"
    EndSection
    
    Section "Module"
        Load           "glx"
    EndSection
    
    Section "ServerFlags"
        Option         "Xinerama" "0"
    EndSection
    
    Section "InputDevice"
        Identifier     "EETI0"
        Driver         "egalax"
        Option         "Device" "/dev/hidraw1"
        Option         "Parameters" "/var/lib/eeti0.param"
        Option         "ScreenNo" "0"
    EndSection
    
    Section "InputDevice"
        Identifier     "EETI1"
        Driver         "egalax"
        Option         "Device" "/dev/hidraw2"
        Option         "Parameters" "/var/lib/eeti1.param"
        Option         "ScreenNo" "1"
    EndSection
    
    Section "Monitor"
        Identifier     "Configured Monitor"
    EndSection
    
    Section "Monitor"
        Identifier     "Monitor0"
        VendorName     "Unknown"
        ModelName      "CRT-0"
        HorizSync       28.0 - 55.0
        VertRefresh     43.0 - 72.0
    EndSection
    
    Section "Monitor"
        Identifier     "Monitor1"
        VendorName     "Unknown"
        ModelName      "CRT-1"
        HorizSync       28.0 - 55.0
        VertRefresh     43.0 - 72.0
    EndSection
    
    Section "Monitor"
        Identifier     "Monitor2"
        VendorName     "Unknown"
        ModelName      "CRT-2"
        HorizSync       28.0 - 55.0
        VertRefresh     43.0 - 72.0
    EndSection
    
    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BoardName      "GeForce 6200"
        BusID          "PCI:4:0:0"
        Screen          0
    EndSection
    
    Section "Device"
        Identifier     "Device1"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BoardName      "GeForce 6200"
        BusID          "PCI:4:0:0"
        Screen          1
    EndSection
    
    Section "Device"
        Identifier    "Device2"
        Driver	  "intel"
        VendorName	  "Intel Corporation"
        BusID	  "PCI:0:2:0"
        Screen	  2
    EndSection
    
    Section "Screen"
    # Removed Option "metamodes" "CRT-0: nvidia-auto-select +0+0"
        Identifier     "Screen0"
        Device         "Device0"
        Monitor        "Monitor0"
        DefaultDepth    24
        Option         "TwinView" "0"
        Option         "TwinViewXineramaInfoOrder" "CRT-0"
        Option         "metamodes" "CRT-0: 800x600 +0+0"
        SubSection     "Display"
            Depth       24
        EndSubSection
    EndSection
    
    Section "Screen"
    # Removed Option "metamodes" "CRT-1: nvidia-auto-select +0+0"
        Identifier     "Screen1"
        Device         "Device1"
        Monitor        "Monitor1"
        DefaultDepth    24
        Option         "TwinView" "0"
        Option         "metamodes" "CRT-1: 800x600 +0+0"
        SubSection     "Display"
            Depth       24
        EndSubSection
    EndSection
    
    Section "Screen"
        Identifier	  "Screen2"
        Device	  "Device2"
        Monitor	  "Monitor2"
        DefaultDepth  24
        Option         "TwinView" "0"
        Option         "metamodes" "CRT-2: 800x600 +0+0"
        SubSection     "Display"
            Depth       24
        EndSubSection
    EndSection
    Former author of LinuxICE, nghost, nobdy.
    Current author of Automotive Message Broker (AMB).
    Works on Tizen IVI. Does not represent anyone or anything but himself.

  2. #2
    licensed to kill - FKA kev000
    Auto Apps:loading...
    tripzero's Avatar
    Join Date
    Aug 2006
    Location
    16.40618, 120.61106
    Posts
    2,494
    Okay, a little more investigating and the plot thickens:

    I put an invalid device in the "Device" option for the EETI0 device and I only get one "HID..." in my Xorg.0.log. For example, Option "Device" "foo" and Option "Device" "/dev/usb/hiddev0" results in:

    Code:
    (II) HID Touch Controller @ /dev/usb/hiddev0
    but neither TSs work.

    If I put invalid devices for both, I get no entries, and if I have both as valid (even if they are the same) I get both:

    Code:
    (II) HID Touch Controller @ /dev/usb/hiddev0 
    (II) HID Touch Controller @ /dev/usb/hiddev0
    That tells me that my settings are valid, but the driver is somehow messing it up?

    EDIT:

    Found out that the following combination: EETI0 = /dev/usb/hiddev0 and EETI1 = /dev/hidraw2 produces this:

    Code:
    (II) HID Touch Controller @ /dev/usb/hiddev0
    (II) HID Touch Controller @ /dev/usb/hiddev0
    (II) HID Touch Controller @ /dev/usb/hiddev0
    (II) HID Touch Controller @ /dev/usb/hiddev0
    (II) HID Touch Controller @ /dev/hidraw0
    (II) HID Touch Controller @ /dev/hidraw0
    hidraw0 is my mouse... It seems it's replacing the last number with 0...
    Former author of LinuxICE, nghost, nobdy.
    Current author of Automotive Message Broker (AMB).
    Works on Tizen IVI. Does not represent anyone or anything but himself.

  3. #3
    Maximum Bitrate Crinos's Avatar
    Join Date
    Mar 2009
    Location
    Kristiansand, Norway
    Posts
    483
    At first, I though you where refering to multitouch screen... similar to the one on iPhones (I am wondering about buying a multitouch screen for my car, but realy don't know if it's worth the price).

    back to topic...
    you run two monitors at 800x600, so each touch panel should work, on it's own monitor. It looks like the drives get confused talking to the computer.
    Much like using to mices at the same time, one at each monitor.

  4. #4
    licensed to kill - FKA kev000
    Auto Apps:loading...
    tripzero's Avatar
    Join Date
    Aug 2006
    Location
    16.40618, 120.61106
    Posts
    2,494
    seeing how any number I use at the end of the device ends up as 0 by the driver, I attempted to create a udev rule to always make it end in 0:

    Code:
    KERNEL=="event*", SUBSYSTEM=="input", ATTRS{idVendor}=="0eef", ATTRS{idProduct}=="0001", KERNELS=="1-1", SYMLINK+="input/tsleft0"
    KERNEL=="event*", SUBSYSTEM=="input", ATTRS{idVendor}=="0eef", ATTRS{idProduct}=="0001", KERNELS=="1-2", SYMLINK+="input/tsfront0"
    I derived this from the evtouch udev rules and added the "KERNELS==" to uniquely identify it by the USB port.

    The problem is now, I can no longer cat the device and get any input using the symlink or the actual device... The same applies if I create symlinks for /dev/usb/hiddev[0-1] or /dev/hidraw[1-2].

    Anyone have any ideas on what else I can try?

    PS: The evtouch driver has no support for multiple screens.
    Former author of LinuxICE, nghost, nobdy.
    Current author of Automotive Message Broker (AMB).
    Works on Tizen IVI. Does not represent anyone or anything but himself.

  5. #5
    licensed to kill - FKA kev000
    Auto Apps:loading...
    tripzero's Avatar
    Join Date
    Aug 2006
    Location
    16.40618, 120.61106
    Posts
    2,494

    Working!

    Eeti confirmed the bug and issued me a beta driver. The new driver solved the issue. Multi- Touchscreen is possible in Linux!!
    Former author of LinuxICE, nghost, nobdy.
    Current author of Automotive Message Broker (AMB).
    Works on Tizen IVI. Does not represent anyone or anything but himself.

  6. #6
    Newbie
    Join Date
    May 2009
    Location
    SoCal
    Posts
    8
    Given that a Touch Screen is a HID device, I knew this had to be possible. I am most likely going to use a setup such as this. I'll be back when I decide on what hardware I'm going to use.

Similar Threads

  1. Xbox Media Center 2.0 and Touchscreen
    By blckwdw in forum General MP3Car Discussion
    Replies: 31
    Last Post: 05-12-2009, 08:51 PM
  2. Mulit touchscreen multi functio
    By dapolice1 in forum Input Devices
    Replies: 1
    Last Post: 07-24-2007, 10:46 AM
  3. Problem Identifying Touchscreen Controller
    By yingyang006 in forum Input Devices
    Replies: 0
    Last Post: 01-08-2007, 09:01 PM
  4. Touchscreen in multi monitor setup?
    By tbdean in forum Input Devices
    Replies: 3
    Last Post: 06-19-2006, 09:28 AM
  5. Touchscreen problems with nlite and minlogon
    By Ascension in forum WinNT Based
    Replies: 1
    Last Post: 06-01-2005, 05:18 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •