Hi Benjamin, On Wed, Mar 01, 2017 at 10:06:35AM +0100, Benjamin Tissoires wrote: > [I forgot to add Dmitry in the loop, sorry for the noise.] > > On Mar 01 2017 or thereabouts, Benjamin Tissoires wrote: > > On Feb 28 2017 or thereabouts, Linus Torvalds wrote: > > > On Tue, Feb 28, 2017 at 7:24 PM, Peter Hutterer > > > <peter.hutte...@who-t.net> 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 <benjamin.tissoi...@redhat.com> > > 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 <benjamin.tissoi...@redhat.com> > > --- > > 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);
Would prefer if we changed button_mapped to n_buttons_mapped counter and used that, instead of doing calculations on event code. Thanks. -- Dmitry