From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.5 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 22872C433E0 for ; Thu, 30 Jul 2020 17:23:47 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id F2FF620809 for ; Thu, 30 Jul 2020 17:23:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728452AbgG3RXq (ORCPT ); Thu, 30 Jul 2020 13:23:46 -0400 Received: from mail.astralinux.ru ([217.74.38.120]:60648 "EHLO astralinux.ru" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726353AbgG3RXq (ORCPT ); Thu, 30 Jul 2020 13:23:46 -0400 X-Greylist: delayed 3601 seconds by postgrey-1.27 at vger.kernel.org; Thu, 30 Jul 2020 13:23:44 EDT Received: from [46.148.196.138] (account dmastykin@astralinux.ru HELO [192.168.32.67]) by astralinux.ru (CommuniGate Pro SMTP 6.2.7) with ESMTPSA id 2154501; Thu, 30 Jul 2020 19:20:52 +0300 From: Dmitry Mastykin Subject: hid-multitouch: goodix: hovering works as touch To: linux-input@vger.kernel.org Cc: Hans de Goede Message-ID: <8a538cad-c3f2-6172-1d6e-a18c89b51337@astralinux.ru> Date: Thu, 30 Jul 2020 19:23:40 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------1DAB20090E2F8721320A19AC" Content-Language: en-US Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org This is a multi-part message in MIME format. --------------1DAB20090E2F8721320A19AC Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Hello all, I'm using a notebook with Goodix gt7385p touchscreen controller in HID Protocol Device (I2C bus) mode. hid-multitouch driver is servicing this device. I added this to be sure the quirks set: { .driver_data = MT_CLS_WIN_8_DUAL, HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8, I2C_VENDOR_ID_GOODIX, I2C_DEVICE_ID_GOODIX_0113) }, The problem is that hovering works as touch, and UI menus and buttons are activated before I touch the panel with stylus. I attach evtest output of touching panel be stylus and removing stylus away. Trying a wacom pen tablet, borrowed from my daughter, I see that they use such a sequence: EV_KEY BTN_TOOL_PEN 1 - start hovering here EV_KEY BTN_TOUCH 1 - start touching EV_KEY BTN_TOUCH 0 - stop touching EV_KEY BTN_TOOL_PEN 0 - stop hovering Just to make the touchscreen working I tried to add BTN_TOUCH reports to hid-multitouch for my device. But as soon as I add input_set_capability(hi->input, EV_KEY, BTN_TOUCH), I see BTN_TOUCH 0 / BTN_TOUCH 1 pair in every report. So 2 questions that I have: 1) is the sequence in evtest.txt correct? 2) who may report BTN_TOUCH 0/1 pairs when BTN_TOUCH capability is added? I tried to search with debug messages in hid-input.c and hid-multitouch.c but without success. Thank you in advance! Dmitry Mastykin Here is the citation from dmesg: ---------------------------------------------------------------------- [ 5.032956] i2c_hid i2c-GXTP7380:00: i2c-GXTP7380:00 supply vdd not found, using dummy regulator [ 5.032979] i2c_hid i2c-GXTP7380:00: i2c-GXTP7380:00 supply vddl not found, using dummy regulator [ 5.088245] input: GXTP7380:00 27C6:0113 Touchscreen as /devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-9/i 2c-GXTP7380:00/0018:27C6:0113.0001/input/input14 [ 5.109607] input: GXTP7380:00 27C6:0113 as /devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-9/i2c-GXTP7380: 00/0018:27C6:0113.0001/input/input15 [ 5.112486] input: GXTP7380:00 27C6:0113 as /devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-9/i2c-GXTP7380: 00/0018:27C6:0113.0001/input/input16 [ 5.112561] hid-generic 0018:27C6:0113.0001: input,hidraw0: I2C HID v1.00 Device [GXTP7380:00 27C6:0113] on i2c-G XTP7380:00 [ 6.417241] input: GXTP7380:00 27C6:0113 as /devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-9/i2c-GXTP7380: 00/0018:27C6:0113.0001/input/input20 [ 6.417833] input: GXTP7380:00 27C6:0113 Stylus as /devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-9/i2c-GX TP7380:00/0018:27C6:0113.0001/input/input21 [ 6.417902] input: GXTP7380:00 27C6:0113 UNKNOWN as /devices/pci0000:00/0000:00:17.0/i2c_designware.4/i2c-9/i2c-G XTP7380:00/0018:27C6:0113.0001/input/input22 [ 6.417973] hid-multitouch 0018:27C6:0113.0001: input,hidraw0: I2C HID v1.00 Device [GXTP7380:00 27C6:0113] on i2 c-GXTP7380:00 --------------1DAB20090E2F8721320A19AC Content-Type: text/plain; charset=UTF-8; name="evtest.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="evtest.txt" SW5wdXQgZHJpdmVyIHZlcnNpb24gaXMgMS4wLjEKSW5wdXQgZGV2aWNlIElEOiBidXMgMHgx OCB2ZW5kb3IgMHgyN2M2IHByb2R1Y3QgMHgxMTMgdmVyc2lvbiAweDEwMApJbnB1dCBkZXZp Y2UgbmFtZTogIkdYVFA3MzgwOjAwIDI3QzY6MDExMyBTdHlsdXMiClN1cHBvcnRlZCBldmVu dHM6CiAgRXZlbnQgdHlwZSAwIChFVl9TWU4pCiAgRXZlbnQgdHlwZSAxIChFVl9LRVkpCiAg RXZlbnQgdHlwZSAzIChFVl9BQlMpCiAgICBFdmVudCBjb2RlIDQ3IChBQlNfTVRfU0xPVCkK ICAgICAgVmFsdWUgICAgICAwCiAgICAgIE1pbiAgICAgICAgMAogICAgICBNYXggICAgICAg IDkKICAgIEV2ZW50IGNvZGUgNTMgKEFCU19NVF9QT1NJVElPTl9YKQogICAgICBWYWx1ZSAg ICAgIDAKICAgICAgTWluICAgICAgICAwCiAgICAgIE1heCAgICAgIDk2MAogICAgICBSZXNv bHV0aW9uICAgICAgIDQKICAgIEV2ZW50IGNvZGUgNTQgKEFCU19NVF9QT1NJVElPTl9ZKQog ICAgICBWYWx1ZSAgICAgIDAKICAgICAgTWluICAgICAgICAwCiAgICAgIE1heCAgICAgIDU0 MAogICAgICBSZXNvbHV0aW9uICAgICAgIDMKICAgIEV2ZW50IGNvZGUgNTcgKEFCU19NVF9U UkFDS0lOR19JRCkKICAgICAgVmFsdWUgICAgICAwCiAgICAgIE1pbiAgICAgICAgMAogICAg ICBNYXggICAgNjU1MzUKICAgIEV2ZW50IGNvZGUgNTggKEFCU19NVF9QUkVTU1VSRSkKICAg ICAgVmFsdWUgICAgICAwCiAgICAgIE1pbiAgICAgICAgMAogICAgICBNYXggICAgIDEwMjMK ICAgIEV2ZW50IGNvZGUgNTkgKEFCU19NVF9ESVNUQU5DRSkKICAgICAgVmFsdWUgICAgICAw CiAgICAgIE1pbiAgICAgICAgMAogICAgICBNYXggICAgICAgIDEKUHJvcGVydGllczoKICBQ cm9wZXJ0eSB0eXBlIDEgKElOUFVUX1BST1BfRElSRUNUKQpUZXN0aW5nIC4uLiAoaW50ZXJy dXB0IHRvIGV4aXQpCkV2ZW50OiB0aW1lIDE1OTYxMjQyNDkuMDg3OTQzLCB0eXBlIDMgKEVW X0FCUyksIGNvZGUgNTcgKEFCU19NVF9UUkFDS0lOR19JRCksIHZhbHVlIDAKRXZlbnQ6IHRp bWUgMTU5NjEyNDI0OS4wODc5NDMsIHR5cGUgMyAoRVZfQUJTKSwgY29kZSA1MyAoQUJTX01U X1BPU0lUSU9OX1gpLCB2YWx1ZSA1OTkKRXZlbnQ6IHRpbWUgMTU5NjEyNDI0OS4wODc5NDMs IHR5cGUgMyAoRVZfQUJTKSwgY29kZSA1NCAoQUJTX01UX1BPU0lUSU9OX1kpLCB2YWx1ZSAz NDAKRXZlbnQ6IHRpbWUgMTU5NjEyNDI0OS4wODc5NDMsIHR5cGUgMyAoRVZfQUJTKSwgY29k ZSA1OSAoQUJTX01UX0RJU1RBTkNFKSwgdmFsdWUgMQpFdmVudDogdGltZSAxNTk2MTI0MjQ5 LjA4Nzk0MywgdHlwZSAzIChFVl9BQlMpLCBjb2RlIDU4IChBQlNfTVRfUFJFU1NVUkUpLCB2 YWx1ZSAxMzkKRXZlbnQ6IHRpbWUgMTU5NjEyNDI0OS4wODc5NDMsIC0tLS0tLS0tLS0tLS0t IFNZTl9SRVBPUlQgLS0tLS0tLS0tLS0tCkV2ZW50OiB0aW1lIDE1OTYxMjQyNDkuMDk3MjM0 LCB0eXBlIDMgKEVWX0FCUyksIGNvZGUgNTkgKEFCU19NVF9ESVNUQU5DRSksIHZhbHVlIDAK RXZlbnQ6IHRpbWUgMTU5NjEyNDI0OS4wOTcyMzQsIHR5cGUgMyAoRVZfQUJTKSwgY29kZSA1 OCAoQUJTX01UX1BSRVNTVVJFKSwgdmFsdWUgMjAxCkV2ZW50OiB0aW1lIDE1OTYxMjQyNDku MDk3MjM0LCAtLS0tLS0tLS0tLS0tLSBTWU5fUkVQT1JUIC0tLS0tLS0tLS0tLQpFdmVudDog dGltZSAxNTk2MTI0MjQ5LjEwMTgwMywgdHlwZSAzIChFVl9BQlMpLCBjb2RlIDU4IChBQlNf TVRfUFJFU1NVUkUpLCB2YWx1ZSAyNjAKRXZlbnQ6IHRpbWUgMTU5NjEyNDI0OS4xMDE4MDMs IC0tLS0tLS0tLS0tLS0tIFNZTl9SRVBPUlQgLS0tLS0tLS0tLS0tCkV2ZW50OiB0aW1lIDE1 OTYxMjQyNDkuMTEyMjY3LCB0eXBlIDMgKEVWX0FCUyksIGNvZGUgNTggKEFCU19NVF9QUkVT U1VSRSksIHZhbHVlIDI4OQpFdmVudDogdGltZSAxNTk2MTI0MjQ5LjExMjI2NywgLS0tLS0t LS0tLS0tLS0gU1lOX1JFUE9SVCAtLS0tLS0tLS0tLS0KRXZlbnQ6IHRpbWUgMTU5NjEyNDI0 OS4xMTY2NzQsIHR5cGUgMyAoRVZfQUJTKSwgY29kZSA1OCAoQUJTX01UX1BSRVNTVVJFKSwg dmFsdWUgMjY2CkV2ZW50OiB0aW1lIDE1OTYxMjQyNDkuMTE2Njc0LCAtLS0tLS0tLS0tLS0t LSBTWU5fUkVQT1JUIC0tLS0tLS0tLS0tLQpFdmVudDogdGltZSAxNTk2MTI0MjQ5LjEyNzI0 OSwgdHlwZSAzIChFVl9BQlMpLCBjb2RlIDUzIChBQlNfTVRfUE9TSVRJT05fWCksIHZhbHVl IDU5OApFdmVudDogdGltZSAxNTk2MTI0MjQ5LjEyNzI0OSwgdHlwZSAzIChFVl9BQlMpLCBj b2RlIDU4IChBQlNfTVRfUFJFU1NVUkUpLCB2YWx1ZSAyMjMKRXZlbnQ6IHRpbWUgMTU5NjEy NDI0OS4xMjcyNDksIC0tLS0tLS0tLS0tLS0tIFNZTl9SRVBPUlQgLS0tLS0tLS0tLS0tCkV2 ZW50OiB0aW1lIDE1OTYxMjQyNDkuMTMxNzQ1LCB0eXBlIDMgKEVWX0FCUyksIGNvZGUgNTQg KEFCU19NVF9QT1NJVElPTl9ZKSwgdmFsdWUgMzM5CkV2ZW50OiB0aW1lIDE1OTYxMjQyNDku MTMxNzQ1LCB0eXBlIDMgKEVWX0FCUyksIGNvZGUgNTggKEFCU19NVF9QUkVTU1VSRSksIHZh bHVlIDE4MQpFdmVudDogdGltZSAxNTk2MTI0MjQ5LjEzMTc0NSwgLS0tLS0tLS0tLS0tLS0g U1lOX1JFUE9SVCAtLS0tLS0tLS0tLS0KRXZlbnQ6IHRpbWUgMTU5NjEyNDI0OS4xNDIyNTYs IHR5cGUgMyAoRVZfQUJTKSwgY29kZSA1MyAoQUJTX01UX1BPU0lUSU9OX1gpLCB2YWx1ZSA1 OTcKRXZlbnQ6IHRpbWUgMTU5NjEyNDI0OS4xNDIyNTYsIHR5cGUgMyAoRVZfQUJTKSwgY29k ZSA1NCAoQUJTX01UX1BPU0lUSU9OX1kpLCB2YWx1ZSAzMzgKRXZlbnQ6IHRpbWUgMTU5NjEy NDI0OS4xNDIyNTYsIHR5cGUgMyAoRVZfQUJTKSwgY29kZSA1OCAoQUJTX01UX1BSRVNTVVJF KSwgdmFsdWUgMTYxCkV2ZW50OiB0aW1lIDE1OTYxMjQyNDkuMTQyMjU2LCAtLS0tLS0tLS0t LS0tLSBTWU5fUkVQT1JUIC0tLS0tLS0tLS0tLQpFdmVudDogdGltZSAxNTk2MTI0MjQ5LjE0 NjYwMywgdHlwZSAzIChFVl9BQlMpLCBjb2RlIDUzIChBQlNfTVRfUE9TSVRJT05fWCksIHZh bHVlIDU5NgpFdmVudDogdGltZSAxNTk2MTI0MjQ5LjE0NjYwMywgdHlwZSAzIChFVl9BQlMp LCBjb2RlIDU0IChBQlNfTVRfUE9TSVRJT05fWSksIHZhbHVlIDMzNwpFdmVudDogdGltZSAx NTk2MTI0MjQ5LjE0NjYwMywgdHlwZSAzIChFVl9BQlMpLCBjb2RlIDU5IChBQlNfTVRfRElT VEFOQ0UpLCB2YWx1ZSAxCkV2ZW50OiB0aW1lIDE1OTYxMjQyNDkuMTQ2NjAzLCB0eXBlIDMg KEVWX0FCUyksIGNvZGUgNTggKEFCU19NVF9QUkVTU1VSRSksIHZhbHVlIDAKRXZlbnQ6IHRp bWUgMTU5NjEyNDI0OS4xNDY2MDMsIC0tLS0tLS0tLS0tLS0tIFNZTl9SRVBPUlQgLS0tLS0t LS0tLS0tCkV2ZW50OiB0aW1lIDE1OTYxMjQyNDkuMTcyMDYwLCB0eXBlIDMgKEVWX0FCUyks IGNvZGUgNTQgKEFCU19NVF9QT1NJVElPTl9ZKSwgdmFsdWUgMzM2CkV2ZW50OiB0aW1lIDE1 OTYxMjQyNDkuMTcyMDYwLCAtLS0tLS0tLS0tLS0tLSBTWU5fUkVQT1JUIC0tLS0tLS0tLS0t LQpFdmVudDogdGltZSAxNTk2MTI0MjQ5LjIwMjI3MywgdHlwZSAzIChFVl9BQlMpLCBjb2Rl IDUzIChBQlNfTVRfUE9TSVRJT05fWCksIHZhbHVlIDU5NQpFdmVudDogdGltZSAxNTk2MTI0 MjQ5LjIwMjI3MywgdHlwZSAzIChFVl9BQlMpLCBjb2RlIDU0IChBQlNfTVRfUE9TSVRJT05f WSksIHZhbHVlIDMzNQpFdmVudDogdGltZSAxNTk2MTI0MjQ5LjIwMjI3MywgLS0tLS0tLS0t LS0tLS0gU1lOX1JFUE9SVCAtLS0tLS0tLS0tLS0KRXZlbnQ6IHRpbWUgMTU5NjEyNDI0OS4y MDY2OTUsIHR5cGUgMyAoRVZfQUJTKSwgY29kZSA1NCAoQUJTX01UX1BPU0lUSU9OX1kpLCB2 YWx1ZSAzMzQKRXZlbnQ6IHRpbWUgMTU5NjEyNDI0OS4yMDY2OTUsIC0tLS0tLS0tLS0tLS0t IFNZTl9SRVBPUlQgLS0tLS0tLS0tLS0tCkV2ZW50OiB0aW1lIDE1OTYxMjQyNDkuMjE3MDg4 LCB0eXBlIDMgKEVWX0FCUyksIGNvZGUgNTQgKEFCU19NVF9QT1NJVElPTl9ZKSwgdmFsdWUg MzMzCkV2ZW50OiB0aW1lIDE1OTYxMjQyNDkuMjE3MDg4LCAtLS0tLS0tLS0tLS0tLSBTWU5f UkVQT1JUIC0tLS0tLS0tLS0tLQpFdmVudDogdGltZSAxNTk2MTI0MjQ5LjIzMjA5NiwgdHlw ZSAzIChFVl9BQlMpLCBjb2RlIDU0IChBQlNfTVRfUE9TSVRJT05fWSksIHZhbHVlIDMzMQpF dmVudDogdGltZSAxNTk2MTI0MjQ5LjIzMjA5NiwgLS0tLS0tLS0tLS0tLS0gU1lOX1JFUE9S VCAtLS0tLS0tLS0tLS0KRXZlbnQ6IHRpbWUgMTU5NjEyNDI0OS4yMzY3NjgsIHR5cGUgMyAo RVZfQUJTKSwgY29kZSA1NCAoQUJTX01UX1BPU0lUSU9OX1kpLCB2YWx1ZSAzMzAKRXZlbnQ6 IHRpbWUgMTU5NjEyNDI0OS4yMzY3NjgsIC0tLS0tLS0tLS0tLS0tIFNZTl9SRVBPUlQgLS0t LS0tLS0tLS0tCkV2ZW50OiB0aW1lIDE1OTYxMjQyNDkuMjQ3MTUwLCB0eXBlIDMgKEVWX0FC UyksIGNvZGUgNTQgKEFCU19NVF9QT1NJVElPTl9ZKSwgdmFsdWUgMzI5CkV2ZW50OiB0aW1l IDE1OTYxMjQyNDkuMjQ3MTUwLCAtLS0tLS0tLS0tLS0tLSBTWU5fUkVQT1JUIC0tLS0tLS0t LS0tLQpFdmVudDogdGltZSAxNTk2MTI0MjQ5LjI1MTg3MSwgdHlwZSAzIChFVl9BQlMpLCBj b2RlIDU0IChBQlNfTVRfUE9TSVRJT05fWSksIHZhbHVlIDMyOApFdmVudDogdGltZSAxNTk2 MTI0MjQ5LjI1MTg3MSwgLS0tLS0tLS0tLS0tLS0gU1lOX1JFUE9SVCAtLS0tLS0tLS0tLS0K RXZlbnQ6IHRpbWUgMTU5NjEyNDI0OS4yNjIyODgsIHR5cGUgMyAoRVZfQUJTKSwgY29kZSA1 NyAoQUJTX01UX1RSQUNLSU5HX0lEKSwgdmFsdWUgLTEKRXZlbnQ6IHRpbWUgMTU5NjEyNDI0 OS4yNjIyODgsIC0tLS0tLS0tLS0tLS0tIFNZTl9SRVBPUlQgLS0tLS0tLS0tLS0tCg== --------------1DAB20090E2F8721320A19AC--