--- linux/drivers/input/mousedev.c.orig Sun Oct 15 16:29:37 2000 +++ linux/drivers/input/mousedev.c Sun Oct 15 16:34:35 2000 @@ -79,6 +79,9 @@ static struct mousedev *mousedev_table[MOUSEDEV_MINORS]; static struct mousedev mousedev_mix; +static int xres = CONFIG_INPUT_MOUSEDEV_SCREEN_X; +static int yres = CONFIG_INPUT_MOUSEDEV_SCREEN_Y; + static void mousedev_event(struct input_handle *handle, unsigned int type, unsigned int code, int value) { struct mousedev *mousedevs[3] = { handle->private, &mousedev_mix, NULL }; @@ -96,12 +99,12 @@ switch (code) { case ABS_X: size = handle->dev->absmax[ABS_X] - handle->dev->absmin[ABS_X]; - list->dx += (value * CONFIG_INPUT_MOUSEDEV_SCREEN_X - list->oldx) / size; + list->dx += (value * xres - list->oldx) / size; list->oldx += list->dx * size; break; case ABS_Y: size = handle->dev->absmax[ABS_Y] - handle->dev->absmin[ABS_Y]; - list->dy -= (value * CONFIG_INPUT_MOUSEDEV_SCREEN_Y - list->oldy) / size; + list->dy -= (value * yres - list->oldy) / size; list->oldy -= list->dy * size; break; } @@ -487,3 +490,7 @@ MODULE_AUTHOR("Vojtech Pavlik "); MODULE_DESCRIPTION("Input driver to PS/2 or ImPS/2 device driver"); +MODULE_PARM(xres, "i"); +MODULE_PARM_DESC(xres, "Horizontal screen resolution"); +MODULE_PARM(yres, "i"); +MODULE_PARM_DESC(yres, "Vertical screen resolution"); --- linux/drivers/input/Config.in.orig Sun Oct 15 16:56:09 2000 +++ linux/drivers/input/Config.in Sun Oct 15 16:56:36 2000 @@ -10,8 +10,8 @@ dep_tristate ' Keyboard support' CONFIG_INPUT_KEYBDEV $CONFIG_INPUT dep_tristate ' Mouse support' CONFIG_INPUT_MOUSEDEV $CONFIG_INPUT if [ "$CONFIG_INPUT_MOUSEDEV" != "n" ]; then - int ' Horizontal screen resolution' CONFIG_INPUT_MOUSEDEV_SCREEN_X 1024 - int ' Vertical screen resolution' CONFIG_INPUT_MOUSEDEV_SCREEN_Y 768 + int ' Default horizontal screen resolution' CONFIG_INPUT_MOUSEDEV_SCREEN_X 1024 + int ' Default vertical screen resolution' CONFIG_INPUT_MOUSEDEV_SCREEN_Y 768 fi dep_tristate ' Joystick support' CONFIG_INPUT_JOYDEV $CONFIG_INPUT dep_tristate ' Event interface support' CONFIG_INPUT_EVDEV $CONFIG_INPUT --- linux/Documentation/Configure.help.orig Sun Oct 15 16:53:40 2000 +++ linux/Documentation/Configure.help Sun Oct 15 16:55:48 2000 @@ -10116,19 +10116,23 @@ The module will be called mousedev.o. If you want to compile it as a module, say M here and read Documentation/modules.txt. -Horizontal screen resolution +Default horizontal screen resolution CONFIG_INPUT_MOUSEDEV_SCREEN_X If you're using a digitizer, or a graphic tablet, and want to use it as a mouse then the mousedev driver needs to know the X window screen resolution you are using to correctly scale the data. If - you're not using a digitizer, this value is ignored. + you're not using a digitizer, this value is ignored. Note that this + is only the default resolution, you can change it when loading the + module using the parameter "xres=xxx". -Vertical screen resolution +Default vertical screen resolution CONFIG_INPUT_MOUSEDEV_SCREEN_Y If you're using a digitizer, or a graphic tablet, and want to use it as a mouse then the mousedev driver needs to know the X window screen resolution you are using to correctly scale the data. If - you're not using a digitizer, this value is ignored. + you're not using a digitizer, this value is ignored. Note that this + is only the default resolution, you can change it when loading the + module using the parameter "yres=yyy". Joystick support CONFIG_INPUT_JOYDEV