Hello everyone,
I'm making this post to let you all know that I am not going to write any more code for the replacement driver. I am no longer going to work on the code that Bruno Fleurette started. I'm no longer going to compile the driver or try to make it work with 64-bit...
That all sounds very dramatic, but it isn't. Because the Replacement Driver is obsolete. I've found that you can make the standard eHome driver behave the same as the replacement driver, so there's no longer any need for the replacement driver. Not only that but I have rewritten (almost from scratch) the MceIr.dll in C# for my work with MediaPortal, so I no longer need either part of the Replacement Driver package.
All my latest work on MediaPortal now uses the new device access methods which were painstakingly developed over the last couple of years by reading technical documents, presentation slideshows, other Open Source code, analysing the way MCE works with USB sniffers and the like and by 100's of hours of experimentation and coding. I've made mention of these things in the documentation for IR Server Suite, so if you're interested in the process check it out.
At this point I should say that without Bruno's work on the driver/dll I would never have started with this, so I owe it all to him.
So I've attached to this post my final release of the code I have modified. In the attached zip file you will find multiple copies of the replacement driver, each compiled against a different platform (32/64 bit, XP, Vista, 2000, etc).
The 64-bit versions never worked.
I've also included the source code for the driver (which is just the bulkusb driver sample from the Windows Driver SDK) and source code for the MceIr.dll which is what made it all work. I've made a couple of minor changes to the dll, just for my work with MediaPortal and nothing major anyway.
I've posted it here so that if anyone is interested they can pick it up and run with it. Why you'd want to do that, I don't know... But I know some people are interested or already invested in the MceIr.dll so I figure there's no point just deleting my version of it ...
I've also attached details on how to use the eHome driver like the replacement driver.
EDIT: I've detailed below a new method for making the eHome driver behave like the replacement driver, this new method is much better than the old one and everyone should switch to it.
I don't know how I didn't find this earlier...
Load "regedit.exe" and navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\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.
EDIT:
You can recover those Registry keys by reinstalling the eHome driver, just go into device manager and uninstall the eHome receiver USB device and then go to the Action menu and select "Scan for hardware changes", this will bring back the driver and the registry keys with it.
If you're just here for the Vista replacement driver then I've forced you to read all that for nothing, just grab the attachment, it has what you want
EDIT:
The driver and source is now available from this location as well (doesn't require forum registration):
MEDIAPORTAL - free MediaCenter HTPC Software - MCE Remote Replacement Driver
I should also have mentioned that there are limitations that I've found with the Replacement Driver compared to the default eHome driver. Firstly, the Replacement Driver doesn't handle suspend/resume very well. And secondly, the Vista default driver is much better at dealing with learning and blasting IR. Thirdly, the replacement driver won't work with some of the newer Vista MCE remote devices.
Hope this helps someone out there,
I'm making this post to let you all know that I am not going to write any more code for the replacement driver. I am no longer going to work on the code that Bruno Fleurette started. I'm no longer going to compile the driver or try to make it work with 64-bit...
That all sounds very dramatic, but it isn't. Because the Replacement Driver is obsolete. I've found that you can make the standard eHome driver behave the same as the replacement driver, so there's no longer any need for the replacement driver. Not only that but I have rewritten (almost from scratch) the MceIr.dll in C# for my work with MediaPortal, so I no longer need either part of the Replacement Driver package.
All my latest work on MediaPortal now uses the new device access methods which were painstakingly developed over the last couple of years by reading technical documents, presentation slideshows, other Open Source code, analysing the way MCE works with USB sniffers and the like and by 100's of hours of experimentation and coding. I've made mention of these things in the documentation for IR Server Suite, so if you're interested in the process check it out.
At this point I should say that without Bruno's work on the driver/dll I would never have started with this, so I owe it all to him.
So I've attached to this post my final release of the code I have modified. In the attached zip file you will find multiple copies of the replacement driver, each compiled against a different platform (32/64 bit, XP, Vista, 2000, etc).
The 64-bit versions never worked.
I've also included the source code for the driver (which is just the bulkusb driver sample from the Windows Driver SDK) and source code for the MceIr.dll which is what made it all work. I've made a couple of minor changes to the dll, just for my work with MediaPortal and nothing major anyway.
I've posted it here so that if anyone is interested they can pick it up and run with it. Why you'd want to do that, I don't know... But I know some people are interested or already invested in the MceIr.dll so I figure there's no point just deleting my version of it ...
I've also attached details on how to use the eHome driver like the replacement driver.
EDIT: I've detailed below a new method for making the eHome driver behave like the replacement driver, this new method is much better than the old one and everyone should switch to it.
I don't know how I didn't find this earlier...
Load "regedit.exe" and navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\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.
EDIT:
You can recover those Registry keys by reinstalling the eHome driver, just go into device manager and uninstall the eHome receiver USB device and then go to the Action menu and select "Scan for hardware changes", this will bring back the driver and the registry keys with it.
If you're just here for the Vista replacement driver then I've forced you to read all that for nothing, just grab the attachment, it has what you want
EDIT:
The driver and source is now available from this location as well (doesn't require forum registration):
I should also have mentioned that there are limitations that I've found with the Replacement Driver compared to the default eHome driver. Firstly, the Replacement Driver doesn't handle suspend/resume very well. And secondly, the Vista default driver is much better at dealing with learning and blasting IR. Thirdly, the replacement driver won't work with some of the newer Vista MCE remote devices.
Hope this helps someone out there,
Last edited by a moderator: