MS MCE remote receiver with original Xbox remote?
#1
Question 
This is a little information about getting a Vista Remote Reciever to work for any Windows app (XBMC included) with almost any remote or even multiple remotes.

I bought a Vista MCE compatible remote for XBMC without realizing there was no support. I then checked the forums for how to get it up and running and found mention of HIP and EventGhost I tried both of them and neither one seemed to work for my remote. Then I noticed that it required me to install an old driver replacement. I did this but the driver didn't work for my remote. Then I tried the Vista compatible driver still no good.

I had all but given up and then I read the MediaPortal forum about the Vista compatible driver and found the author who had made it Vista compatible had written a collection of apps that worked with the default Vista driver and worked for all MCE remotes, supposedly even better than the replacement driver. The apps are bundled in a collection called IR Server Suite.

So I installed it and it worked like a charm, plus it took input from every remote I own and allowed output over my IR Blaster ports on my receiver. I still haven't built a full IR configuration for it yet but I'm planning on leaving the Vista Remote commands in tact, and setting it up to use the original XBOX remote for XBMC.

The app also alows for program specific controls, And has a variety of different tools for working with IR. I've read of others trying to do this and figured the info could be of help.

When I finish a config for the XBOX remote I'll post it.
Reply
#2
I can't wait to for your next post Smile
Reply
#3
Yeah doing it native is a pita since mce v1 and v2 are different (HID vs own driver).
I saw also the IR Server Suite but didn't test it yet.
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#4
yepp.
Wish we could solve it smothly some way. The MCE remotes are quite good for their price and got good range
Reply
#5
Too many are struggling with IR support, i opt that any IR device should work with any remote. (of course if that IR device has the correct OS drivers installed)

That's user friendlessness, now most are struggling..
Reply
#6
Here is a very basic config you can open the translator app and import it. This should allow the original XBOX controller to work with XBMC using an MCE receiver. However the title button doesn't work as there is no support in IR Server Suite for the menu keyboard button yet.

This doesn't cover special button mapping for different screens either as this was acomplished using keyboard mapping and that gets complicated.

The translator app also supports sending windows messages and I'm sure a cleaner solution could be had if a dev spent some time on it. There is a plugin for MediaPortal that comes with this app. And it installs an Input Service. I'm pretty sure if XBMC could talk directly to the input service then it could interpret any button from just about any remote. Then it would just be a matter of making a simple app to configure the mapping of the remote button codes to XBMC's recognized remote Buttons and extra buttons could be handled in a similar fasion to the way they where handled on the XBOX with code values.

Then we wouldn't need to map buttons to keyboard strokes and could map them to the XBOX remote buttons.

Code:
<?xml version="1.0" encoding="utf-8"?>
<Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ServerHost>localhost</ServerHost>
  <ProcessPriority>No Change</ProcessPriority>
  <HideTrayIcon>true</HideTrayIcon>
  <SystemWideMappings />
  <Programs>
    <ProgramSettings Name="XBMC" FileName="C:\Program Files\XBMC\XBMC.exe" Folder="C:\Program Files\XBMC" Arguments="-fs -p" UseShellExecute="false" ForceWindowFocus="false" IgnoreSystemWide="false" WindowState="Normal">
      <ButtonMappings>
        <ButtonMapping KeyCode="1368" Description="Xbox Down" Command="Keys: {DOWN}" />
        <ButtonMapping KeyCode="1369" Description="Xbox UP" Command="Keys: {UP}" />
        <ButtonMapping KeyCode="1367" Description="Xbox Right" Command="Keys: {RIGHT}" />
        <ButtonMapping KeyCode="1366" Description="Xbox Left" Command="Keys: {LEFT}" />
        <ButtonMapping KeyCode="1524" Description="Xbox Select" Command="Keys: {ENTER}" />
        <ButtonMapping KeyCode="1322" Description="Xbox Display" Command="Keys: {TAB}" />
        <ButtonMapping KeyCode="1301" Description="Xbox Play" Command="Keys: p" />
        <ButtonMapping KeyCode="1309" Description="Xbox Reverse" Command="Keys: r" />
        <ButtonMapping KeyCode="1308" Description="Xbox Forward" Command="Keys: f" />
        <ButtonMapping KeyCode="1319" Description="Xbox Back" Command="Keys: {BACKSPACE}" />
        <ButtonMapping KeyCode="1288" Description="Xbox Menu" Command="Keys: {ESC}" />
        <ButtonMapping KeyCode="1306" Description="Xbox Title" Command="Mouse: Click_Right" />
        <ButtonMapping KeyCode="1305" Description="Xbox Pause" Command="Keys:  " />
        <ButtonMapping KeyCode="1340" Description="Xbox Info" Command="Keys: i" />
        <ButtonMapping KeyCode="1314" Description="Xbox SkipMinus" Command="Keys: ," />
        <ButtonMapping KeyCode="1312" Description="Xbox SkipNext" Command="Keys: ." />
        <ButtonMapping KeyCode="1311" Description="Xbox Stop" Command="Keys: x" />
        <ButtonMapping KeyCode="1331" Description="Xbox Three" Command="Keys: =" />
        <ButtonMapping KeyCode="1334" Description="Xbox Six" Command="Keys: -" />
      </ButtonMappings>
    </ProgramSettings>
  </Programs>
  <Events />
</Configuration>
Reply
#7
oh yeah on the windows messaging if XBMC where just set up to inerpret a set of windows messages equivalent to the builtin remote functions these could then be mapped to remote button for any remote. Then a config for translator could be written and all someone using a different remote would need to do is remap the buttons.

But I still think direct communication with the Input Service is the way to go as it allows for more customization.
Reply
#8
Ok this is a lot better I still don't have the VirtualKeyboard and NumericInput working right yet but everything else is working great. As far as I can tell just like the original with only a couple minor changes to the keyboard functions.

In Full Screen Video and Visualisation you now have to hit m for the OSD as Enter adjusts AspectRatio / Brings up the PresetList. Also in Visualisation mode you now have to use comma for track back and period for track forward there the buttons with < and > so it's not that hard.

Those are the only changes. However this site doesn't allow me to post attachments so if anyoone wants it and is willing to host it let me know.
Reply
#9
Oh yeah it's just a modified keymap.xml and another configuration xml file for IR Server Suite.
Reply
#10
would be nice if someone could send up key files to win for MCE

Or explain how to do so a 3 year old can understand.

Thank you in hand
Reply
#11
wHack,
how do you "import" that file/XML?
I'm not an expert but I play one at work.
Reply
#12
I found how... duh! Wink

So... what needs to be running to receive IR for XBMC?
I'm not an expert but I play one at work.
Reply
#13
So I messaged and-81 the author of IR Server Suite about interacting directly with the Input Service and here is what he said.

Quote:Hey, that all sounds great!

It shouldn't be hard to interact with Input Service, all you have to do is open a tcp/ip connection to the service and follow a really simple protocol to start receiving button press notifications.

I think it would be very easy to add support to XBMC for Windows.

Unfortunately I don't have much spare time on my hands at the moment. So it would be difficult for me to do it.

I might have more time in a few weeks so I could look into it then, but I'd be more than happy for someone else to do it.

All the source code for IR Server Suite is publicly available in the MediaPortal Plugin SVN.

If you need any help or more info I'd be happy to help, just send me an email to [email protected]

Cheers,

- Aaron.

So I haven't takn the time to look into it or the Remote Messaging interface of XBMC but it seems like this should be doable with a fair degree of ease. If any dev wants to look into this it would be awesome as it would allow XBMC users to install only the Input Service from IR Server Suite and give XBMC direct access to the Remote Commands. If not I'll try and look into it myself but I really have no experience with the XBMC code or any time so that may never happen.
Reply
#14
Thanks, I'll have a look.
From the first look is there any need of a special plugin for XBMC or what are the limitations in using the translator for example?
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#15
Well there are a few limitations to using translator.

The biggest is that the keyboard mappings and the remote mappings for XBMC don't directly mirror each other so when you use translator to map to the keyboard controls of XBMC certain buttons won't work like they once did because that keyboard button on a different screen has a seperate function than the remote button that is mapped to it.

I managed to get around this for the most part by creating new keyboard mappings in the keymap.xml that represent the remote buttons specifically and copied and edited the remote sections of the keymap file to the keyboard section and changed the tags so they represented the actions of the remote buttons.

This causes the problem of having extra keymappings for keys all over the place so hunting for the right key if you can't remeber it has a much higher likleyhood of an undesired action, and just makes the keymap.xml file significantly more cumbersome and bloated, and requires alot more customization meaning alot of people will likely have varying solutions wich is unnecesarilly confusing.

This still leaves issues getting the Virtual Keyboard and Numeric Inputs to act correctly as XBMC detects the keyboard arrows and handles them differently than remote arrows. Whis of courese makes since who would use the virtual keyboard an a keyboard. So the up and down arrows on the keyboard do nothing in those windows and the left and right just shift the cursor position within the text. Thus there's no way to select the letters with the remote. If you change this then the keyboard specifice behaviour is over written.

So for these reasons it seems to make sens to internall handle the remote codes specifically as remote codes instead of using a keyboard mapping hack. All of XBMC's keyboard and remote configuration was setup with the thought of the two being handled seperately and differently which make's then dificult to combine with such a workaround.

I'll continue this in another post addressing my thoughts on the need or lack thereof for a plugin or what might be a good solution.
Reply

Logout Mark Read Team Forum Stats Members Help
MS MCE remote receiver with original Xbox remote?0