webcamd based touchscreen problem on Pi3
Bernd Walter
ticso at cicely7.cicely.de
Thu Mar 8 19:11:41 UTC 2018
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.
More information about the freebsd-current
mailing list