Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Input: apparently Lifebook touchscreens have double resolution compared to "classic" PS/2 mice, provide appropriate resolution setting handler.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>

+12
+12
drivers/input/mouse/lifebook.c
··· 82 82 return 0; 83 83 } 84 84 85 + static void lifebook_set_resolution(struct psmouse *psmouse, unsigned int resolution) 86 + { 87 + unsigned char params[] = { 0, 1, 2, 2, 3 }; 88 + 89 + if (resolution == 0 || resolution > 400) 90 + resolution = 400; 91 + 92 + ps2_command(&psmouse->ps2dev, &params[resolution / 100], PSMOUSE_CMD_SETRES); 93 + psmouse->resolution = 50 << params[resolution / 100]; 94 + } 95 + 85 96 static void lifebook_disconnect(struct psmouse *psmouse) 86 97 { 87 98 psmouse_reset(psmouse); ··· 124 113 input_set_abs_params(&psmouse->dev, ABS_Y, 0, 1024, 0, 0); 125 114 126 115 psmouse->protocol_handler = lifebook_process_byte; 116 + psmouse->set_resolution = lifebook_set_resolution; 127 117 psmouse->disconnect = lifebook_disconnect; 128 118 psmouse->reconnect = lifebook_absolute_mode; 129 119 psmouse->pktsize = 3;