MCE Remote Replacement Driver FAQ

The contents of this FAQ have been extracted from the lengthy posting on The Green Button forum (the whole thread may be read by clicking here) - my thanks to all of the contributors (particularly burningzeroad for his hard work and pallissmn for his excellent introduction).

What is this all about?
What do you need?
Setting it all up
Installing the replacement MCE Remote Driver
Using the MCE Replacement Driver with Girder
Using the MCE Replacement Driver with Hip
Using CCF Codes
Reception Problems
Learning Problems
Transmission Problems
MCE Keyboard Shortcuts
Emulating the MCE Triple-Tap SMS keyboard
With HIP I get 2 Keys acknowledged for every key press - What is Wrong?
MCE Remote Toggle Key IR Output
 

What is this all about?   

Microsoft OEM a remote control to compliment their XP Media Centre Edition (MCE) which is attractively priced and designed and includes a USB-based IR Receiver. Both the remote and the operating system can be purchased separately and the remote will work to some degree with standard XP (service pack 2 is recommended). The remote allows you to control the PC (which is cool) and you can even teach it the TV on/off and volume up and down buttons so you can perform those functions from the MCE remote.

Some of the buttons send normal keystrokes like <Enter> and <Up> and <Down> which work in any application.

It is also supplied with two IR "Blasters". These are designed to allow the PC to send commands to other devices (such as a TV) by simulating a remote control and sending the infra red signals that it (the TV) understands. So if you have a cable, freeview or other kind of set top box, you can get the PC to change the channel of the other set-top-box (provided it is on the Microsoft list). You program the computer to record a program, and the PC will make sure that the set-top-box is tuned to the right channel).   If its not on the Microsoft list, MCE has the facility to set up manually from a normal STB remote by capturing and storing the IR Commands.

French programmer Bruno FLEURETTE has provided a (free) set of stand-alone and programmable tools that provide the following extended features:

All this would be possible with standard XP and allow complete control of your PC and external equipment via remote control with or without MCE.

What do you need?

MCE v2 Remote XBox 360 remote Mce v1 Remote
(not supported)

Setting it all up

First (if you have not already), install the MCE remote control and check this is working.

Next you have a choice

a) Use the default driver (eHome Infrared Receiver)

If you only use MCE, and you do not want to change the functionality of any of the buttons, then you can use the default driver and no other setup is required.  In this configuration, each button the remote uses the keyboard interface and each key is translated to a key press..  A list of these values may be found at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwmt/html/remote_control.asp.  The command-line programs MceIRRec.exe and MceIRPlay.exe may be used to record and playback IR Commands.

b) Use the replacement driver (MCE Infrared Remote Control)

If you want to be able to customize the button actions you must installed the new MCEIR.SYS driver using the directions included in the section Installing the replacement MCE Remote Driver.  You will also need Girder or Hip to control the input and output (see the sections below for more information about using these).

OR [Added Jan 4 2008]

c) Use the replacement MCEIR.dll file to program the device and disable the default handling of the keys with registry changes

Aaron over on the MediaPortal platform has made available a new build of the MCEIR.dll program that you can use with the existing MCEIR.SYS and is Vista compatible.

The dll is available here: http://www.team-mediaportal.com/files/Download/Drivers/Remotes/MCERemoteReplacementDriver/

The authors explanation of the process is as follows:

Load "regedit.exe" and navigate to:

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

Then delete the keys from "CodeSetNum0" to "CodeSetNum3".

To make sure you can recover these keys easily should you want to you should save them by using the export function in the file menu.

Once the registry has been changed you will need to reboot for the change to take effect.

This same process can be applied to disable automatic keyboard handling. Just look at the other registry sections under the "Remotes" sections.

Now if you ever want to re-enable the automatic handling of the MCE Remote and MCE Keyboard you just need to put those registry keys back.
 

The complete thread may be read here: http://forum.team-mediaportal.com/showthread.php?t=29024 

Installing the replacement MCE Remote Driver

Make sure the MCE remote is installed.

In the Control Panel/System, select the Device Manager button on the Hardware Tab.

In the Universal Serial Bus Controllers section, locate the entry for the remote, right click and select "Update Driver"

- Select "No, not at the time" for the Window Update prompt.

- Select "Install from a list or specific location"

- Select "Don't search. I will choose the driver to install"

