Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Mar 2018 01:11:28 +0200
From:      Bernd Walter <ticso@cicely7.cicely.de>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        Bernd Walter <ticso@cicely7.cicely.de>, freebsd-arm@freebsd.org, freebsd-current@freebsd.org, ticso@cicely.de
Subject:   Re: webcamd based touchscreen problem on Pi3
Message-ID:  <20180325231128.GA16646@cicely7.cicely.de>
In-Reply-To: <20180312111246.GA14138@cicely7.cicely.de>
References:  <20180308200849.GC86413@cicely7.cicely.de> <20180308210805.GE86413@cicely7.cicely.de> <ef53e666-237f-bb96-efaa-d8b9e020488e@selasky.org> <20180309004433.GI86413@cicely7.cicely.de> <4765ef04-6fb1-f9dc-315d-c4419d6ba016@selasky.org> <20180309114025.GJ86413@cicely7.cicely.de> <e7edfe70-d289-da01-c253-01c27febca3b@selasky.org> <20180309132539.GL86413@cicely7.cicely.de> <20180310000336.GM86413@cicely7.cicely.de> <20180312111246.GA14138@cicely7.cicely.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 12, 2018 at 12:12:47PM +0100, Bernd Walter wrote:
> On Sat, Mar 10, 2018 at 01:03:39AM +0100, Bernd Walter wrote:
> > On Fri, Mar 09, 2018 at 02:25:39PM +0100, Bernd Walter wrote:
> > So the older 7" HDMI C Rev 1.1 with the non IPS panel won't even attach, but
> > it always needed some special binary support for Linux, no surprises here.
> > The newer Rev 2.1 with the IPS panel claims to be the same and work with
> > webcamd, at least I get data via /dev/input/event0, which looks reasonable
> > with evdev-dump.
> > That's an interesting starting point.
> 
> I've got a new model of the 10" HDMI B.
> It behaves differently.
> First of all - uep seems to take it, which it didn't for any of
> the previous displays I'd tested.
> I had to remove the driver from the loader.conf to have webcamd attach to it.
> webcamd attaches fine and it delivers touch events:
> [29]sa# evdev-dump /dev/input/event0
> /dev/input/event0  3041705595.425438 EV_ABS ABS_MT_TRACKING_ID 0x00000000
> /dev/input/event0  3041705595.425438 EV_ABS ABS_MT_POSITION_X 0x000001CF
> /dev/input/event0  3041705595.425438 EV_ABS ABS_MT_POSITION_Y 0x0000025E
> /dev/input/event0  3041705595.425438 EV_ABS ABS_MT_PRESSURE 0x00000005
> /dev/input/event0  3041705595.425438 EV_KEY BTN_TOUCH 0x00000001
> /dev/input/event0  3041705595.425438 EV_ABS ABS_X 0x000001CF
> /dev/input/event0  3041705595.425438 EV_ABS ABS_Y 0x0000025E
> /dev/input/event0  3041705595.425438 EV_ABS ABS_PRESSURE 0x00000005
> /dev/input/event0  3041705595.425438 EV_SYN SYN_REPORT 0x00000000
> 
> Whatever had been the cause for my previous problem, they obviously
> have fixed them in firmware.

Unfortunately I still have some problems.
[63]sa# evdev-dump /dev/input/event1
/dev/input/event1  3043946310.664423 EV_ABS ABS_MT_TRACKING_ID 0x0000003F
/dev/input/event1  3043946310.664423 EV_ABS ABS_MT_POSITION_X 0x000001C9
/dev/input/event1  3043946310.664423 EV_ABS ABS_MT_POSITION_Y 0x00000112
/dev/input/event1  3043946310.664423 EV_KEY BTN_TOUCH 0x00000001
/dev/input/event1  3043946310.664423 EV_ABS ABS_X 0x000001C9
/dev/input/event1  3043946310.664423 EV_ABS ABS_Y 0x00000112
/dev/input/event1  3043946310.664423 EV_SYN SYN_REPORT 0x00000000
/dev/input/event1  3043946310.784395 EV_ABS ABS_MT_TRACKING_ID 0xFFFFFFFF
/dev/input/event1  3043946310.784395 EV_KEY BTN_TOUCH 0x00000000
/dev/input/event1  3043946310.784395 EV_SYN SYN_REPORT 0x00000000




