On Mon, Nov 23, 2009 at 12:05 PM, James Mastros <james@xxxxxxxxxxx> wrote: > 2009/11/23 Devin Heitmueller <dheitmueller@xxxxxxxxxxxxxx>: >> Just bear in mind that with the current in-kernel code, users do *not >> * have to manually select the RC code to use if they are using the >> default remote that shipped with the product. > This could still happen, if LIRC checks the identifiers of the > reciving device, and has a database that tells it mappings between > those devices and the remote controls that shipped with them. > However, it occours to me that the IR circumstances map pretty well to > what happens with ps/2 and serial devices now: > > 1: There are a variety of drivers for serio computer-side hardware, > each of which speaks the serio interface to the next-higher level. > These corrospond to the drivers for IR recievers. > 2: There's a raw serio interface, for those wishing to do strange things. > 3: There's also a variety of things that take data, using the kernel > serio API, and decode it into input events -- the ps2 keyboard driver, > the basic mouse driver, the advanced mice drivers. This is where the > interface falls down a little bit -- the ps2 keyboard driver is the > closest analogue to what I'm suggesting. The ps2 keyboard driver > creates scancode events, which map nicely to what the keyboard is > sending -- these are, for ex, rc5 codes. It will also produce > key-up/key-down events, if it has a keymap loaded. (This is the > difference with a ps2 keyboard -- a ps2 keyboard gets a map assigned > to it at boottime, so it works out-of-box. This isn't really possible > with an IR remote -- though perhaps rc5 is standarized enough, I don't > think other protocols neccessarly are.) > > Userspace would have to load a keymap; those don't really belong in > kernel code. Of course, userspace could look at the device > identifiers to pick a reasonable default keymap if it's not configured > to load another, solving the out-of-box experince. I think perhaps before we go much further into this, we may wish to come up with a set of use cases and expected behavior. I worry that part of the problem here is people are thinking of how their particular cards behave, and few people have a holistic picture of all the possible scenarios. Whatever implementation we come up, we should be confident that it meets the requirements of *all* the various hardware implementations. I will try to draft up some requirements/use cases if people think this would be worthwhile. Devin -- Devin J. Heitmueller - Kernel Labs http://www.kernellabs.com -- 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