Within a framebuffer console, no xdm started:

Output from showkey, which parses kernel output from /dev/console , is
not based on kernel evdev driver. (So, way before evdev which normally
provides events to xf86-input-evdev).

Normally, output from showkey would look like this for regular keys:

"f"
keycode  33 press
keycode  33 release
"k"
keycode  37 press
keycode  37 release
"j"
keycode  36 press
keycode  36 release

Notice that the attached output from "volume down (press x2, then
press/hold for 5 seconds), then repeat for volume up" doesn't generate
additional "release" events.  This seems to be outside of the scope of
evdev.

The information is in agreement that our hardware isn't getting the
right "release" events to the kernel -- most likely because a release
event is not implemented at the hardware level.

In the interest of kernel efficiency, if we were to start running checks
in the kernel input driver itself (way out of my league here, but just
theoretically), for "if it's a volume key", the additional check would
get applied for every key - but that's something we're already doing --
except after a series of calls have made their way to xf86-input-evdev.
It almost makes finding a way to generate a "release" event earlier,
somewhere in the kernel, justified.

Nonetheless, let me know if you agree with the fix to your patch posted
in the above comment -- handling this within input-evdev isn't entirely
proper, and may add 1 or two extra non-intensive function calls, but it
makes for an easy fix :)

** Attachment added: "Log of showkey -s, compaq R4125ca"
   http://launchpadlibrarian.net/27633494/log2.txt

-- 
Volume control wheel on laptop is sticking in ubuntu
https://bugs.launchpad.net/bugs/271706
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to