|
@@ -1175,6 +1175,12 @@ static const struct dmi_system_id elantech_dmi_has_middle_button[] = {
|
|
|
{ }
|
|
|
};
|
|
|
|
|
|
+static const char * const middle_button_pnp_ids[] = {
|
|
|
+ "LEN2131", /* ThinkPad P52 w/ NFC */
|
|
|
+ "LEN2132", /* ThinkPad P52 */
|
|
|
+ NULL
|
|
|
+};
|
|
|
+
|
|
|
/*
|
|
|
* Set the appropriate event bits for the input subsystem
|
|
|
*/
|
|
@@ -1194,7 +1200,8 @@ static int elantech_set_input_params(struct psmouse *psmouse)
|
|
|
__clear_bit(EV_REL, dev->evbit);
|
|
|
|
|
|
__set_bit(BTN_LEFT, dev->keybit);
|
|
|
- if (dmi_check_system(elantech_dmi_has_middle_button))
|
|
|
+ if (dmi_check_system(elantech_dmi_has_middle_button) ||
|
|
|
+ psmouse_matches_pnp_id(psmouse, middle_button_pnp_ids))
|
|
|
__set_bit(BTN_MIDDLE, dev->keybit);
|
|
|
__set_bit(BTN_RIGHT, dev->keybit);
|
|
|
|