[XBOX] HOW TO configure XBMC for Xbox and Logitech Harmony ONE Remote - Printable Version +- XBMC Community Forum (http://forum.xbmc.org) +-- Forum: Announcements, Info, and General Discussion (/forumdisplay.php?fid=85) +--- Forum: Tips, tricks, and step by step guides (/forumdisplay.php?fid=110) +--- Thread: [XBOX] HOW TO configure XBMC for Xbox and Logitech Harmony ONE Remote (/showthread.php?tid=39173) Pages: 1 2 3 4 5 [XBOX] HOW TO configure XBMC for Xbox and Logitech Harmony ONE Remote - katz - 2008-10-18 05:53 Well i thought I would give some guidance as to how I have my One setup with XBMC & hopefully give somthing back to the community that never stops helping me. The reason I have created a separate thread is that, whilst the majority of this HOW TO can be used for any Harmony Remote, the end shows how to take full advantage of the advanced Harmony One and its touch screen when using XBMC. I also created this as i found it tedious to hunt through the forums\big threads about universal remotes, when I just wanted one for my remote & HOW to take full advantage of it. Well here goes how I've set it up.... Initiation First and foremost when adding your XBOX as a device in the Harmony App, i just chose the normal XBOX + standard Remote (aka MicrosoftXbox). I know there are other remotes on the Logitech database which give like a thousand more buttons, but for me this was unnecessary. In saying that I was surprised when I added the standard remote, that some extra buttons were on the Logitech Database added to the standard remote. These are probably from another remote, but who cares, they are there, and these are the ones that I have used to setup my Harmony One perfectly. What I always wanted, was a way to to just simply switch to my Movies Library\TV Shows Library\Pictures\Music at the "touch" of a button. I have achieved this and more with this awesome remote, and I'll show you what else is possible further down. NOTE: This guide is not going to show you how to setup your amp\tv etc. The Harmony app is quite user friendly and you should be able to do this. This HOW TO is purely for the advanced settings required for XBMC & your Harmony One to work together. 1. Intro to Universal Remotes & XBMC (READ ONLY SECTION, DONT HAVE TO DO ANYTHING) Firstly big credit goes out to THESE GUYS as this was pretty much the only site that made sense of the foundation of setting up a Universal Remote for XBMC. Ignore the stuff at the start and jump straight to "Personalizing The Remote Buttons". What I had to do, was create a advancedsettings.xml in my UserData folder (HOW) so that it would show a special UNIQUE Code(obc code) on screen(in XBMC) with every button I pressed on my Harmony One. How though? This was achieved by adding true in the advancedsettings.xml. So what I did, was go through & I pressed all these extra buttons that Logitech had in their database for the xbox (which were now also on my remote) and noted down the code that was displayed. Later on this would allow me to assign ACTIONS to these codes to be performed by XBMC Note: I only noted down buttons(from the logitech DB) that WERE NOT used by XBMC. If I noticed an action was performed when i pressed a button I did not add it. Ill explain this more ..... 2. The Codes To save everyone alot of time, I have gone though ALL the extra buttons that are not used by XBMC and have noted their unique code Dont stress it'll be explained how they are used later. [/INDENT] So with the above table in mind, EG: when I pressed "HDMI" (a button that logitech added to my remote for the XBOX), the code: 5 was displayed in XBMC. when I pressed the "3D" button, the code: 90 was displayed onscreen. There was a strange occurance though, that being 3 buttons had the same Unique code; "PowerOn" and "PowerOff" and "Input VCR", they all displayed the same number : 58. All this means is I just have to pick one of these so that I can use the code 58 to perform an action in XBMC. As you guessed, ive used this code to turn off my xbox So with 16 spare codes, I was pretty sure this would be enough to do all the custom buttons\actions I wanted 3. What actions do we want our remote to perform ? Here is the fun part, choosing what you want your remote to do when you press a button, eg: switch to Movies Library switch to TV Shows Library Restart XBMC etc etc... Now the final list that I used, and what I wanted XBMC to do is: Restart XBMC Shutdown XBMC Movies Library TV Shows Library Pictures Music File Manager Shutdown Menu Take Screenshot Update Library (My favourite button ) Eject Tray Now to actually perform these, XBMC has specific commands that are needed so it knows that you want to eg Switch to Movies Library. [INDENT]To find a full list of what functions XBMC can perform CLICK HERE[/INDENT] Now some are tricky, eg Movies library & TV Show Library. The only way i figured out how to actually go straight to these (as I use Media Stream skin) was to enable Debug Mode and follow how the skin gets to the Moves Library. I know this was far fetched and I could've done THIS but i cbf and just did it the long but sure way. Below is a list of what i wanted XBMC to do, and actually HOW XBMC does it: Restart XBMC - XBMC.Reset Shutdown XBMC - XBMC.ShutDown Movies Library - XBMC.ReplaceWindow(MyVideoLibrary,movietitles,return) TV Shows Library - XBMC.ReplaceWindow(MyVideoLibrary,tvshowtitles,return) Pictures - XBMC.ReplaceWindow(pictures) Music - XBMC.ReplaceWindow(music) File Manager - XBMC.ReplaceWindow(filemanager) Shutdown Menu - XBMC.ReplaceWindow(ShutdownMenu) Take Screenshot - XBMC.Takescreenshot Update Library - XBMC.updatelibrary(video) Eject Tray - XBMC.EjectTray() Now that I knew how XBMC would do what I wanted, I now needed to edit my Keymap.xml to do all these lovely things.... 4. Telling XBMC what to do \ Setting up Keymap.xml So with all these codes (from Step 2) & all the XBMC commands\functions (from Step 3), I now needed to bring it ALL TOGETHER and tell XBMC what to do when i pressed a specific button. Firstly we need to make a copy of the keymap.xml that is in our System folder (..\XBMC\system\keymap.xml) and copy it to our UserData folder, as this file will take precedence as it is in the User Data folder. I dont recommend altering the keymap in the system folder, why? because there's no need to touch the original & its a fallback if you screw up your copied\altered one that sits in UserData. If you already have a copy of Keymap.xml in your UserData folder, sweet Lets get editing.... Firstly we need to add a section so that XBMC knows, if we press a certain button on our Harmony One, what it should do(what command\function should it perform). When you open up keymap.xml for editing, scroll down past all the comments which are at the top, until you get to the start: Code: [b]        [/b] Now just before the tag, we need to add a tag. This is how it should look: Code: [b]                  [/b] This, my friends is where it all happens. This is where we now insert our CODES that we noted down (Step 2), AND our functions we want XBMC to perform (Step 3). This is how it is done: Code: [b][/b]   [b][/b][Command][b][/b]   [b][/b][Command2][b][/b] [b][/b] Where ## is, you should replace this with the unique CODE we had put down earlier in Step 2. The same line should obviously have the same code. Where [command] is, you will replace it with the command that you have chosen. Overall, I assigned all my buttons in the following configuration: CLICK HERE (The blank ones are spare buttons that I have not used) I highly recommend keeping a Table as I have done, so you remember what function is assigned to what code & what code is assigned to what BUTTON on the remote. The Keymap.xml looks like this: Code: [b][/b]     [b][/b]XBMC.Reset[b][/b]     [b][/b]XBMC.ShutDown[b][/b]     [b][/b]XBMC.ReplaceWindow(MyVideoLibrary,movietitles,return)[b][/b]     [b][/b]XBMC.ReplaceWindow(MyVideoLibrary,tvshowtitles,return)[b][/b]     [b][/b]XBMC.ReplaceWindow(music)[b][/b]     [b][/b]XBMC.ReplaceWindow(pictures)[b][/b]         [b][/b]XBMC.ReplaceWindow(filemanager)[b][/b]     [b][/b]XBMC.ReplaceWindow(ShutdownMenu)[b][/b]         [b][/b]XBMC.Takescreenshot[b][/b]     [b][/b]XBMC.updatelibrary(video)[b][/b]     [b][/b]XBMC.EjectTray()[b][/b]     [b][/b] Now save this Keymap.xml and upload it to your UserData folder. Restart the Xbox. We havnt finished yet.... - katz - 2008-10-18 05:58 5. Finally Setting up the Harmony One Now that XBMC has been taken care of, we finally have to make the remote look nice yeh ? Of coarse. I assume you have already added your XBOX as a device in the Harmony App, and also assume you have already setup an Activity for your XBOX. I am now going to show you how to customise your remote to display the buttons we added above. Firstly lets deal with how we want the remote to show these nice buttons as LABELS on the touch screen as soon as we run the XBOX MEDIA CENTER activity. a) Click Customize Buttons: Screenshot b) Click Additional Buttons Tab: Screenshot As you can see I have made all my labels the names that I wanted to give in relation to the actions performed by XBMC. The device column is saying, which Device in the Activity do you want to send this command to? Obviously the XBOX. The Command is from Step 2, the buttons that I had tried, and then assigned a code in XBMC. Remember the table? Its handy to have [INDENT]EG. Pressing the Movie label on the touch screen will send the 3D button command to the XBOX Device. Exactly what we want. Then XBMC takes the 3D Button as OBC Code 90 (refer to table) Then XBMC knows OBC90 as it is in the keymap we edited and therefor runs "XBMC.ReplaceWindow(MyVideoLibrary,movietitles,return)" [/INDENT] *NOTE: I also put in a label called DISPLAY(the button that actually is on the standard Xbox DVD Remote) as I didnt really want it as a physical button on my Harmony One. You dont have to have that, it was just a preference of myne. c) Create a 2nd page of labels, as I have done: Screenshot Save your modifications & Update the Remote. All the above modifications you just completed will make your Harmony One look really smooth once it runs the Xbox Media Centre activity. For a look at what the end product looks like ive got some pics: Turn on your XBOX then touch the Xbox Media Center activity: Once it turns on your TV\amp etc your remote will now show all your labels ready to go!! :-D :-D and touching the right arrow will take you to the second page of labels you created: ALL DONE!!!! 6. HOLD UP !! What about turning it off ?? Yep you can also turn off the XBOX when you press the power button on your Logitech Remote (which will obviiously also turn off all other devices TV/Amp etc) a) Click the DEVICES tab in the Harmony App & click Settings on the XBOX Device: Screenshot The following photos, select the check boxes as I have done: b) Click Power Settings and click NEXT: Screenshot c) Screenshot d) Screenshot e) Select "I dont have the remote but I know what the command is". Select NONE f) It will say that there is no command selected, select YES to continue: g) Off Button: The reason i have put all 3 buttons to press, was because it wasnt working when I had just PowerOff. I know it might be because of the delays etc, but instead I just told the remote to press all 3 buttons when turning off the Xbox just to be sure!!. (Remember before how all those 3 buttons had the same Unique Code, well I assigned that unique code(58) to turn off the xbox) 7. SMS JUMPING in Videos Library.....to counter button lag CLICK HERE to jump to post SAVE AND UPDATE REMOTE. FINAL FINAL DONE. - haken - 2008-10-22 15:01 Now i know - I HAVE TO BUY HARMONY ONE Thanks for great tutorial! - TheBurner - 2008-10-22 21:02 Nicely done katz - katz - 2008-10-23 07:13 cheers guys! I thought with 200+ views somthing was going and I had wasted my time! lol - joisey04 - 2008-10-24 20:19 Would this be possible with the AppleTV too?? That would be great...... - kompressor77 - 2008-10-24 21:24 Hello! Is very nice to see this tutorial! I'm just looking for someone else using this remote whit XBMC. I have an issue: When i press arrows key to move in XBMC there is a noticeable delay. The remote can only send commands about every 0.4 seconds or so. You can also tell that this is true because if you press a button repeatedly, the remote buffer builds up, and the remote continues to send command many seconds after you have stopped pressing the buttons. This problem make the navigation too slooooow. I know there is a dedicated option in the remote software, but setting interkey or interdevice delay to lower value don't resolve. Obviously the xbox remote don't have this issue. Nobody else notice this delay? Help! - fuggin - 2008-10-26 04:31 I've got the Harmony 785 and the commands and my config are almost identical to yours, except that I use the Favourites windows constantly with the "XBMC.ActivateWindow(favourites)" command Regarding turning off the xbox, I've configured mine to use the xbox "PowerOn" command and it powers off every time. No need for the three commands. I'm very pleased with how my Harmony controls xbmc. Thanks for the great tutorial Katz. - pooh - 2008-10-26 05:51 joisey04 Wrote:Would this be possible with the AppleTV too?? That would be great...... Yep, that would make me buy one too.... Anyone pls? - Nogood5 - 2008-10-26 12:32 Thanks for the guide