dmesg:
input: eGalax Inc. Touch as /class/input/input4
input,hiddev96: USB HID v1.12 Pointer [eGalax Inc. Touch] on usb-0000:00:1d.2-2
usbcore: registered new interface driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
cat /proc/bus/usb/devices:
T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=1.5 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0eef ProdID=0001 Rev= 1.00
S: Manufacturer=eGalax Inc.
S: Product=Touch
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 44mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=10ms
cat /proc/bus/input/devices:
I: Bus=0003 Vendor=0eef Product=0001 Version=0112
N: Name="eGalax Inc. Touch"
P: Phys=usb-0000:00:1d.2-2/input0
S: Sysfs=/class/input/input4
H: Handlers=mouse1 event4 ts1
B: EV=b
B: KEY=401 0 30000 0 0 0 0 0 0 0 0
B: ABS=f
/dev/usb/hiddev but the event-based /dev/input/eventX
(event4 in my example above).
First problem is, that a number of other devices also installs such devices, and that their number might change
between boots. Therefore I use the udev rules comming with the evtouch driver. As described in the accompanying
documentation, copy the file 69-touchscreen.rules to the directory /etc/udev/rules.d.
After next reboot, you will have the touchscreen device as /dev/input/evtouch_event.| Byte number | Text |
| 0-3 | Timetag, seconds |
| 4-7 | Timetag, subseconds |
| 8-9 | Event type (0=SYN, 1= Pen up/down, 3= Abs position) |
| 10-11 | Event code (0=SYN, 2=Y pos, 3=X pos, 0x014a= Pen up/down) |
| 12-13 | Value (LSB first, 11 bits). 1 for Pen Down, X or Y in 0-2047. |
| 14-15 | Zeros (?) |
evtouch_drv.so driver module to the directory
/usr/lib/xorg/modules/input/etc/X11/xorg.conf. It would be a good idea to back it up first ;-)
Section "InputDevice"
Identifier "touchscreen0"
Driver "evtouch"
Option "Device" "/dev/input/evtouch_event"
Option "DeviceName" "touchscreen"
Option "MinX" "100"
Option "MinY" "100"
Option "MaxX" "1967"
Option "MaxY" "1850"
Option "SwapY" "1"
Option "ReportingMode" "Raw"
Option "SendCoreEvents" "On"
EndSection
Section "ServerLayout" add a line like:
InputDevice "touchscreen0" Option "ScreenNo" "0" Section "InputDevice". It does however not appear to be working, so the
touchscreen device will be assigned to the first screen, regardless of the ScreenNo. Therefore you must ensure the enclosure LCD display is the
first screen, see here. However, failure to use the
option at all will result in the touchscreen covering all screens.