/dev/input/event1  3043946316.944324 EV_ABS ABS_MT_TRACKING_ID 0x00000040
/dev/input/event1  3043946316.944324 EV_ABS ABS_MT_POSITION_X 0x000001CE
/dev/input/event1  3043946316.944324 EV_ABS ABS_MT_POSITION_Y 0x000000FE
/dev/input/event1  3043946316.944324 EV_KEY BTN_TOUCH 0x00000001
/dev/input/event1  3043946316.944324 EV_ABS ABS_X 0x000001CE
/dev/input/event1  3043946316.944324 EV_ABS ABS_Y 0x000000FE
/dev/input/event1  3043946316.944324 EV_SYN SYN_REPORT 0x00000000
/dev/input/event1  3043946317.004303 EV_ABS ABS_MT_TRACKING_ID 0xFFFFFFFF
/dev/input/event1  3043946317.004303 EV_KEY BTN_TOUCH 0x00000000
/dev/input/event1  3043946317.004303 EV_SYN SYN_REPORT 0x00000000



/dev/input/event1  3043946319.744283 EV_ABS ABS_MT_TRACKING_ID 0x00000041
/dev/input/event1  3043946319.744283 EV_ABS ABS_MT_POSITION_X 0x0000020E
/dev/input/event1  3043946319.744283 EV_ABS ABS_MT_POSITION_Y 0x000000D8
/dev/input/event1  3043946319.744283 EV_KEY BTN_TOUCH 0x00000001
/dev/input/event1  3043946319.744283 EV_ABS ABS_X 0x0000020E
/dev/input/event1  3043946319.744283 EV_ABS ABS_Y 0x000000D8
/dev/input/event1  3043946319.744283 EV_SYN SYN_REPORT 0x00000000
/dev/input/event1  3043946319.864240 EV_ABS ABS_MT_TRACKING_ID 0xFFFFFFFF
/dev/input/event1  3043946319.864240 EV_KEY BTN_TOUCH 0x00000000
/dev/input/event1  3043946319.864240 EV_SYN SYN_REPORT 0x00000000



/dev/input/event1  3043946322.004229 EV_ABS ABS_MT_TRACKING_ID 0x00000042
/dev/input/event1  3043946322.004229 EV_ABS ABS_MT_POSITION_X 0x00000209
/dev/input/event1  3043946322.004229 EV_ABS ABS_MT_POSITION_Y 0x000000CD
/dev/input/event1  3043946322.004229 EV_KEY BTN_TOUCH 0x00000001
/dev/input/event1  3043946322.004229 EV_ABS ABS_X 0x00000209
/dev/input/event1  3043946322.004229 EV_ABS ABS_Y 0x000000CD
/dev/input/event1  3043946322.004229 EV_SYN SYN_REPORT 0x00000000




/dev/input/event1  3043946325.454187 EV_ABS ABS_MT_POSITION_X 0x0000016A
/dev/input/event1  3043946325.454187 EV_ABS ABS_MT_POSITION_Y 0x000000D2
/dev/input/event1  3043946325.454187 EV_ABS ABS_X 0x0000016A
/dev/input/event1  3043946325.454187 EV_ABS ABS_Y 0x000000D2
/dev/input/event1  3043946325.454187 EV_SYN SYN_REPORT 0x00000000
/dev/input/event1  3043946325.574174 EV_ABS ABS_MT_POSITION_X 0x0000016B
/dev/input/event1  3043946325.574174 EV_ABS ABS_X 0x0000016B
/dev/input/event1  3043946325.574174 EV_SYN SYN_REPORT 0x00000000

All 5 blocks are a single touch, which means finger on screen for a short
moment.
On the first 3 I get position data and BTN_TOUCH 1 as well as BTN_TOUCH 0.
But this is not consistent, sometime I get only a 1 and sometime only a 0.
In the 5th block I even got neither.
The timestamps on the first 3 cases mark it clearly when I removed the finger.
I got a 1 on touch-start and a 0 on touch-end.
On the 4th case I got a touch-start, but no touch-end.
In the 5th case I only got positon updates.
This is a 7" display - the 10" also delivers ABS_PRESSURE, but the problem
is the same that I don't consistently get the EV_KEY events.

-- 
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?20180325231128.GA16646>