In window's it works great using the GeneralTouch altered egalax drivers. I don't know what has been changed, but they have at least been rebranded. In ubuntu 9.0.4 it is detected by the synaptics driver and the mouse movement is great, except it treats it as a touchpad, not a touchscreen. Any way it can be used to handle absolute co-ords? The movement is great in ubuntu.
usbtouchscreen recognizes the device. usbhid does not, despite the device being being a usbhid compliant device.
input: General Touch Co. Ltd. General Touch USB Touchscreen as /class/input/input7
I had a similar device and it worked OK. If slid aroudn the screen too much, the mouse wouldn't follow until you clicked, but at least it was functional. This was using usbtouchscreen and the egalax xorg driver from eeti.com. The proprietary usbmodule (TKUSB) from eeti has the same results as usbtouchscreen.
I thought it was possible to use generic evdev kernel/X driver, but I the kernel doesn't detect the device.
for the egalax X driver to work, I have to specify the exact event in teh configuration or the calibration tool won't work. I had a similar device and used to be able to specify /dev/input/event* as the device and it would find the touchscreen, but that doesn't work anymore.
I can run the eeti calibration tool and it will calibrate, but the mouse still won't respond properly. If I move around in the very bottom left 10% of the screen, the TS generates some reasonable data and will move the mouse around (although won't move the mouse to my touch location). It looks like Y axis is reversed also. If you touch anywhere else on the screen, it moves the mouse to the far left of the screen and the mouse won't respond to sliding.
I'm running 2.6.30-gentoo-r6
Code: Select all
Bus 003 Device 003: ID 0dfc:0001 GeneralTouch Technology Co., Ltd Touchscreen
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0dfc GeneralTouch Technology Co., Ltd
idProduct 0x0001 Touchscreen
bcdDevice 0.01
iManufacturer 1 General Touch Co. Ltd.
iProduct 2 General Touch USB Touchscreen
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 34
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 200mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0 No Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 85
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0007 1x 7 bytes
bInterval 10
Device Status: 0x0002
(Bus Powered)
Remote Wakeup Enabled
Code: Select all
T: Bus=03 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 3 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0dfc ProdID=0001 Rev= 0.01
S: Manufacturer=General Touch Co. Ltd.
S: Product=General Touch USB Touchscreen
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=200mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=02 Driver=usbtouchscreen
E: Ad=81(I) Atr=03(Int.) MxPS= 7 Ivl=10ms
Code: Select all
I: Bus=0003 Vendor=0dfc Product=0001 Version=0001
N: Name="General Touch Co. Ltd. General Touch USB Touchscreen"
P: Phys=usb-0000:00:02.0-2/input0
S: Sysfs=/class/input/input7
U: Uniq=
H: Handlers=mouse1 event2
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=3
Code: Select all
(**) Option "CorePointer"
(**) egalax: always reports core events
(**) egalax X device name: egalax
(**) egalaxHistroSize=10
(**) Option "ScreenNo" "0"
(**) egalax associated screen: 0
(**) egalaxParameter=/var/lib/eeti.param
(**) egalax Rotation option is enabled.
Code: Select all
### Touch Configuration Beginning ###
Section "InputDevice"
Identifier "EETI"
Driver "egalax"
#Option "Device" "usbauto"
#Option "Device" "/dev/input/event*"
Option "Device" "/dev/input/event2"
Option "Parameters" "/var/lib/eeti.param"
Option "ScreenNo" "0"
#Option "AutoMapping" "1"
EndSection
### Touch Configuration End ###

