[WINDOWS] Zen and the Art of Media Center Remote Controls
#1
Thumbs Up 
How about the following for a Wiki article? I'll post it here for comments because the Wiki appears to be locked down.

----8<----

Zen and the Art of Media Center Remote Controls

This article discusses some of the issues you’ll run into trying to use a Windows Media Center Edition remote control with XBMC. The article only considers running XBMC on Microsoft Windows, not Linux or OSX. Also it’s more of a general discussion than a HowTo, though there are links to some HowTos in the article. Also see http://forum.xbmc.org/showthread.php?tid=38585 for a list of articles on making remote controls work.

The reason why an article like this is necessary is because not all MCE remotes are equal. Specifically remotes fall into three classes:

1. The official MS MCE remote (and true compatibles)
2. Cheap clone remotes that send MCE keyboard shortcuts
3. Cheap clone remotes that send multimedia keystrokes

And just to confuse matters most remotes are a combination of these three classes, for example the official Microsoft MCE remote also sends some MCE keyboard shortcuts like the cheap clone remotes. Also the cheap clones generally send a mixture of MCE shortcuts and multimedia keystrokes.

I’ll describe the difference between the three types of remotes below, but to understand the differences you need to appreciate that these remotes were originally designed for use with Windows Media Center, and there are three ways to control Media Center.

Through the infrared driver
Media Center links to the Windows infra-red device driver (irbus.sys and hidir.sys) and processes the infra-red commands from the remote directly. This is (mostly) how the official MS remote works.

With keyboard shortcuts
All the Media Center commands have a keyboard shortcuts using keys on a standard keyboard. For example "Play" is control-shift-P and "Stop" is control-shift-S. The remote can send these keystrokes when you press a button.

With multimedia keyboard keystrokes
You can buy keyboards with extra multimedia keys that don't appear on a standard keyboard. The Microsoft MCE Keyboard is a good example. The remote can simulate keystrokes from the extra multimedia keys when you press a button.

The next sections describe how the various types of remote work and how they can be used with XBMC.

Cheap clone remotes

We'll start by considering the cheap clone remotes because they are simpler than the official MS remote. These are classes 2 and 3 in my classification above. The official MS remote is actually a very sophisticated and expensive remote controller, and it didn't take suppliers long to realise they could make a simpler and cheaper remote that did much the same. That's why I've categorised these as "cheap clone remotes".

The cheap clone remotes appear to Windows as a keyboard (sometimes a mouse too) and not as an IR device. Once you've connected the remote, if you open Device Manager you'll find that under the "Human Interface Devices" section you have some new devices. Unplug the receiver and you'll see them disappear.

You will find that a lot of the keys on the remote work with all Windows apps. For example the left, right, up and down buttons usually just send the same keystrokes as the arrow keys on the keyboard. You could use the buttons on the remote to navigate round an Excel spreadsheet.

But what about the Play button? Well the cheap clone remotes will send a keystroke when you press Play, but it can be one of two different keystrokes. The class 2 remotes will send the MCE shortcut key control-shift-P and the class 3 remotes will send the multimedia play key VK_MEDIA_PLAY_PAUSE.

XBMC doesn't recognise the MCE shortcuts like control-shift-P, so the class 2 remotes are pretty useless for XBMC (without extra messing around; see below). The good news is that XBMC does recognise the multimedia keystrokes (or at least some of them) so the class 3 remotes will work with XBMC. The bad news is that it's impossible to know what keystrokes a cheap clone remote will send when you buy it so you don't know if it will work with XBMC or not. Also a popular cheap remote that I've just bought sends the multimedia keystrokes for most buttons but the MCE shortcuts control-shift-F and control-shift-B for the fast forward and reverse buttons. That makes it a mixture of class 2 and class 3, so some of the buttons work, but not all.

Given this uncertainty you might be better advised to go for an official MS remote, but these too have their problems.

The official MS remote

Microsoft seem to have stopped making the official MS remote. At least it's hard to buy one. Fortunately there are usually lots on eBay.

Windows 7, Vista and XP Media Center Edition have drivers for the MS remote built in and will detect and install the device when you plug it in. XP Pro SP2 also has the drivers built in. I haven't tested other versions of XP. Once the drivers are installed, if you open Device Manager and look under "Universal Serial Bus controllers" you'll see a new device called "eHome Infrared Receiver". Under Human Interface Devices you'll also see a HID keyboard device just like a cheap clone remote. This is because the MS remote can emulate a keyboard as well as operating as an IR device.

