input: mouse: trackpoint: assume 3 buttons when buttons detection fails
Subsystems (2)
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
@@ -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
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
Signed-off-by Oscar Campos <[email protected]>--- drivers/input/mouse/trackpoint.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/input/mouse/trackpoint.c +2
-3@@ -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
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,
PeterQuoted 30 lines
Signed-off-by Oscar Campos <[email protected]>--- drivers/input/mouse/trackpoint.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/input/mouse/trackpoint.c +2
-3@@ -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