Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Mar 2018 20:11:31 +0100
From:      Bernd Walter <ticso@cicely7.cicely.de>
To:        Greg <greg@unrelenting.technology>, Roberto Fernandez Cueto <r.fernandez-cueto@bally-wulff.de>
Cc:        Hans Petter Selasky <hps@selasky.org>, ticso@cicely.de, freebsd-arm@freebsd.org, freebsd-current@freebsd.org, Bernd Walter <ticso@cicely7.cicely.de>
Subject:   Re: webcamd based touchscreen problem on Pi3
Message-ID:  <20180308191131.GB86413@cicely7.cicely.de>
In-Reply-To: <20180308163605.GA61875@BWEPCFERNANDEZ> <20180308163026.z3ptrc7376smnsrt@unrelenting.technology>
References:  <20180308161645.GF80981@cicely7.cicely.de> <20180308163605.GA61875@BWEPCFERNANDEZ> <20180308161645.GF80981@cicely7.cicely.de> <818e1917-0472-c0dd-a9d6-b7532faf4d4b@selasky.org> <20180308163026.z3ptrc7376smnsrt@unrelenting.technology>

next in thread | previous in thread | raw e-mail | index | archive | help
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@bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180308191131.GB86413>