You are not logged in.
I've made some changes to the xf86-input-evtouch PKGBUILD that i enclose here (not the official one) , now it works out of the box with Cando touchscreen in monotouch mode and with windows style right click.
It should work with others touchscreen too, it now works with standard /dev/input/event devices and input class, no need to edit udev rules anymore, but the calibrate conf file which i provide here is for s10-3t, so you probably willl have to calibrate before you can use it.
If you need to edit evtouch options put them in /etc/X11/xorg.conf.d/99-evtouch_click.conf because /etc/X11/xorg.conf.d/90-evtouch_cal.conf get overwritten at every calibration.
useful options:
http://www.conan.de/touchscreen/evtouch.html
http://www.conan.de/touchscreen/libtouch.html
my tarball (uncompress, cd in the exrated folder and do makepkg)
http://hotfile.com/dl/100088884/c82cffa … ar.gz.html
let me know if you have a better hosting
Thanks to GBORZI for the original packagebuild and the options in 99-evtouch_click.conf :-)
Offline
Hello,
I've started looking at your tarball. Seems interesting, especially the removal of the udev rule. I'll check it further and possibly update the package. Thanks a lot for your help.
Giuseppe Borzi' - Registered Linux user #34028
Offline
Hello,
I've made a package with the suggested changes, but run into a problem with calibration: on my tablet "xinput list" returns
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ evtouchscreen id=6 [slave pointer (2)]
⎜ ↳ eGalax INC. USB TouchController id=12 [slave pointer (2)]
⎜ ↳ eGalax INC. USB TouchController id=13 [slave pointer (2)]
⎜ ↳ Genius NetScroll + Traveler id=14 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=16 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ USB 2.0 Camera id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=15 [slave keyboard (3)]
↳ HP WMI hotkeys id=17 [slave keyboard (3)]
so the grep fails and the calibration script doesn't work.
Giuseppe Borzi' - Registered Linux user #34028
Offline
the grep should not fail as far as you have "evtouchscreen" in your xinput list output.
does it fail with the message "You did not restart X after installation or no evtouch capable device found."?
please, may you try this in a shell:
if ! xinput list | grep -q evtouchscreen; then echo "grep ha fallito"; fi
do you have some output? if yes the condition to stop calibration is wrong.
However i find odd that you have two eGalax devices too.
Do you have installed touchscreen drivers other than evdev and evtouch? It seems to me that your touchscreen could be driven by two drivers so maybe /etc/X11/xorg.conf.d/50-evtouch.conf is not the only rule that catch your touchscreen,
May i see your /var/log/Xorg.0.log?
This is my xinput list output
[fabio@s10 ~]$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ USB Optical Mouse id=11 [slave pointer (2)]
⎜ ↳ evtouchscreen id=12 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Lenovo EasyCamera id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
i have installed only evdev and evtouch and all works. let me know, thanks for your time
Offline
I understood the problem. The line with evtouchscreen only appears in my xinput list output when there is the link evtouch_event under /dev/input. Otherwise it doesn't show. The xinput output I posted was obtained after I reinstalled the previous version of the package.
I made another attempt with the package modifications you have suggested. Installed it and the retried to calibrate removing the check on xinput. For some reason the calibration failed, after completing it the values where totally wrong (min=20000, max=0).
Giuseppe Borzi' - Registered Linux user #34028
Offline
the grep in calibrate.sh is there to check that a touchscreen driven by evtouch exists, i think that if you skip the check you don't know what calibration.sh is trying to calibrate.
in your case it seems that 50-evtouch.conf (which should assign your touchscreen to evtouch) does not catch your touchscreen or that another driver with an higher starting number grab the device, so evtouch ignore your device and evtouchscreen does not appear in you xinput list output.
may you post your device vendor and product id and relevant parts of your Xorg.0.log ?
meanwhile (with no hurry, i have a real life too :-) ) i will install arch on a spare samsung q1 i own and try the package there .
Offline
Hello Ernia,
the other device that grabs the touchscreen is evdev. However, when the evtouch_event link is under /dev/input evtouch works. BTW, I noticed that evdev works better for my touchscreen (USBID 0eef:0001) than evtouch so I uninstalled the latter, and I'm currently using evdev. So, I've no more evtouch lines in my Xorg log. I'm going to orphan the evtouch package on AUR, are you interested in adopting it?
The only thing I miss with evdev is the right mouse button emulation. Do you know how to emulate it with evdev?
Giuseppe Borzi' - Registered Linux user #34028
Offline
as far as i know evdev does not support right click, i would stay with evdev in that case.
thank you, but i'm not expert enough to mantain a package, and it seems evident that my 50-evtouch.conf is not so good as i thought :-)
Offline
Right button emulation has been added recently to evdev
http://cgit.freedesktop.org/xorg/driver … d=d9001a6b
It's easy enough to backport that to evdev 2.5.0 if required
Offline
Hello,
i want to use evtouch with xorg 1.10, but i can't compile it.
make[1]: entrant dans le répertoire « /tmp/yaourt-tmp-root/aur-xf86-input-evtouch/src/xf86-input-evtouch-0.8.8 »
/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -DXINPUT -march=i686 -mtune=generic -O2 -pipe -fvisibility=hidden -I/usr/include/xorg -I/usr/include/pixman-1 -march=i686 -mtune=generic -O2 -pipe -MT evtouch_drv_la-evtouch.lo -MD -MP -MF .deps/evtouch_drv_la-evtouch.Tpo -c -o evtouch_drv_la-evtouch.lo `test -f 'evtouch.c' || echo './'`evtouch.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -DXINPUT -march=i686 -mtune=generic -O2 -pipe -fvisibility=hidden -I/usr/include/xorg -I/usr/include/pixman-1 -march=i686 -mtune=generic -O2 -pipe -MT evtouch_drv_la-evtouch.lo -MD -MP -MF .deps/evtouch_drv_la-evtouch.Tpo -c evtouch.c -fPIC -DPIC -o .libs/evtouch_drv_la-evtouch.o
In file included from evtouch.c:93:0:
libtouch.h:51:9: erreur: unknown type name ‘LocalDevicePtr’
libtouch.h:61:44: erreur: unknown type name ‘LocalDevicePtr’
In file included from evtouch.c:94:0:
evtouch.h:143:9: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:106:36: erreur: unknown type name ‘IDevPtr’
evtouch.c:110:15: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:128:9: erreur: ‘EVTouchPreInit’ undeclared here (not in a function)
evtouch.c:186:13: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c: In function ‘emulate3Timer’:
evtouch.c:200:9: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:200:33: erreur: ‘LocalDevicePtr’ undeclared (first use in this function)
evtouch.c:200:33: note: each undeclared identifier is reported only once for each function it appears in
evtouch.c:200:48: erreur: expected ‘,’ or ‘;’ before ‘_local’
evtouch.c:201:59: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:205:34: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:215:43: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:224:43: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:236:43: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c: In function ‘DoBtnAction’:
evtouch.c:251:9: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:269:51: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c: In function ‘EVTouchProcessAbs’:
evtouch.c:320:3: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:324:31: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:328:31: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:335:31: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:339:31: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c: In function ‘EVTouchLBRBEvent’:
evtouch.c:388:9: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:399:57: attention : passing argument 5 of ‘TimerSet’ makes pointer from integer without a cast [enabled by default]
/usr/include/xorg/os.h:189:29: note: expected ‘pointer’ but argument is of type ‘int’
evtouch.c: Hors de toute fonction :
evtouch.c:494:16: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c: In function ‘DeviceOn’:
evtouch.c:507:9: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:507:33: erreur: ‘LocalDevicePtr’ undeclared (first use in this function)
evtouch.c:507:49: erreur: expected ‘,’ or ‘;’ before ‘dev’
evtouch.c:508:60: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:510:14: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:510:41: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:514:18: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:516:75: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:520:37: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:527:38: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:528:22: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:538:29: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:540:24: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:541:76: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:545:9: attention : passing argument 1 of ‘xf86AddEnabledDevice’ makes pointer from integer without a cast [enabled by default]
/usr/include/xorg/xf86Xinput.h:152:23: note: expected ‘InputInfoPtr’ but argument is of type ‘int’
evtouch.c: In function ‘DeviceOff’:
evtouch.c:561:9: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:561:33: erreur: ‘LocalDevicePtr’ undeclared (first use in this function)
evtouch.c:561:49: erreur: expected ‘,’ or ‘;’ before ‘dev’
evtouch.c:562:60: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:566:18: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:568:28: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:569:17: attention : passing argument 1 of ‘xf86RemoveEnabledDevice’ makes pointer from integer without a cast [enabled by default]
/usr/include/xorg/xf86Xinput.h:153:23: note: expected ‘InputInfoPtr’ but argument is of type ‘int’
evtouch.c:575:38: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:576:22: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c: In function ‘DeviceInit’:
evtouch.c:595:9: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:595:33: erreur: ‘LocalDevicePtr’ undeclared (first use in this function)
evtouch.c:595:49: erreur: expected ‘,’ or ‘;’ before ‘dev’
evtouch.c:596:60: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:653:9: attention : ‘Xcalloc’ is deprecated (declared at /usr/include/xorg/os.h:226) [-Wdeprecated-declarations]
evtouch.c:673:36: erreur: invalid type argument of ‘->’ (have ‘int’)
evtouch.c:686:36: erreur: too few arguments to function ‘xf86InitValuatorAxisStruct’
/usr/include/xorg/xf86Xinput.h:148:23: note: declared here
evtouch.c:695:36: erreur: too few arguments to function ‘xf86InitValuatorAxisStruct’
/usr/include/xorg/xf86Xinput.h:148:23: note: declared here
evtouch.c:721:9: attention : passing argument 1 of ‘xf86MotionHistoryAllocate’ makes pointer from integer without a cast [enabled by default]
/usr/include/xorg/xf86Xinput.h:166:23: note: expected ‘InputInfoPtr’ but argument is of type ‘int’
evtouch.c: Hors de toute fonction :
evtouch.c:809:24: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:885:13: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:903:12: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:923:15: erreur: unknown type name ‘LocalDevicePtr’
evtouch.c:1147:36: erreur: unknown type name ‘IDevPtr’
make[1]: *** [evtouch_drv_la-evtouch.lo] Erreur 1
make[1]: quittant le répertoire « /tmp/yaourt-tmp-root/aur-xf86-input-evtouch/src/xf86-input-evtouch-0.8.8 »
make: *** [all] Erreur 2
==> ERREUR: Une erreur s'est produite dans build().
Abandon...
==> ERREUR: Makepkg n'a pas pu construire xf86-input-evtouch.
==> Relancer la compilation de xf86-input-evtouch ? [o/N]
==> ----------------------------------------------------
i can't download the tar.gz at http://hotfile.com/dl/100088884/c82cffa … ar.gz.html.
thk
Offline