Krzysztof Halasa wrote: > Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> writes: > >> The issue I see is to support at the same time NEC and RC5 protocols. While >> this may work with some devices, for others, the hardware won't allow. > > Sure. We can handle it for the "simple" devices at least. > >>> I think the mapping should be: key = proto + group + raw code, while >>> key2 could be different_proto + different group (if any) + another code. >> This may work for protocols up to RC5, that uses either 8 or 16 bits. >> However, RC6 mode 6 codes can be 32 bits, and we have "only" 32 bits >> for a scancode. So, we don't have spare bits to represent a protocol, >> if we consider RC6 mode 6 codes as well. > > I don't see this limitation. The number of bits should depend on the > protocol. see include/linux/input.h: struct input_event { struct timeval time; __u16 type; __u16 code; __s32 value; }; extending the value to more than 32 bits require some changes at the input layer, probably breaking kernel API. > >> See above. Also, several protocols have a way to check if a keystroke were >> properly received. When handling just one protocol, we can use this to double >> check the key. However, on a multiprotocol mode, we'll need to disable this >> feature. > > I don't think so. We can pass the space/mark data to all (configured, > i.e. with active mapping) protocol handlers at once. Should a check > fail, we ignore the data. Perhaps another protocol will make some sense > out of it. What happens if it succeeds on two protocol handlers? Cheers, Mauro. -- 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