LIRC + XBMC = Repeating Remote Buttons
#1
Hi Guys,

Nearly finished setting up my ION machine with Ubuntu 9.04 minimal and XBMC but I'm having an issue with Lirc and my MCE Remote.

Every few button presses get repeated unless I really tap it fast on the remote, and even then sometimes its doing the action twice.

I have run 'irw' and can see that my MCE Remote (Genuine Philips one) is indeed a bit hasty at sending out the codes, for each button press its sending 2 or 3 signals.

From what I can tell LIRC only supports entering a repeat delay inside a .lircrc file, which from what I gather XBMC doesn't use as it has an interface directly into LIRC..

So, the question is - Do we have any way of specifying a repeat delay within XBMC since I can't do it on LIRC's side?
I tried the <remoterepeat> in advancedsettings.xml but even with this set to 1000 it has no effect, so I guess that one is XBOX only ?

Any advice would be appreciated as navigating XBMC is proving a little tricky atm :p
Reply
#2
I just spent the evening playing around with .lircrc and irxevent as I figured I could work around my problem by taking out the mappings from XBMC's Lircmap.xml and then letting irxevent do the work.
However it seems that XBMC doesn't listen to any event made by irxevent...
I can use my keyboard just fine in XBMC, and under fluxbox irxevent is working ok.. but once I launch XBMC the remote does nothing.
I placed a irexec into my .lircrc to test and that works ok.. it just seems to be the xevents :/

Anyone have any ideas ?
Reply
#3
The config file for LIRC will handle the job just fine. The LIRC config file is used by LIRC, and XBMC uses LIRC to get what buttons your pressed and then so on. Put the delay in the config and it will prevent LIRC from sending the presses too quickly.
Reply
#4
I have the same problem with my Harmony remote. Testing it in irw it sends 4 signals out for each single button press. Tried setting it to 0 in the Harmony software to no joy.

I'd love to know if there is a fix for this under XBMC. That's the only app I want to use it in anyway.
Reply
#5
I have the exact same issue although I don't use lirc as mine is consumer IR in a laptop but the button repeats make the software unusable in it's current state.
Reply
#6
Perhaps you could play with xbmc advansedsettings.xml:

<remoterepeat>500</remoterepeat>

Change the value to what works best for you.
Reply
#7
@Maxim;
Are you referring to ~/.lirc ?
Could you give an example of how the delay is formatted when put into the config.. as all the examples I've seen have only had the 'delay = xx' parameter set within a button command eg;
begin
prog = irxevent
button = xxx
config = xxx
delay = xxx
end

@hotlobster, already tried out the remoterepeat setting which didn't appear to have any difference even when set to 1 second (way longer than the rate the remote is repeating at)
Reply
#8
I have the same issue for a long time, unfortunately without any workaround.

That is the root cause of the following ticket as well:
http://trac.xbmc.org/ticket/6440
http://forum.xbmc.org/showthread.php?tid=57516

According to the wiki:
http://wiki.xbmc.org/?title=Advancedsett...erepeat.3E
<remoterepeat>xxx</remoterepeat> should definitely help to avoid repeats in button presses.

Actually it does the job: if I increase remoterepeat to 2000, then when I am browsing my movie collection and press the right button, I have to wait 2 secs before it starts repeating.

However in case of the "resume window example" I still cannot avoid the repeating unless I tap very very quickly the OK button.
Reply
#9
I've actually adding that setting olympia to no avail. Thinking 8000 is more then enough and I see no changes at all like XBMC is ignoring it.
Reply
#10
TwilightZone Wrote:I've actually adding that setting olympia to no avail. Thinking 8000 is more then enough and I see no changes at all like XBMC is ignoring it.

Same here, i don't know if that setting is applying to LIRC or if its just for Xbox.. but it doesn't seem to do anything for me anyway.

It would be interesting to hear from Maxim as to where he is suggesting we put the delay... maybe that method will work Huh
Reply
#11
advancedsettings.xml in userdata folder:

Code:
<advancedsettings>
<remoterepeat>2000</remoterepeat>
</advancedsettings>

Change 2000 whatever you want...
Reply
#12
http://www.lirc.org/html/configure.html#lircd.conf Wrote:repeat
tells the program what shall happen if a key is repeated. A value of zero tells the program to ignore repeated keys. Any other positive value 'n' tells the program to pass the config string every 'n'-th time to the according application, when a key is repeated. The default for repeat is zero.
delay
tells the program to ignore the specified number of key repeats before using the "repeat" configuration directive above. This is used to prevent double triggers of events when using a fast repeat rate. A value of zero, which also is the default, will disable the delay function.
Code:
begin
    remote = ANIMAX
    button = MENU_DOWN
    prog   = irexec
    repeat = 0
    config = echo "Hello world!"
end
Apparently the default for any button your use in LIRC is to not repeat the buttons.

However, that doesn't really make any sense because what if I want to hit enter three times in a row, that's one button press and two repeats, technically LIRC should ignore the last two presses, but this is not the case. There is no way for LIRC to know what is a repeat and what is not unless some timer is involved. The timer is not mentioned.

So you can modify the repeat or the delay values and result in a slower responding LIRC to what your remote is doing.

If you use repeat, and you set it to 3, it should take three signals from your remote to active that button.

If you use delay, it will delay using the repeat directive the given number of signals received.

So, theoretically in order to get it to work and still have your remote be responsive you could set your repeat to 1 to allow the action to be taken on the first press, and use delay to delay the next repeat.

Maybe start with
Code:
repeat = 1
delay = 10

I haven't tried this but I am curious and will probably be playing around with this when I get home tonight on my own setup.
Reply
#13
@olympia
I don't want to sound rude, but as I have noted twice in this thread, I have tried that setting (as have others) and even with it set stupidly high it has absolutley no effect..

@Maxim
Thanks for the info, I've tried your suggestion but it doesn't seem to make any difference for me..
From what I can tell those repeat and delay settings are only valid if contained within a button function (ie. the code you posted with 'begin' xxx 'end')
Since XBMC isn't using these there isn't any function to place the delay into.. and just putting it inside the lircd.conf itself seems to make no difference.

I have made a little headway though.. by editing; /usr/share/lirc/remote/mceusb/lirc_mceusb.conf and editing the gap from something like 105000 to 125000.
This makes things a little better but it's still not right.
Reply
#14
Setting it to 0 in the Harmony software has my irw down to 2 keypresses for each button click when I hit a button. So, better. And xbmc sometimes only does a single press but usually a double. I think it's every other button press it doubles.

Getting closer though.
Reply
#15
Swifty Wrote:@olympia
I don't want to sound rude, but as I have noted twice in this thread, I have tried that setting (as have others) and even with it set stupidly high it has absolutley no effect..

No dear Swifty, you don't have to be rude. Especially as I think we are all "suffering" from the same issue. Did you read the trac issue what I have opened, linked in my first post in this thread?

All I wanted to confirm you (and also to others), that <remoterepeat>xxx</remoterepeat> is not an XBOX only setting and IS indeed working. Seems it is addressing a different issue, than what we have, but working. Try the browsing excercise I also mentioned in my first post with an without increase the remoterepeat "stupidly high" and I guess you will see what I mean.

Again, it is not solving the problem we have, but working. That's all I meant.
Reply

Logout Mark Read Team Forum Stats Members Help
LIRC + XBMC = Repeating Remote Buttons1