On 02.03.2011 21:41, Gerald Dachs wrote: > Hi, > > during my tests with eventlircd I noticed that the up key of my remote > didn't work with vdr, but with xbmc. I debugged vdr and stumbled above > the line lirc.c:89 (not vanilla sources): > > if (ready && ret > 21) { > > Lirc sends this to vdr: > > "67 0 KEY_UP devinput" > > So this key gets ignored, all other key have longer names and are > working. Solution seems to be easy. Instead of 21 I could use 19, but > with inputlircd I get this string for the same key: > > "67 0 KEY_UP event7" > > It would get ignored again. > > What is the intention for this condition: > > ret > 21? > > Is it to make sure to not get garbage from lirc? But why 21 chars? What > would be a better length, or a better check? The check for 21 characters has been in there from the very start. Note that there is also another explicit number in if (sscanf(buf, "%*x %x %29s", &count, KeyName) != 2) { // '29' in '%29s' is LIRC_KEY_BUF-1! I'm not too familiar with the LIRC protocol, but I also think that this should be changed to make it more flexible. I guess what we need first is a specification of the strings LIRC provides. Then we can adapt the VDR code accordingly. I quickly searched the web, but couldn't find that information. Anybody? Klaus _______________________________________________ vdr mailing list vdr@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr