On Sat, Nov 28, 2009 at 2:45 PM, Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> wrote: > Jon Smirl wrote: >> Also, how do you create the devices for each remote? You would need to >> create these devices before being able to do EVIOCSKEYCODE to them. > > The input subsystem creates devices on behalf of input drivers. (Kernel > drivers, that is. Userspace drivers are per se not affected.) We have one IR receiver device and multiple remotes. How does the input system know how many devices to create corresponding to how many remotes you have? There is no current mechanism to do that. You need an input device for each remote so that you can do the EVIOCSKEYCODE against it. Some type of "create subdevice" IOCTL will need to be built. I handled that in configds like this: /configfs - mount the basic configfs /configfs/remotes (created by loading IR support) mkdir /configfs/remotes/remote_A - this causes the input subdevice to be created, the name of it appears in the created directory. mkdir /configfs/remotes/remote_A/... - now build the mapping entires. This "create subdevice" IOCTL will need to take a name so that it can be identified. You will probably another IOCTL to enumerate which subdevices belong to the root device, etc... Keyboards don't have subdevices. There is a 1:1 mapping between the keyboard and the device driver. -- Jon Smirl jonsmirl@xxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html