- Select the "Have Disk" button and enter the location of the MCEIR.SYS drivers.

- Select the MCE Infrared Remote Receiver option and the rest should be self explanatory.
 

After installation, the entry in the device manager should look like this:


Easy mistakes to make are

- The remote is listed as an input device as well, but you need to change the driver for the USB device
- To find the driver you need to navigate right to the driver folder and select the "mceir.inf" file.
- Follow the instruction entirely - if you don't the system will most likely find the std MS driver.

Please note that as you are no longer using the MS driver, any key presses will not control the PC

If you want to go back to the normal driver, just repeat the above but instead of "No, not at the time" click "yes, this time only" and it should find the original driver.

Using the MCE Replacement Driver with Girder

The MceIR.dll distributed with the MciApiIR.rar is a Girder-compatible plugin and may be used to receive IR commands by simply copying the file to your Girder plugins directory and setting it up (please see the Girder documentation for more details). The programs MceIRRec.exe and MceIRPlay.exe may be used to record and playback IR Commands.

Using the MCE Replacement Driver with Hip

Install the replacement MCE Remote driver as explained above.

Then download and install either the Complete Installation (selecting the MCE IR Plugin from the Components page) or the Standard Installation and the Hip MCE Send and Receive Plugin.

Run HIP and Open the configuration file called  MCEIR.HIP

If your copy of MCE is not installed in the default directory, or if you wish to use a different application, edit first Application slot with the appropriate location of MCE or another application to control (and define the keys).  The system should be ready for testing.

To use the MCE remote to send commands, you must first learn (or read from a file) the commands by selecting the Edit IR Commands menu option on the Main Hip screen.  Once this dialog is displayed, you must first create entries for the names of the Remotes you wish to learn, and then you may add edit and delete commands for each key press.

IR commands are saved in files located in the directory defined in the MCE Configuration Screen.

HIP Support questions are best lodged at in the Software Section of the DVB Owners Discussion Forum

Using CCF Codes

The CCF (Component Configuration File) that was developed by the Philips for their Pronto range of remotes has become a defacto standard for saving consumer IR Codes.  These are often the most reliable source of learned commands (especially if the manufacturer of the equipment created them).  Many (though not all) of the IR codes in these files can be used by MCEIR.DLL to generate commands.  These commands look something like this:

0000 006d 0022 0000 0155 00aa 0016 0016 0016 003f 0016 0016 0016 003f 0016 003f 0016 003f 0016 003f 0016 0016 0016 003f 0016 0016 0016 003f 0016 0016 0016 0016 0016 0016 0016 0016 0016 003f 0016 0016 0016 0016 0016 0016 0016 003f 0016 003f 0016 0016 0016 003f 0016 0016 0016 003f 0016 003f 0016 003f 0016 0016 0016 0016 0016 003f 0016 0016 0016 003f 0016 05e2

While HIP can extract these codes directly from CCF files, you can use the Philips ProntoEdit application or the free CCF Extractor. (Note Both HIP and CCF Extractor benefit from the installation of ProntoEdit as this program installs a font that assists in the display of the commands).

The best resource for CCF files, programs and Hex codes is Remote Central.

Reception Problems

ALL infrared receivers are susceptible to outside interference.  If the reception LED is constantly flashing, then you must find a way to either find and remove the source, or shield the receiver from it.

In the HTPC environment, there are 2 common sources:

  1. Plasma Screens - Do NOT position your IR receiver in the immediate vicinity of a Plasma Screen as the technology creates a wall of IR interference.
  2. IrDA Ports - Computers (especially notebooks) and PDAs often have a IR port for communication, and when on are continually transmitting IR commands (these commands cannot be read by the MCE device, but can interfere with other signals).  Simply turn these ports off when not in use.

Learning Problems

There are a number of reasons why you may be having problems teaching your MCE remote:

  1. IR Interference - if your MCE receiver LED is continually flashing, then there is another source of Infrared that will conflict with the learning procedure.  Must common culprits are IrDA ports on notebooks and PDAs, and Plasma screens and this can be solved by simply finding the source and turning it off during the learning procedure.
  2. IR Frequency - Some remotes use frequencies that are beyond the range of this device, or use another transport mechanism (such as RF).  Unfortunately there is no solution to this problem.
  3. Toggle Codes - Some remotes use the concept of "Toggle Codes" where different IR values are generated whenever a key is pressed. This is difficult to overcome without editing the IR output directly, but many users have found that using manufactures IR Codes stored in CCF Files work better than teaching the commands directly.

