If you have a standard Microsoft MCE remote control you can configure
it to send whatever keystrokes you want by modifying the registry.

Why would you want to do this? Well if you use an app like XBMC it's
easier to configure it to accept input from the remote if the remote
sends keystrokes.

I've included two configs in this zip. The file Remote-SendKeys.reg
will configure the remote to send the standard MCE keystrokes when you
press the Play, Pause, Stop, etc buttons, instead of just sending an IR
command. With this config the remote should still work with Windows
Media Center. I'm told this is indeed the case, but I haven't tried it
myself so I make no guarantees!

The file Remote-XBMC.reg will configure the remote to send the standard
XBMX keystrokes e.g. P for "play" and X for "stop". This will make the
remote work seamlessly with XBMC, but it will no longer work with
Windows Media Center.

To install the config:

First back up your existing config so you can put it back if things go
wrong. Open Registry Editor and navigate to the key:

HKEY_LOCAL_MACHINE
 \SYSTEM
  \CurrentControlSet
   \Services
    \HidIr
     \Remotes
      \745a17a0-74d3-11d0-b6fe-00a0c90f57da

If this key doesn't exist stop right now because this config won't
work. The only reason I know why you might not have this key in the
registry is if your remote is not a standard MS remote or you're not
using the standard MS driver.

Assuming the key exists, right click on it and choose Export. Save the
key to a .reg file and make sure you keep this file safe. If anything
goes wrong you can double-click your exported .reg file and it will
restore the key back to the default state.

Now just double-click Remote-SendKeys.reg or Remote-XBMC.reg and answer
yes when it asks if you're sure. Now reboot your PC and the remote
should now be sending keystrokes.

I've included an applet, Showkey.exe, for testing the remote. If you
run this applet then press buttons on the remote the applet will show
what keystroks it's receiving. Using Remote-SendKeys.reg the keystrokes
should be:

play      - ctrl-shift-P
pause     - ctrl-P
stop      - ctrl-shift-S
ff        - ctrl-shift-F
rew       - ctrl-shift-B
next      - ctrl-F
prev      - ctrl-B

With Remote-XBMC.reg the keystrokes should be:

play      - P
pause     - space
stop      - X
ff        - F
rew       - R
next      - .
prev      - ,

John Rennie
john.rennie@ratsauce.co.uk
27th November 2009
