This isn't a duplicate of the gnome power manager bug.
The issue is that on certain systems' PS/2 keyboards, the volume control keys (and certain media keys) report a KEY_DOWN when they're pressed, but not a KEY_UP when they're released. The result of this is that the system acts like they're stuck- and repeats them indefinitely, preventing use of the keyboard and/or mouse.
Why don't we implement the same solution that was implemented in the old Xorg KBD drivers?
That is, add to the PostKbdEvent() function in evdev.c something along the lines of:
/* fix events for volume keys */
if(ev->code == KEY_VOLUMEDOWN || ev->code == KEY_VOLUMEUP)
{
//post a keydown and then a keyup, as media keys have no automatic key-up
xf86PostKeyboardEvent(pInfo->dev, code, 1);
xf86PostKeyboardEvent(pInfo->dev, code, 0);
return;
}
This isn't a duplicate of the gnome power manager bug.
The issue is that on certain systems' PS/2 keyboards, the volume control keys (and certain media keys) report a KEY_DOWN when they're pressed, but not a KEY_UP when they're released. The result of this is that the system acts like they're stuck- and repeats them indefinitely, preventing use of the keyboard and/or mouse.
Why don't we implement the same solution that was implemented in the old Xorg KBD drivers?
That is, add to the PostKbdEvent() function in evdev.c something along the lines of:
/* fix events for volume keys */ rdEvent( pInfo-> dev, code, 1); rdEvent( pInfo-> dev, code, 0);
if(ev->code == KEY_VOLUMEDOWN || ev->code == KEY_VOLUMEUP)
{
//post a keydown and then a keyup, as media keys have no automatic key-up
xf86PostKeyboa
xf86PostKeyboa
return;
}
?
(I posted information about a temporary 'fix' here: http:// ubuntuforums. org/showthread. php?t=974723)