This use to work on other Linux distros
One solution for this, is to change the refresh rate of the mouse.
To do this become root (su -) then run: modprobe psmouse rate=40
But this does not work in the latest Dapper Kernel.
Here is a old fix for it
1. Download the latest kernel source
2. then open up the file ./drivers/input/mouse/psmouse-base.c with your favorite editor.
3. Find this section in the code: (More recent kernels will have different code)
if (psmouse_max_proto > PSMOUSE_IMEX) { if (synaptics_init(psmouse) == 0) return PSMOUSE_SYNAPTICS;
*/
/*
* Some Synaptics touchpads can emulate extended protocols (like IMPS/2).
* Unfortunately Logitech/Genius probes confuse some firmware versions so
* we'll have to skip them.
*/
/* psmouse_max_proto = PSMOUSE_IMEX; }
}
*/
(Basically the entire if statement has been commented out)
4. Now open up the file ./drivers/input/keyboard/atkbd.c
5. Find this section in the code:
switch (atkbd->keycode[code]) {
case ATKBD_KEY_NULL:
break;
case ATKBD_KEY_UNKNOWN: printk(KERN_WARNING "atkbd.c: Unknown key %s (%s set %d, code %#x on %s).n", atkbd->release ? "released" : "pressed", atkbd->translated ? "translated" : "raw", atkbd->set, code, serio->phys);
if (atkbd->translated && atkbd->set == 2 && code == 0x7a) printk(KERN_WARNING "atkbd.c: This is an XFree86 bug. It shouldn't access hardware directly.n");
else printk(KERN_WARNING "atkbd.c: Use 'setkeycodes %s%02x ' to make it known.n",code & 0x80 ? "e0" : "", code & 0x7f);
break;
case ATKBD_SCR_1:
scroll = 1 - atkbd->release * 2;
break;
case ATKBD_SCR_2:
scroll = 2 - atkbd->release * 4;
break;
case ATKBD_SCR_4:
scroll = 4 - atkbd->release * 8;
break;
case ATKBD_SCR_8:
scroll = 8 - atkbd->release * 16;
break;
case ATKBD_SCR_CLICK:
click = !atkbd->release;
break;
And replace it with this:
switch (atkbd->keycode[code]) {
case ATKBD_KEY_NULL:
break;
/* case ATKBD_KEY_UNKNOWN: printk(KERN_WARNING "atkbd.c: Unknown key %s (%s set %d, code %#x on %s).n", atkbd->release ? "released" : "pressed", atkbd->translated ? "translated" : "raw", atkbd->set, code, serio->phys);
if (atkbd->translated && atkbd->set == 2 && code == 0x7a) printk(KERN_WARNING "atkbd.c: This is an XFree86 bug. It shouldn't access hardware directly.n");
else printk(KERN_WARNING "atkbd.c: Use 'setkeycodes %s%02x ' to make it known.n",code & 0x80 ? "e0" : "", code & 0x7f);
break;
*/ case ATKBD_SCR_1:
scroll = 1 - atkbd->release * 2;
break;
case ATKBD_SCR_2:
scroll = 2 - atkbd->release * 4;
break;
case ATKBD_SCR_4:
scroll = 4 - atkbd->release * 8;
break;
case ATKBD_SCR_8:
scroll = 8 - atkbd->release * 16;
break;
case ATKBD_SCR_CLICK:
click = !atkbd->release;
break;
(Basically commenting out the second switch case)
6. Now recompile the kernel. A really good guide for re-compiling the kernel with debian can be found at NewbieDoc
Same here on a Toshiba M30 laptop.
This use to work on other Linux distros
One solution for this, is to change the refresh rate of the mouse.
To do this become root (su -) then run: modprobe psmouse rate=40
But this does not work in the latest Dapper Kernel.
Here is a old fix for it input/mouse/ psmouse- base.c with your favorite editor.
1. Download the latest kernel source
2. then open up the file ./drivers/
3. Find this section in the code: (More recent kernels will have different code)
/* detect( psmouse) ) {
synaptics_ hardware = 1;
psmouse- >vendor = "Synaptics";
psmouse- >name = "TouchPad";
* Try Synaptics TouchPad
*/
if (psmouse_max_proto > PSMOUSE_PS2 && synaptics_
/*
psmouse_ max_proto = PSMOUSE_IMEX;
}
* Some Synaptics touchpads can emulate extended protocols (like IMPS/2).
* Unfortunately Logitech/Genius probes confuse some firmware versions so
* we'll have to skip them.
*/
}
And replace it with this:
/* detect( psmouse) ) {
synaptics_ hardware = 1;
psmouse- >vendor = "Synaptics";
psmouse- >name = "TouchPad";
* Try Synaptics TouchPad
*/
/* if (psmouse_max_proto > PSMOUSE_PS2 && synaptics_
*/
/*
* Some Synaptics touchpads can emulate extended protocols (like IMPS/2).
* Unfortunately Logitech/Genius probes confuse some firmware versions so
* we'll have to skip them.
*/
/* psmouse_max_proto = PSMOUSE_IMEX;
}
*/
(Basically the entire if statement has been commented out) input/keyboard/ atkbd.c
4. Now open up the file ./drivers/
5. Find this section in the code:
switch (atkbd- >keycode[ code]) {
printk( KERN_WARNING "atkbd.c: Unknown key %s (%s set %d, code %#x on %s).n",
atkbd- >release ? "released" : "pressed",
atkbd- >translated ? "translated" : "raw",
atkbd- >set, code, serio->phys);
printk( KERN_WARNING "atkbd.c: This is an XFree86 bug. It shouldn't access hardware directly.n");
printk( KERN_WARNING "atkbd.c: Use 'setkeycodes %s%02x ' to make it known.n",code & 0x80 ? "e0" : "", code & 0x7f);
case ATKBD_KEY_NULL:
break;
case ATKBD_KEY_UNKNOWN:
if (atkbd->translated && atkbd->set == 2 && code == 0x7a)
else
break;
case ATKBD_SCR_1:
scroll = 1 - atkbd->release * 2;
break;
case ATKBD_SCR_2:
scroll = 2 - atkbd->release * 4;
break;
case ATKBD_SCR_4:
scroll = 4 - atkbd->release * 8;
break;
case ATKBD_SCR_8:
scroll = 8 - atkbd->release * 16;
break;
case ATKBD_SCR_CLICK:
click = !atkbd->release;
break;
And replace it with this:
switch (atkbd- >keycode[ code]) {
printk( KERN_WARNING "atkbd.c: Unknown key %s (%s set %d, code %#x on %s).n",
atkbd- >release ? "released" : "pressed",
atkbd- >translated ? "translated" : "raw",
atkbd- >set, code, serio->phys);
printk( KERN_WARNING "atkbd.c: This is an XFree86 bug. It shouldn't access hardware directly.n");
printk( KERN_WARNING "atkbd.c: Use 'setkeycodes %s%02x ' to make it known.n",code & 0x80 ? "e0" : "", code & 0x7f);
case ATKBD_KEY_NULL:
break;
/* case ATKBD_KEY_UNKNOWN:
if (atkbd->translated && atkbd->set == 2 && code == 0x7a)
else
break;
*/ case ATKBD_SCR_1:
scroll = 1 - atkbd->release * 2;
break;
case ATKBD_SCR_2:
scroll = 2 - atkbd->release * 4;
break;
case ATKBD_SCR_4:
scroll = 4 - atkbd->release * 8;
break;
case ATKBD_SCR_8:
scroll = 8 - atkbd->release * 16;
break;
case ATKBD_SCR_CLICK:
click = !atkbd->release;
break;
(Basically commenting out the second switch case)
6. Now recompile the kernel. A really good guide for re-compiling the kernel with debian can be found at NewbieDoc