Having got your MS remote installed you'll find that it doesn't work with XBMC. This is because the Windows version of XBMC has no support for the Windows infra-red device driver so it is unable to detect the infra-red codes sent when you press, for example, the Play button. However you'll find that some of the keys, like the left, right, up and down keys, do work. This is because the MS remote sends keystrokes when you press these buttons just like the cheap clone remotes.

So how do you get the MS remote to work with XBMC? Well as I mentioned, the MS remote is a sophisticated device and you can change what it does when you press the buttons by editing the registry. A good summary is provided in http://forum.xbmc.org/showthread.php?tid=61571

The editing required is not for the faint hearted, but if you download MCERemote.zip from http://www.ratsauce.plus.com/xbmc.htm the zip includes two .reg files that will make the changes for you. There are two .reg files because you have two options for configuring the remote:

(a) Configure the remote to send the standard MCE shortcuts i.e. make it behave as a "class 2" remote

(b) Configure the remote to send the standard XBMC keys, e.g. "P" when you press the play button and "X" when you press the stop button.

If you want to use the remote with the Windows Media Center you have to choose option (a). If you don't care about Media Center and just want to use the remote with XBMC then option (b) will make the remote work perfectly with XBMC without any further fuss.

An alternative I should mention is to use external software like IR Server Suite, which can process the infra-red codes sent by the remote and convert them into keystrokes that XBMC can use. See for example http://forum.xbmc.org/showthread.php?tid=35910 though as the length of the thread will demonstrate this isn't an entirely trivial process.

Making class 2 remotes work with XBMC

Let's pause and summarise where we've got to. The official (class 1) MS remote can be configured to work with XBMC though it isn't much use out of the box, and if you configure it as a class 2 (to keep it working with Media Center) it won't work with XBMC. The class 3 remotes that send multimedia keystrokes will work out of the box with XBMC, but few remotes are pure class 3 and in any case you don't know in advance what you're buying. So the obvious tactic is to try and make the class 2 remotes work.

The problem with the class 2 remotes is that the XBMC keyboard.xml has no way of specifying keys like control-shift-P (for Play). The version of XBMC after 9.11 will probably have an enhanced keyboard.xml so you could make entries like:

<p mod="ctrl,shift">Play</p>

To configure control-shift-P to mean Play. The good news is that this makes it easy to make the class 2 remotes work just by editing keyboard.xml. The bad news is that you have to wait for this future version of XBMC, and in any case it isn't decided for certain that this feature will be in it. So what can you do at the moment? Well there are two options:

(a) Use an external helper app like EventGhost
(b) Modify the XBMC source code and compile it yourself

The most popular option is to use EventGhost and this generally works very well. The XBMC forums have lots of advice on the subject; just search the Windows specific forum for "EventGhost".

Option (b) isn't that attractive to non-nerds, but luckily a nerd near here has done it for you. From http://www.ratsauce.plus.com/xbmc.htm you can download a recompiled version of XBMC that works with the standard MCE shortcuts and therefore with class 2 remotes.

Summary

Well the simple summary is that life is complicated!

My recommendation is to try and buy an official MS remote because at least you know what you're getting. You'll still need some work to make it usable with XBMC. My preference would be to modify the registry to change the keys the buttons send, though you can use EventGhost or IR Server Suite.

If you can wait, the version of XBMC after 9.11 will probably make life simpler. If you can't wait you're welcome to download the customised version of XBMC from http://www.ratsauce.plus.com/xbmc.htm that enables XBMC to work with class 2 remotes.
Reply


Messages In This Thread
[WINDOWS] Zen and the Art of Media Center Remote Controls - by jhsrennie - 2009-11-30, 21:32
[No subject] - by dtviewer - 2009-12-01, 02:59
[No subject] - by kiboy6 - 2009-12-01, 06:30
[No subject] - by natethomas - 2009-12-01, 08:03
[No subject] - by taxigps - 2009-12-09, 04:29
[No subject] - by andredurao - 2010-01-25, 23:28
[No subject] - by aptalca - 2010-08-05, 19:00
[No subject] - by methcat - 2010-11-21, 19:55
[No subject] - by craftyza - 2010-12-31, 11:21
[No subject] - by ashlar - 2010-12-31, 12:31
[No subject] - by magao - 2010-12-31, 22:35
[No subject] - by MickMcGeough - 2011-01-02, 05:02
[No subject] - by xinxilas - 2011-06-18, 00:55
[No subject] - by kc2008ls - 2011-06-20, 17:02


Logout Mark Read Team Forum Stats Members Help
[WINDOWS] Zen and the Art of Media Center Remote Controls1
This forum uses Lukasz Tkacz MyBB addons.