-------------------- Most recent kernel where this bug did not occur: -------------------- 2.6.15 (ubuntu's image in Ubuntu Dapper 2.6.15-27) -------------------- Distribution: -------------------- Ubuntu Edgy -------------------- Hardware Environment: -------------------- AMD64 (I use 386 kernel), ULI chipset 1685, (...), Avermedia Capture 98 TV Card. -------------------- Software Environment: -------------------- Ubuntu's default installation (Edgy RC1) -------------------- Problem Description: -------------------- Since 2.6.17 kernel (edgy's images and vanilla self-compiled kernels), theres a module called ir_common that provides a new "feature" to manage remote control's keys. This makes, by default (live cd included), an echo of numbers keys on my remote control to the active window, and also opens "shutdown menu" when pressing to the shutdown button. Ok, cool new feature, BUT the problem comes when trying to use lirc, as that module CANNOT be unloaded and interfeers with normal behaviour of lirc. In example, if I configure button 1 to launch firefox, with kernel 2.6.15 and lirc running it will launch firefox, BUT with kernel 2.6.17 and lirc running it will launch firefox AND outputs the character 1 to the active window. That module cannot be unloaded because it depends on bttv, and it's neccesary to make TV card work. My TV card is an avermedia capture 98. This bug is confirmed in dapper with 2.6.17 kernel compiled from kernel.org, and with edgy (default kernels in knot, knot2, knot3, beta, and RC1) ir_common module is not a bug itself, it can be considered as a new feature, but it becomes an annoying bug when someone want to use lirc, so it should be unloaded when lircd process is running (or at least there should be a way to unload it manually) -------------------- Steps to reproduce: -------------------- 1)Run Ubuntu edgy RC1 live CD (which brings 2.6.17 kernel version) on a system with an Avermedia Capture 98 TV card (I suspect it affects at least all tv cards which use bttv module). 2) Open a terminal (or gedit... or whatever app that accept input keys) 3) Press a number button of the remote control. It will output a character to the active window 4) Same will occur when lirc installed, so it will output that character and make at the same time the action you configure in lirc for that remote's button.
Does the problem still exist with new kernels? Thanks.
(In reply to comment #1) > Does the problem still exist with new kernels? > Thanks. > Yes, 2.6.15 was the last kernel that didn't set mandatory (that's the problem) actions to the TV remote controls. I think that managing that remote controls in the kernel is a great feature, BUT, there should neccesary be a file to configure such actions. Not in compilation time, but in the time when ir_common is loaded. I hacked some files to avoid this management, here you can see the procedure (the thread is unmantained but there's some useful info there): http://ubuntuforums.org/showthread.php?t=288229
If lirc wishes to be the sole recepient of input events from a device then it needs to grab it via EVIOCGRAB ioctl.
Should I contact with Lirc developers to tell them that? Anyway, I state again... a correct design of this feature in the linux kernel should provide a way to configure the buttons and the actions asociated with each button. And that configuration should be in module loading time with a file (like Lirc does with $HOME/.lircrc), not in compilation time.
(In reply to comment #4) > Should I contact with Lirc developers to tell them that? Yes, please. > Anyway, I state again... a correct design of this feature in the linux kernel > should provide a way to configure the buttons and the actions asociated with > each button. There is such a way. You can issue EVIOCSKEYCODE ioctl on corresponding event device to reprogram keymap for the device. Any remote control based on ir_common supports this mechanism. > And that configuration should be in module loading time with a > file (like Lirc does with $HOME/.lircrc), not in compilation time. You could call a program that would reprogram the remote from your init scripts or hotplug scripts. Still, it woudl not reslve your issue - you do not want events from remote device to be delivered to console but rather to lirc only. Therefore lirc must declare itself an exclusive user.
Thanks for the info, I'll contact with Lirc developers and tell them to read this thread. I hope they find it usefull. But I think we are missing the main statement I made.. Don't you think it's better to have a file (or whatever method) to configure keys/actions rather than have a 3rd party tool programmed to nullify the effects of the kernel management and set its own? Note I don't want to trash any tool like Lirc (which I use, I love, and I'll keep on using), of course the mechanism to let 3rd party tools to take the control must be there, I just mention this as a [neccesary] enhacement for this feature in the kernel. The user should have the choice to select which buttons launch which actions to enhace their experience, IMHO.
Any updates on this bug? hexion, were you an Lirc able to follow #5 and resolve your problem?