Touchscreen

From Alessandro's Wiki


IIyama multitouch screen

  • dmesg
usb 2-1.2: new full speed USB device number 22 using ehci_hcd
usb 2-1.2: New USB device found, idVendor=0408, idProduct=3001
usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-1.2: Product: OpticalTouchScreen
usb 2-1.2: Manufacturer: QUANTA
  • lsusb:
Bus 002 Device 022: ID 0408:3001 Quanta Computer, Inc. Optical Touch Screen
  • cat /proc/bus/usb/devices
T:  Bus=03 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12   MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0408 ProdID=3001 Rev= 0.11
S:  Manufacturer=QUANTA
S:  Product=OpticalTouchScreen
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=8ms

hiding the mouse pointer

  • in xorg.conf
    Section "InputDevice"
        Identifier "dummy"
        Driver "void"
        Option "Device" "/dev/input/mice"
    EndSection
  • and in the "ServerLayout" section:
InputDevice "dummy"

testing in redhat

yum install \
libpciaccess xorg-x11-font-utils xorg-x11-util-macros libdrm xinput_calibrator usbmuxd tslib xorg-x11-drv-synaptics wacomexpresskeys xorg-x11-drv-mutouch

ubuntu

  • in ubuntu 10.10 it just works fine:
dmesg
input: QUANTA OpticalTouchScreen as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3/2-1.3:1.0/input/input4
quanta-touch 0003:0408:3001.0001: input,hidraw2: USB HID v1.10 Device [QUANTA OpticalTouchScreen] on usb-0000:00:1d.0-1.3/input0
  • lsmod |grep quanta
hid_quanta             12729  0 
hid                    77367  2 hid_quanta,usbhid
  • grep -ri quanta /etc/
/etc/X11/xorg.conf.d/99-calibration.conf:       MatchProduct    "QUANTA OpticalTouchScreen"
  • root@gang01:~# locate hid-quanta

/lib/modules/3.0.0-17-generic/kernel/drivers/hid/hid-quanta.ko

Gentoo

  • I added the following to the /etc/make.conf
INPUT_DEVICES="evdev synaptics" 
  • created the file /etc/X11/xorg.conf.d/20-synaptics.conf
Section "InputClass"
Identifier "touchpad catchall"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Driver "synaptics"
Option "SHMConfig" "on"
Option "TapButton1" "1"
Option "TapButton2" "2" sc
Option "TapButton3" "3"
Option "VertEdgeScroll" "on"
Option "VertTwoFingerScroll" "on"
Option "HorizEdgeScroll" "on"
Option "HorizTwoFingerScroll" "on"
Option "CircularScrolling" "on"
Option "CircScrollTrigger" "2"
Option "EmulateTwoFingerMinZ" "0"
EndSection 

wacom graphic

... 
# Synaptics Touchpad device
Section "InputDevice"
    Identifier "touchpad"
    Option     "Protocol"        "IMPS/2"
    Option     "Device"          "/dev/input/mice"
    Option     "Emulate3Buttons"
#   Option     "Emulate3Timeout" "50"
EndSection

# wacom pen device
Section "InputDevice"
    Driver     "wacom"
    Identifier "stylus"
    Option     "type"           "stylus"
    Option     "device"         "/dev/input/tablet-tpc93-stylus"
    Option     "USB"            "on"
    Option     "ForceDevice"    "ISDV4"#Doesn't seem to be needed with option above
# Without this, the button on the stylus won't work with newer linuxwacom
    Option     "TPCButton" "off"
# Make the stylus button a right-click
    Option     "Button2"        "3"
EndSection

Section "InputDevice"
    Driver     "wacom"
    Identifier "eraser"
    Option     "type"           "eraser"
    Option     "device"         "/dev/input/tablet-tpc93-stylus"
    Option     "USB"            "on"
    Option     "ForceDevice"    "ISDV4"#Doesn't seem to be needed with option above
EndSection

# Wacom touchscreen
Section "InputDevice"
    Driver     "wacom"
    Identifier "touch"
    Option     "type"           "touch"
    Option     "device"         "/dev/input/tablet-tpc93-touch"
    Option     "USB"            "on"
    Option     "ForceDevice"    "ISDV4"$Doesn't seem to be needed with above option
# Calibration for the touch screen (same options for above devices).  Yours may vary and you should try without these first.
    Option     "TopX"           "1025"
    Option     "TopY"           "800"
    Option     "BottomX"        "25400"
    Option     "BottomY"        "15500"
EndSection


... 
Section "ServerLayout"
    InputDevice "touchpad"      "CorePointer"
    InputDevice "stylus"        "SendCoreEvents"
    InputDevice "eraser"        "SendCoreEvents"
    InputDevice "touch"         "SendCoreEvents"
... 
EndSection