Re: webcamd based touchscreen problem on Pi3

From: Bernd Walter <ticso_at_cicely7.cicely.de>
Date: Thu, 8 Mar 2018 20:11:31 +0100
On Thu, Mar 08, 2018 at 07:30:26PM +0300, Greg wrote:
> On 03/08, Hans Petter Selasky wrote:
> >On 03/08/18 17:16, Bernd Walter wrote:
> >>Hardware is a Raspberry Pi3 with current r330034.
> >>I'm trying to run a USB touchscreen.
> >>Tested wmt and uep, but neither wants to attach, although the Waveshare
> >>display I'm using is likely running an egalaxy firmware.
> >>However webcamd accepts the device and creates a /dev/input/event0.
> >>But I can't get X to use it.
> >>xf86-input-evdev-2.10.5 is installed and it created an X config file
> >>under /usr/local/share/X11/xorg.conf.d/10-evdev.conf.
> >>I also tried some google results in /etc/X11/xorg.conf, but X never
> >>touches the device:
> >
> >See here:
> >
> >https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196678
> 
> Or here:
> 
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222609
> 
> But that's all about hotplug. It is definitely possible to manually 
> configure the device on the stock xorg-server package. I can't say if 
> the "google results" are correct without actually seeing them, but it 
> should explicitly specify the /dev/input/event0 path.

Thank you both for the links.
I'd already seen them and had been a bit confused if they are required or
not and also found references that a manual configuration should work.

On Thu, Mar 08, 2018 at 05:36:06PM +0100, Roberto Fernandez Cueto wrote:
> Roberto Fernandez-Cueto schrieb am 08.03.2018 17:36
> _____________________________________________________________________
> 
> You have to explicitely tell Xorg that you want to use the touch with
> the layout.
> 
> Something like,
> 
> Section "ServerLayout"
> 	Identifier	"MyLayout"
> 	InputDevice	"touchscreen"
> EndSection

Thank you - this was the missing link, why my static configuration failed.
I'd only setup the InputDevice section.

This is what I have right now:
[20]sa# cat /etc/X11/xorg.conf 

Section "InputDevice"
        Identifier      "Touchscreen"
        Driver          "evdev"
        Option          "Device" "/dev/input/event0"
EndSection

Section "ServerLayout"
        Identifier      "MyLayout"
        InputDevice     "Touchscreen"
EndSection


Unfortunately now I face the next problem.

[112753.535] (II) Using input driver 'evdev' for 'evdev touchscreen'
[112753.536] (**) evdev touchscreen: always reports core events
[112753.536] (**) evdev: evdev touchscreen: Device: "/dev/input/event0"
[112753.598] (--) evdev: evdev touchscreen: Vendor 0xeef Product 0x5
[112753.598] (--) evdev: evdev touchscreen: Found absolute axes
[112753.598] (--) evdev: evdev touchscreen: Found absolute multitouch axes
[112753.598] (II) evdev: evdev touchscreen: No buttons found, faking one.
[112753.598] (--) evdev: evdev touchscreen: Found x and y absolute axes
[112753.598] (--) evdev: evdev touchscreen: Found absolute touchscreen
[112753.598] (II) evdev: evdev touchscreen: Configuring as touchscreen
[112753.598] (**) evdev: evdev touchscreen: YAxisMapping: buttons 4 and 5
[112753.598] (**) evdev: evdev touchscreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[112753.598] (II) XINPUT: Adding extended input device "evdev touchscreen" (type: TOUCHSCREEN, id 6)
[112753.599] (II) evdev: evdev touchscreen: initialized for absolute axes.
[112753.600] (**) evdev touchscreen: (accel) keeping acceleration scheme 1
[112753.600] (**) evdev touchscreen: (accel) acceleration profile 0
[112753.600] (**) evdev touchscreen: (accel) acceleration factor: 2.000
[112753.600] (**) evdev touchscreen: (accel) acceleration threshold: 4
[112753.601] (WW) fcntl(6, F_SETOWN): Invalid argument

[26]sa-moeller> xinput
 Virtual core pointer                         id=2    [master pointer  (3)]
    Virtual core XTEST pointer               id=4    [slave  pointer  (2)]
    Touchscreen                              id=6    [slave  pointer  (2)]
    sysmouse                                 id=8    [slave  pointer  (2)]
 Virtual core keyboard                        id=3    [master keyboard (2)]
     Virtual core XTEST keyboard              id=5    [slave  keyboard (3)]
     kbdmux                                   id=7    [slave  keyboard (3)]

Everything looks good so far, at least in my eyes.
Well - wheel emulation and such sounds a bit strange, as if it is handled
as a touchpad and not like a touchscreen.
But it says type touchscreen, so I assume that's ok.
However, I get no touch events.
I've started xev fullscreen and still nothing.

Somewhere else I've read that /dev/input/event0 should deliver something
if read and a touch happens, but this is not the case for me.

Any ideas how I can debug this thing?
There was a reference somewhere about a commandline programm to run against
an evdev, but I can't find it anymore.

-- 
B.Walter <bernd_at_bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.
Received on Thu Mar 08 2018 - 18:11:41 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:15 UTC