You are not logged in.

#1 2011-01-28 09:04:17

ernia
Member
Registered: 2008-03-08
Posts: 27

Cando touchscreen right click evtouch - should work for others too

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

#2 2011-01-28 22:56:05

gborzi
Member
From: Sicilia
Registered: 2009-03-18
Posts: 102

Re: Cando touchscreen right click evtouch - should work for others too

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

#3 2011-01-29 15:56:51

gborzi
Member
From: Sicilia
Registered: 2009-03-18
Posts: 102

Re: Cando touchscreen right click evtouch - should work for others too

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

#4 2011-01-30 20:55:15

ernia
Member
Registered: 2008-03-08
Posts: 27

Re: Cando touchscreen right click evtouch - should work for others too

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

#5 2011-01-31 01:27:02

gborzi
Member
From: Sicilia
Registered: 2009-03-18
Posts: 102

Re: Cando touchscreen right click evtouch - should work for others too

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

#6 2011-01-31 07:07:29

ernia
Member
Registered: 2008-03-08
Posts: 27

Re: Cando touchscreen right click evtouch - should work for others too

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

#7 2011-01-31 21:27:08

gborzi
Member
From: Sicilia
Registered: 2009-03-18
Posts: 102

Re: Cando touchscreen right click evtouch - should work for others too

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

#8 2011-01-31 21:36:50

ernia
Member
Registered: 2008-03-08
Posts: 27

Re: Cando touchscreen right click evtouch - should work for others too

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

#9 2011-03-10 12:15:20

pixelbeat
Member
Registered: 2011-03-10
Posts: 1

Re: Cando touchscreen right click evtouch - should work for others too

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

#10 2011-05-13 08:21:18

reboutte
Member
Registered: 2011-05-13
Posts: 1

Re: Cando touchscreen right click evtouch - should work for others too

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

Board footer

Powered by FluxBB