On Mon, Nov 23, 2009 at 11:37:53PM -0500, Jarod Wilson wrote: > On 11/23/2009 12:37 PM, Dmitry Torokhov wrote: >> On Mon, Nov 23, 2009 at 03:14:56PM +0100, Krzysztof Halasa wrote: >>> Mauro Carvalho Chehab<mchehab@xxxxxxxxxx> writes: >>> >>>> Event input has the advantage that the keystrokes will provide an unique >>>> representation that is independent of the device. >>> >>> This can hardly work as the only means, the remotes have different keys, >>> the user almost always has to provide customized key<>function mapping. >>> >> >> Is it true? I would expect the remotes to have most of the keys to have >> well-defined meanings (unless it is one of the programmable remotes)... > > Its the cases like programmable universal remotes that really throw > things for a loop. That, and people wanting to use random remote X that > came with the amp or tv or set top box, with IR receiver Y. Right, but still the keys usually do have the well-defined meaning, teh issue is in mapping raw code to the appropriate keycode. This can be done either by lirc config file (when lirc is used) or by some other means. > ... >>> We need to handle more than one RC at a time, of course. >>> >>>> So, the basic question that should be decided is: should we create a new >>>> userspace API for raw IR pulse/space >>> >>> I think so, doing the RCx proto handling in the kernel (but without >>> RCx raw code<> key mapping in this case due to multiple controllers >>> etc.). Though it could probably use the input layer as well(?). >>> >> >> I think if the data is used to do the primary protocol decoding then it >> should be a separate interface that is processed by someone and then fed >> into input subsystem (either in-kernel or through uinput). >> >> Again, I would prefer to keep EV_KEY/KEY_* as the primary event type for >> keys and buttons on all devices. > > Current lircd actually inter-operates with the input subsystem quite > well for any and all supported remotes if their keys are mapped in their > respective lircd.conf file using standard input subsystem key names, and > the lirc daemon started with the --uinput param. lircd decodes the raw > IR, finds the mapping in its config, and happily passes it along to > uinput. Right. I guess the question is what is the interface we want the regular userspace (i.e. not lircd) to use. Right now programs has to use 2 intercfaces - one lirc for dealing with remotes that are not using the standard event interface and evdev for remotes using it as well as the rest of the input devices. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html