--- src/evdev.c.orig 2010-04-08 19:19:06.152710644 -0500 +++ src/evdev.c 2010-04-08 19:34:02.170763937 -0500 @@ -279,6 +279,15 @@ EventQueuePtr pQueue; EvdevPtr pEvdev = pInfo->private; +/* fix events for volume keys */ + if(ev->code == KEY_VOLUMEDOWN || ev->code == KEY_VOLUMEUP) //MODIFY THIS LINE + { + //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; + } + /* Filter all repeated events from device. We'll do softrepeat in the server, but only since 1.6 */ if (value == 2