From nobody Thu Jun 6 17:07:59 2024 X-Original-To: freebsd-x11@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Vw9l00lT6z5NGyL for ; Thu, 06 Jun 2024 17:08:12 +0000 (UTC) (envelope-from freebsd-x11@dino.sk) Received: from cm0.netlabit.sk (mailhost.netlabit.sk [84.245.65.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Vw9ky6JKWz4KDm for ; Thu, 6 Jun 2024 17:08:10 +0000 (UTC) (envelope-from freebsd-x11@dino.sk) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of freebsd-x11@dino.sk designates 84.245.65.72 as permitted sender) smtp.mailfrom=freebsd-x11@dino.sk Received: from zeta.dino.sk ([84.245.95.254]) (AUTH: LOGIN milan, TLS: TLSv1.3,256bits,TLS_AES_256_GCM_SHA384) by cm0.netlabit.sk with ESMTPSA id 000000000081D602.000000006661ECF0.000092E5; Thu, 06 Jun 2024 19:08:00 +0200 Date: Thu, 6 Jun 2024 19:07:59 +0200 From: Milan Obuch To: freebsd-x11@freebsd.org Subject: USB HID touch screen problem Message-ID: <20240606190759.1d438f28@zeta.dino.sk> X-Mailer: Claws Mail 3.20.0 (GTK+ 2.24.33; amd64-portbld-freebsd13.3) List-Id: X11 List-Archive: https://lists.freebsd.org/archives/freebsd-x11 List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-x11@freebsd.org Sender: owner-freebsd-x11@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spamd-Bar: --- X-Spamd-Result: default: False [-3.30 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.999]; NEURAL_HAM_SHORT(-1.00)[-0.999]; R_SPF_ALLOW(-0.20)[+mx]; MIME_GOOD(-0.10)[text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; RCVD_COUNT_ONE(0.00)[1]; ASN(0.00)[asn:5578, ipnet:84.245.64.0/18, country:SK]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_ALL(0.00)[]; MLMMJ_DEST(0.00)[freebsd-x11@freebsd.org]; MID_RHS_MATCH_FROMTLD(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[]; R_DKIM_NA(0.00)[]; TO_DN_NONE(0.00)[]; DMARC_NA(0.00)[dino.sk]; TO_MATCH_ENVRCPT_ALL(0.00)[]; ARC_NA(0.00)[] X-Rspamd-Queue-Id: 4Vw9ky6JKWz4KDm Hi, for some project I have system with touch screen, but I did not figure way to use it, yet. I did try webcamd for the task, but did not succeed. The device in question is ugen0.3: at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (500mA) bLength = 0x0012 bDescriptorType = 0x0001 bcdUSB = 0x0110 bDeviceClass = 0x0000 bDeviceSubClass = 0x0000 bDeviceProtocol = 0x0000 bMaxPacketSize0 = 0x0040 idVendor = 0x14e1 idProduct = 0x6000 bcdDevice = 0xa4b4 iManufacturer = 0x0001 iProduct = 0x0002 iSerialNumber = 0x0000 bNumConfigurations = 0x0001 I am able to see some data exchange using this command: usbhid-dump -i 0.3 -ea showing packets when I touch the screen like this... 000:003:000:DESCRIPTOR 1717690937.503899 05 01 09 02 A1 01 09 01 A1 00 09 00 15 00 25 01 95 06 75 01 81 01 05 09 19 01 29 03 15 00 25 01 95 02 75 01 81 02 05 01 09 30 09 31 15 00 26 FF 03 36 80 00 46 FF 7F 75 10 95 02 81 02 09 00 15 00 26 FF 00 75 08 95 05 B1 02 C0 C0 000:002:000:DESCRIPTOR 1717690937.506215 05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01 95 08 75 01 81 02 95 01 75 08 81 01 05 08 19 01 29 03 95 03 75 01 91 02 95 05 75 01 91 01 95 06 75 08 15 00 26 E7 00 05 07 19 00 29 E7 81 00 C0 Starting dumping interrupt transfer stream with 1 minute timeout. LIBUSB_FUNCTION: libusb_submit_transfer enter LIBUSB_FUNCTION: libusb_submit_transfer leave 0 LIBUSB_FUNCTION: libusb_submit_transfer enter LIBUSB_FUNCTION: libusb_submit_transfer leave 0 LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter LIBUSB_FUNCTION: libusb10_handle_events_sub enter LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter LIBUSB_FUNCTION: libusb10_handle_events_sub enter 000:003:000:STREAM 1717690944.234125 70 56 01 B0 01 LIBUSB_FUNCTION: libusb_submit_transfer enter LIBUSB_FUNCTION: libusb_submit_transfer leave 0 LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter LIBUSB_FUNCTION: libusb10_handle_events_sub enter 000:003:000:STREAM 1717690944.246114 70 56 01 B0 01 ending with, when releasing touch, with LIBUSB_FUNCTION: libusb_submit_transfer enter LIBUSB_FUNCTION: libusb_submit_transfer leave 0 LIBUSB_FUNCTION: libusb_handle_events_timeout_completed exit LIBUSB_FUNCTION: libusb_handle_events_timeout_completed enter LIBUSB_FUNCTION: libusb10_handle_events_sub enter 000:003:000:STREAM 1717690944.352116 30 56 01 B0 01 So hardware-wise, it works, I see data being send in reaction to touches and moves on screen, but I'd like to transform those data packets into events to be fed into X. I tried uhidd, with command uhidd -dDvvv -km /dev/ugen0.3 (with some -d, -D, -v flags in combination) and I see some data in decoded (understandable) form, so there is still something missing. So, anybody knows the missing last (hopefully) step to get working touch screen in X? Regards, Milan