Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752143AbdCAJ2c (ORCPT ); Wed, 1 Mar 2017 04:28:32 -0500 Received: from mx1.redhat.com ([209.132.183.28]:37316 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751460AbdCAJ22 (ORCPT ); Wed, 1 Mar 2017 04:28:28 -0500 Date: Wed, 1 Mar 2017 10:03:47 +0100 From: Benjamin Tissoires To: Linus Torvalds Cc: Peter Hutterer , Andrew Duggan , Jiri Kosina , Linux Kernel Mailing List Subject: Re: [GIT PULL] HID for 4.11 Message-ID: <20170301090347.GE7064@mail.corp.redhat.com> References: <20170301032409.GA8206@jelly> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Wed, 01 Mar 2017 09:03:54 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2483 Lines: 67 On Feb 28 2017 or thereabouts, Linus Torvalds wrote: > On Tue, Feb 28, 2017 at 7:24 PM, Peter Hutterer > wrote: > > > > I suspect you're just triggering a bug that wasn't triggered by the ps/2 > > emulation. you can run linput-debug-events --verbose and have a look at the > > various state debugging information, that may hint at what's going on (e.g. > > a finger mistaken as palm touch, or something). Or record one such > > interaction with evemu-record and send it to me (preferrably here [1], if > > you're using libinput). Also, what version of libinput/synaptics are you on? > > bug reported (it's bug 100014). > Thanks for the report. As Peter mentioned in the bug, there is a missing property on the kernel node (INPUT_PROP_BUTTONPAD). The thing is this property is solely driven in the current driver by the provided platform_data, so there is no way we ever set it through hid-rmi. I wonder how we missed that. Anyway, the good news is that the evemu record shows only one exportted button, so we can infer the property quite easily in the module. Would something like that work for you? >From 5f28af88f2c67d1c533500765c5190cdd3006539 Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Wed, 1 Mar 2017 09:57:00 +0100 Subject: [PATCH] Input: rmi4 - f30: detect INPUT_PROP_BUTTONPAD from the button count INPUT_PROP_BUTTONPAD is currently only set through the platform data. The RMI4 header doc says that this property is there to force the buttonpad property, so we also need to detect it by looking at the exported buttons count. Signed-off-by: Benjamin Tissoires --- drivers/input/rmi4/rmi_f30.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/input/rmi4/rmi_f30.c b/drivers/input/rmi4/rmi_f30.c index 3422464..1986786 100644 --- a/drivers/input/rmi4/rmi_f30.c +++ b/drivers/input/rmi4/rmi_f30.c @@ -258,9 +258,10 @@ static int rmi_f30_map_gpios(struct rmi_function *fn, /* * Buttonpad could be also inferred from f30->has_mech_mouse_btns, - * but I am not sure, so use only the pdata info. + * but I am not sure, so use only the pdata info and the number of + * mapped buttons. */ - if (pdata->f30_data.buttonpad) + if (pdata->f30_data.buttonpad || (button - BTN_LEFT == 1)) __set_bit(INPUT_PROP_BUTTONPAD, input->propbit); return 0; -- 2.9.3 Dmitry, Andrew, would this work for you too? Cheers, Benjamin