|
@@ -453,6 +453,17 @@ static void psmouse_set_rate(struct psmouse *psmouse, unsigned int rate)
|
|
|
psmouse->rate = r;
|
|
|
}
|
|
|
|
|
|
+/*
|
|
|
+ * Here we set the mouse scaling.
|
|
|
+ */
|
|
|
+
|
|
|
+static void psmouse_set_scale(struct psmouse *psmouse, enum psmouse_scale scale)
|
|
|
+{
|
|
|
+ ps2_command(&psmouse->ps2dev, NULL,
|
|
|
+ scale == PSMOUSE_SCALE21 ? PSMOUSE_CMD_SETSCALE21 :
|
|
|
+ PSMOUSE_CMD_SETSCALE11);
|
|
|
+}
|
|
|
+
|
|
|
/*
|
|
|
* psmouse_poll() - default poll handler. Everyone except for ALPS uses it.
|
|
|
*/
|
|
@@ -689,6 +700,7 @@ static void psmouse_apply_defaults(struct psmouse *psmouse)
|
|
|
|
|
|
psmouse->set_rate = psmouse_set_rate;
|
|
|
psmouse->set_resolution = psmouse_set_resolution;
|
|
|
+ psmouse->set_scale = psmouse_set_scale;
|
|
|
psmouse->poll = psmouse_poll;
|
|
|
psmouse->protocol_handler = psmouse_process_byte;
|
|
|
psmouse->pktsize = 3;
|
|
@@ -1160,7 +1172,7 @@ static void psmouse_initialize(struct psmouse *psmouse)
|
|
|
if (psmouse_max_proto != PSMOUSE_PS2) {
|
|
|
psmouse->set_rate(psmouse, psmouse->rate);
|
|
|
psmouse->set_resolution(psmouse, psmouse->resolution);
|
|
|
- ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_SETSCALE11);
|
|
|
+ psmouse->set_scale(psmouse, PSMOUSE_SCALE11);
|
|
|
}
|
|
|
}
|
|
|
|