Skip to contentSkip to conversation

input: mouse: trackpoint: assume 3 buttons when buttons detection fails

PATCH Applied Oscar Campos 3 participants 3 messages May 29, 2017 – Jul 19, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 input: mouse: trackpoint: assume 3 buttons when buttons detection fails

Trackpoint buttons detection fails on ThinkPad 570 and 470 series, this makes the middle button of the trackpoint to not being recogized. As I don't believe there is any trackpoint with less than 3 buttons this patch just assumes three buttons when the extended button information read fails.

---
 drivers/input/mouse/trackpoint.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/input/mouse/trackpoint.c +2 -2
index 922ea02edcc3..20b5b21c1bba 100644
@@ -380,8 +380,8 @@ int trackpoint_detect(struct psmouse *psmouse, bool set_properties)
 		return 0;
 
 	if (trackpoint_read(ps2dev, TP_EXT_BTN, &button_info)) {
-		psmouse_warn(psmouse, "failed to get extended button data\n");
-		button_info = 0;
+		psmouse_warn(psmouse, "failed to get extended button data, assuming 3 buttons\n");
+		button_info = 0x33;
 	}
 
 	psmouse->private = kzalloc(sizeof(struct trackpoint_data), GFP_KERNEL);

--
2.13.0

#1 lore raw
Quoted 5 lines · Oscar Campos

Trackpoint buttons detection fails on ThinkPad 570 and 470 series, this makes the middle button of the trackpoint to not being recogized. As I don't believe there is any trackpoint with less than 3 buttons this patch just assumes three buttons when the extended button information read fails.

I vaguely remember there may have been one at some point, but I can't remember which model it was in (not a Lenovo anyway). This approach seems sensible, but I worry about it papering over potential bugs (missing support).

still, Acked-by: Peter Hutterer <[email protected]>

Cheers,
Peter

Quoted 30 lines
---
 drivers/input/mouse/trackpoint.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/input/mouse/trackpoint.c +2 -3
index 922ea02edcc3..20b5b21c1bba 100644
@@ -380,8 +380,8 @@ int trackpoint_detect(struct psmouse *psmouse, bool set_properties)
 		return 0;
 
 	if (trackpoint_read(ps2dev, TP_EXT_BTN, &button_info)) {
-		psmouse_warn(psmouse, "failed to get extended button data\n");
-		button_info = 0;
+		psmouse_warn(psmouse, "failed to get extended button data, assuming 3 buttons\n");
+		button_info = 0x33;
 	}
 
 	psmouse->private = kzalloc(sizeof(struct trackpoint_data), GFP_KERNEL);
--

2.13.0

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

maintainer Applied
#2 lore raw
Quoted 7 lines · Peter Hutterer
Quoted 5 lines · Oscar Campos

Trackpoint buttons detection fails on ThinkPad 570 and 470 series, this makes the middle button of the trackpoint to not being recogized. As I don't believe there is any trackpoint with less than 3 buttons this patch just assumes three buttons when the extended button information read fails.

Quoted 6 lines

I vaguely remember there may have been one at some point, but I can't remember which model it was in (not a Lenovo anyway). This approach seems sensible, but I worry about it papering over potential bugs (missing support).

still, Acked-by: Peter Hutterer <[email protected]>

Applied, thank you.

Quoted 34 lines

Cheers,
Peter

Quoted 30 lines
---
 drivers/input/mouse/trackpoint.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/input/mouse/trackpoint.c +2 -3
index 922ea02edcc3..20b5b21c1bba 100644
@@ -380,8 +380,8 @@ int trackpoint_detect(struct psmouse *psmouse, bool set_properties)
 		return 0;
 
 	if (trackpoint_read(ps2dev, TP_EXT_BTN, &button_info)) {
-		psmouse_warn(psmouse, "failed to get extended button data\n");
-		button_info = 0;
+		psmouse_warn(psmouse, "failed to get extended button data, assuming 3 buttons\n");
+		button_info = 0x33;
 	}
 
 	psmouse->private = kzalloc(sizeof(struct trackpoint_data), GFP_KERNEL);
--

2.13.0

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 1 line
Dmitry