Transmission Problems

The IR Blasters appear to have only a very small transmission range and so their placement is critical for correct operation.  Generally they need to placed within 1cm of the IR sensor of the device you want to control, but the best location can only be ascertained by trial and error.  HIP has the ability to cycle the sending of Test IR commands (available in the Edit IR menu option available on the main menu) to make the process a little easier.  When testing the placement, it is recommended that you select a signal that is easily checked such as Mute On/Off.

MCE keyboard shortcuts

Description Key Hip Command
(Keystroke or SendMessage Commands)
Move up UP ARROW {UP}
Move down DOWN ARROW {DOWN}
Move left LEFT ARROW {LEFT}
Move right RIGHT ARROW {RIGHT}
Select ENTER or SPACEBAR {ENTER} or {SPACE}
Jump back one page at a time PAGE UP {PGUP}
Jump ahead one page at a time PAGE DOWN {PGDN}
Start Media Center Windows logo key+ALT+ENTER *@{ENTER}
Go back to the previous screen or backspace a single character in Search BACKSPACE {BKSP} or {@793,0,65536}
Toggle full screen mode or window mode ALT+ENTER @{ENTER}
Change channels    
Change to a specific channel 0..9 0..9
Move up one channel EQUAL (=) or CTRL+EQUAL = or ^= or {@793,0,3342336}
Move down one channel MINUS (-) or  CTRL+MINUS - or ^- or {@793,0,3407872}

Menu shortcuts take you directly to the main menus for feature areas.

My TV CTRL+SHIFT+T ^!t
My Music CTRL+M ^m
My Videos CTRL+E ^e
My Pictures CTRL+I ^i

TV and DVD menus

Guide CTRL+G ^g
Record CTRL+R ^r or {@793,0,3145728}
Details CTRL+D ^d
DVD Menu CTRL+SHIFT+M ^!m
Recorded TV CTRL+O ^o
DVD Audio CTRL+SHIFT+A ^!a
DVD Subtitle CTRL+U ^u

Transport controls control the playback of your media.

Pause CTRL+P ^p or {@793,0,3080192}
Play CTRL+SHIFT+P ^!p or {@793,0,3014656}
Play/Pause   {@793,0,917504}
Stop CTRL+SHIFT+S ^!s or {@793,0,851968}
Replay CTRL+B ^b or {@793,0,786432}
Skip CTRL+F ^f or {@793,0,720896}
Rewind CTRL+SHIFT+B ^!b or {@793,0,3276800}
Fast Forward CTRL+SHIFT+F ^!f or {@793,0,3211264}
Mute F8 {F8} or {@793,0,524288}
Volume Down F9 {F9} or {@793,0,589824}
Volume Up  F10 {F10} {@793,0,655360}

Emulating the MCE Triple-Tap SMS keyboard 

The replacement driver CAN NOT  use the MCE Triple-Tap SMS Features.  There are however workarounds (see the LAST post on this page http://www.thegreenbutton.com/community/shwmessage.aspx?ForumID=27&MessageID=93348&TopicPage=23).  The previous page has an explanation how the feature works.

With HIP I get 2 Keys acknowledged for every key press - What is Wrong?

This is because you have NOT installed the MCE replacement driver...the default drivers issue both key strokes AND a MCE Codes.  So you have 2 choices

  1. Use the Keyboard Interface in HIP with the default driver and NOT the HipMCE Plugin
  2. Use the Replace MCE Driver as described above

MCE Remote Toggle Key IR Output

The MCE Remote uses a "toggle key" algorithm when sending IR commands which means that each time you press the SAME key a different command is sent via the remote.

While this is not an issue if you use the MCE Remote and Receiver, replacing either component can cause problems. 

For example, teaching the MCE commands to a universal remote control is impossible unless the unit supports this feature.  Also if you use a different receiver or blaster, then again it must be able to handle toggle keys otherwise you must press each key twice for a learned command to be recognised.  Some receivers (such as IRMan) are not compatible at all with the MCE Remote as they produce the same code for multiple buttons.

2005-6 Peter Grimshaw
Last Updated 03-Feb-2010