Hey everyone! Sorry for the long post, just trying to push out as much info as I can.
I'm trying to get this Xbox One remote to reliably control my HTPC running 64bit Windows 8.1. I'm currently using EventGhost as per
Cassiel's Post, but I've come across some weird problems. The receiver I'm using is a Dell, which appears in the device manager as a Microsoft eHome Infrared Transceiver.
I'm currently using the MCE plugin for Vista/Win7 with the AlternateMceIrService installed. That part of it seems to work great and I have no issues there. Each command is coming up as MceRemote.Unknown.17CharacterCode (eg, MceRemote.Unknown.BEFFFEFFFAEFAFFF8 for Down). However as I fire off commands, periodically, the codes are misread.
This is the down button being pressed repeatedly, at a fast rate (same rate I would use to browse normally), pointed directly at my receiver. I'm not moving or wavering during this, but as you can see there is some slight variance to the codes that are being received.
I've been experimenting with several remotes, including my Harmony One (which has a solid 400ms of delay after each button press, as everyone who has ever owned one has sadly realised), and several Xbox 360 MCE remotes. I've also tried sourcing a 360 Black remote, but they're not being made or sold any more for a respectable price. I know for a fact that the 360 remotes have no noticeable latency or delay when used on the Xbox itself, however after setting it up via EventGhost with the MCE plugin, there was noticeable delay, multi presses and misreading of commands. Researched revealed that the 360 remotes run on a different channel, so I applied the
registry change to switch to channel 8 and restarted. Up front the 360 remote started working perfectly, without the need for EventGhost, as fast as I could press with no error or double presses.
This hack also improved the recognition of the Xbox one remote significantly. Previously the error rate for commands was easily 40%, but now its as little as 10% HOWEVER it still exists.
I've experimented with WinLIRC as well (
thanks to this thread), which works somewhat reliably but has a large delay. Adjusting the "Timeout for enduring events" setting makes a large difference, but I cant seem to find a balance to get a low delay without multiple keypresses. WinLIRC also seems to parse repeat functionality weirdly (holding volume up or down). Additionally if I use WinLIRC without EventGhost, each button press fires off anywhere from 1 to 5 commands.
At this stage I'm stumped. I can't find enough information to get me past this block. I feel like what I need is a wildcard perhaps in the event name, although I've already looked up that they don't work like that. The erroneous commands are only slightly different to the real commands and to me this seems like the way IR just functions. I assume most dedicated receivers simply match whatever looks closest to each command. BEAFEFFFAEFXFFF8 is only 3 letters different from BEFFFEFFFAEFAFFF8, that's close enough for me.
Is there anyway to get EventGhost to more thoroughly recognise each command and perhaps its misreads (if I add each event to a macro, one button press always triggers the macro several times)? I thought of running a script comparing the current code to the closest one in a known list of codes every time a button is pressed, but I have no idea how to implement that.
Or perhaps I'm going about this the wrong way. I've seen several mentions that this remote is on the NEC protocol. I have no idea what that really means or how I could take advantage of that. Is there some way to cleverly convert the LIRC button commands to something more readable for EventGhost and the MCE plugin? Is there an NEC plugin I'm missing?
At first I thought this was a limitation of my setup, the receiver or the software, but before using the registry tweak, the 360 remotes were performing exactly the same (with delay, multiple presses and errors reading code), but afterwards the 360 remote works like a dream... Except for the obvious flaws, the volume not working, no availability for replacement, being the size of a femur... etc. Perhaps the Xbox One remote is on a different channel again?
This seems like a perfect remote for me, small, reliable, back lit and enough buttons to work with with good placement. I'd just like it to work reliably.
TL;DR: How do I get the Xbox One media remote to read commands reliably through EventGhost?