From: Allen Hung <hidden> Date: 2016-06-23 08:31:50
This reverts commit 25a84db15b3f ("HID: multitouch: enable palm rejection
if device implements confidence usage")
The commit enables palm rejection for Win8 Precision Touchpad devices but
the quirk MT_QUIRK_VALID_IS_CONFIDENCE it is using is not working very
properly. This quirk is originally designed for some WIn7 touchscreens. Use
of this for a Win8 Precision Touchpad will cause unexpected pointer jumping
problem.
Signed-off-by: Allen Hung <redacted>
---
drivers/hid/hid-multitouch.c | 5 -----
1 file changed, 5 deletions(-)
From: Allen Hung <hidden> Date: 2016-06-23 08:31:53
The usage Confidence is mandary to Windows Precision Touchpad devices. If
it is examined in input_mapping on a WIndows Precision Touchpad, a new add
quirk MT_QUIRK_CONFIDENCE desgned for such devices will be applied to the
device. A touch with the confidence bit is not set is determined as
invalid.
Tested on Dell XPS13 9343
Signed-off-by: Allen Hung <redacted>
---
drivers/hid/hid-multitouch.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
@@ -78,6 +79,7 @@ struct mt_slot {__s32contactid;/* the device ContactID assigned to this slot */booltouch_state;/* is the touch valid? */boolinrange_state;/* is the finger in proximity of the sensor? */+boolconfidence_state;/* is the touch made by a finger? */};structmt_class{
@@ -628,10 +634,14 @@ static void mt_complete_slot(struct mt_device *td, struct input_dev *input)return;}+if(!(td->mtclass.quirks&MT_QUIRK_CONFIDENCE))+s->confidence_state=1;+active=(s->touch_state||s->inrange_state)&&+s->confidence_state;+input_mt_slot(input,slotnum);-input_mt_report_slot_state(input,MT_TOOL_FINGER,-s->touch_state||s->inrange_state);-if(s->touch_state||s->inrange_state){+input_mt_report_slot_state(input,MT_TOOL_FINGER,active);+if(active){/* this finger is in proximity of the sensor */intwide=(s->w>s->h);/* divided by two to match visual scale of touch */
From: Benjamin Tissoires <hidden> Date: 2016-06-27 14:18:11
On Jun 23 2016 or thereabouts, Allen Hung wrote:
The usage Confidence is mandary to Windows Precision Touchpad devices. If
it is examined in input_mapping on a WIndows Precision Touchpad, a new add
quirk MT_QUIRK_CONFIDENCE desgned for such devices will be applied to the
device. A touch with the confidence bit is not set is determined as
invalid.
Tested on Dell XPS13 9343
Signed-off-by: Allen Hung <redacted>
Thanks Allen for taking care of that.
For the series:
Reviewed-by: Benjamin Tissoires <redacted>
Cheers,
Benjamin
@@ -78,6 +79,7 @@ struct mt_slot {__s32contactid;/* the device ContactID assigned to this slot */booltouch_state;/* is the touch valid? */boolinrange_state;/* is the finger in proximity of the sensor? */+boolconfidence_state;/* is the touch made by a finger? */};structmt_class{
@@ -628,10 +634,14 @@ static void mt_complete_slot(struct mt_device *td, struct input_dev *input)return;}+if(!(td->mtclass.quirks&MT_QUIRK_CONFIDENCE))+s->confidence_state=1;+active=(s->touch_state||s->inrange_state)&&+s->confidence_state;+input_mt_slot(input,slotnum);-input_mt_report_slot_state(input,MT_TOOL_FINGER,-s->touch_state||s->inrange_state);-if(s->touch_state||s->inrange_state){+input_mt_report_slot_state(input,MT_TOOL_FINGER,active);+if(active){/* this finger is in proximity of the sensor */intwide=(s->w>s->h);/* divided by two to match visual scale of touch */
From: Andy Lutomirski <luto@kernel.org> Date: 2016-06-27 17:55:47
On 06/23/2016 01:31 AM, Allen Hung wrote:
quoted hunk
This reverts commit 25a84db15b3f ("HID: multitouch: enable palm rejection
if device implements confidence usage")
The commit enables palm rejection for Win8 Precision Touchpad devices but
the quirk MT_QUIRK_VALID_IS_CONFIDENCE it is using is not working very
properly. This quirk is originally designed for some WIn7 touchscreens. Use
of this for a Win8 Precision Touchpad will cause unexpected pointer jumping
problem.
Signed-off-by: Allen Hung <redacted>
---
drivers/hid/hid-multitouch.c | 5 -----
1 file changed, 5 deletions(-)
This and patch 2 are:
Tested-by: Andy Lutomirski <luto@kernel.org> # XPS 13 9350, BIOS 1.4.3
(And I'm curious why 1.4.3 seems to have been pulled. Might it have been this issue? For better or for worse, I upgraded in the narrow window in which it was available on Dell's website.)
--Andy
From: Mario Limonciello <hidden> Date: 2016-06-27 22:13:48
Andy,
(And I'm curious why 1.4.3 seems to have been pulled. Might it have
been this issue? For better or for worse, I upgraded in the narrow
window in which it was available on Dell's website.)
It wasn't pulled in relation to this issue. It was something else.
Nothing I'm aware of in the 1.4.3 BIOS changes should have made this any
worse than previously. Maybe something else in the stack moved that
exaggerated the problem or you started palming the touchpad more?
Your Tested-by: is that meaning that it's fixed entirely for you? Not
getting stuck at all now?
Thanks,
From: Andy Lutomirski <luto@amacapital.net> Date: 2016-06-27 22:26:04
On Mon, Jun 27, 2016 at 10:55 AM, Andy Lutomirski [off-list ref] wrote:
On 06/23/2016 01:31 AM, Allen Hung wrote:
quoted
This reverts commit 25a84db15b3f ("HID: multitouch: enable palm rejection
if device implements confidence usage")
The commit enables palm rejection for Win8 Precision Touchpad devices but
the quirk MT_QUIRK_VALID_IS_CONFIDENCE it is using is not working very
properly. This quirk is originally designed for some WIn7 touchscreens.
Use
of this for a Win8 Precision Touchpad will cause unexpected pointer
jumping
problem.
Signed-off-by: Allen Hung <redacted>
---
drivers/hid/hid-multitouch.c | 5 -----
1 file changed, 5 deletions(-)
This and patch 2 are:
Tested-by: Andy Lutomirski <luto@kernel.org> # XPS 13 9350, BIOS 1.4.3
(And I'm curious why 1.4.3 seems to have been pulled. Might it have been
this issue? For better or for worse, I upgraded in the narrow window in
which it was available on Dell's website.)
I should amend that Tested-by slightly: these patches seem to make the
problem merely about as bad as it was before. It's still not perfect
-- I still occasionally get stuck touches.
--Andy
From: Andy Lutomirski <luto@amacapital.net> Date: 2016-06-28 17:40:28
On Mon, Jun 27, 2016 at 3:25 PM, Andy Lutomirski [off-list ref] wrote:
On Mon, Jun 27, 2016 at 10:55 AM, Andy Lutomirski [off-list ref] wrote:
quoted
This and patch 2 are:
Tested-by: Andy Lutomirski <luto@kernel.org> # XPS 13 9350, BIOS 1.4.3
(And I'm curious why 1.4.3 seems to have been pulled. Might it have been
this issue? For better or for worse, I upgraded in the narrow window in
which it was available on Dell's website.)
I should amend that Tested-by slightly: these patches seem to make the
problem merely about as bad as it was before. It's still not perfect
-- I still occasionally get stuck touches.
On further investigation, I'm not getting stuck touches AFAICT. I'm
experiencing an upgraded version of libinput being clever and
incorrectly deciding that I middle-clicked. Sorry for the noise.
https://bugs.freedesktop.org/show_bug.cgi?id=96710
--Andy
From: Mario Limonciello <hidden> Date: 2016-06-29 18:31:54
I've applied the series to hid.git#for-4.7/upstream-fixes
Hi Jiri,
Would you also submit this to -stable?
I think it should be generally applicable at least a few releases back
since Allen's original submit.
Thanks,