View Full Version : [MAC] HOW-TO setup your Harmony Remote for use with XBMC on OSX
Note: Snow Leopard 10.6.0 and 10.6.1 broke the IR interface, but 10.6.2 is supposed to fix this. In the meantime, if you are on 10.6.0 or 10.6.1, you must use a current SVN build (http://www.sshcs.com/xbmc/?mode=BO) of XBMC as of late October 2009 or better, version 9.11 alpha 2 (http://xbmc.org/team-xbmc/2009/11/12/xbmc-9-11-alpha2-ready-for-testing/)or higher. Please see this thread (http://www.xbmc.org/forum/showthread.php?t=60426) for clarification.
Since I suggested such a guide and developer MaestroDD threw it back at me and asked me to write one, here is a step-by-step guide to setting up a Harmony One remote for use with XBMC on Mac OS X.
Note that a lot of this will repeat the great info already provided by Maestro in this thread (http://www.xbmc.org/forum/showthread.php?t=49420), but with some additional notes and screenshots, etc. It is geared toward users of the current distribution version of XBMC for Mac OS X (http://xbmc.org/download/) rather than the most-hard core modder types.
Here's what you need to know to start off:
Steps marked * should not be necessary after XBMC version 9.04.1 because the working XBMC remote-helper beta version will have already been included and a known bug will have been fixed.
Steps marked ** should not be necessary after XBMC version 9.11 alpha 2.
You will be installing and editting a custom Keymap.xml file (not necessary after version 9.11 alpha 2 (http://xbmc.org/team-xbmc/2009/11/12/xbmc-9-11-alpha2-ready-for-testing/)) and adding a Plex Media PC to your Harmony One Devices and customizing its buttons.
A: Set up XBMC and OS X to work with the Harmony One
1. You must UNPAIR any Apple Remotes you have already paired with OS X in System Preferences -> Security -> General.
2. In XBMC's System Settings for Apple Remote, set it to Standard and not Universal Remote. On newer SVN builds or any version 9.11 or higher, set it to Multi-Remote.
3. If you are interested in the ability to launch XBMC using the Menu button on your Harmony One, enable the Always On setting. Please note that this will prevent the use of the Harmony One OR any Apple Remote by any other applications, including Front Row, Sofa Control, Remote Buddy, Plex, etc. If using a version of XBMC up until 9.04.1, you must also work around a known bug. See the end of the next section on how to do this.
B*: Set up the XBMC application
1*. If you are reading this after the release of the next version of XBMC following version 9.04.1 (http://www.macupdate.com/info.php/id/28851/xbmc-media-center), or are using a newer SVN build (http://www.sshcs.com/xbmc/?mode=BO), skip this section.
2*. Quit XBMC.
3*. On versions of XBMC up until 9.04.1, download this beta version of the XBMCHelper (http://dl.getdropbox.com/u/858897/XBMC/XBMCHelper).
4*. Replace XBMCHelper in the XBMC application package folder (/Application/XBMC.app/Contents/Resources/XBMC/tools/osx/) with the new version. If you do not know how to do this, select the XBMC application and control-click (right-click). The select "Show Package Contents" from the contextual menu and navigate to this directory.
5*. Make the version of XBMCHelper that you just replaced executable. Copy & paste this into a new Terminal window:
chmod +x /Applications/XBMC.app/Contents/Resources/XBMC/tools/osx/XBMCHelper
For those afraid of Terminal, there are applications that allow you to edit permissions (including 'execute') with a GUI, such as Super Get Info (http://www.macupdate.com/info.php/id/6053/super-get-info-x).
6*. On versions of XBMC up until 9.04.1, there was a bug that prevented XBMC from saving the system setting to always keep the universal remote on. If interested in correcting this (see below), then you must modify the contents of a preference file and make that file read-only. Here are the details (http://xbmc.org/forum/showpost.php?p=343224&postcount=112).
C: Install a custom Keymap.xml file
1**. If you are using any version starting with 9.11 alpha 2 (http://xbmc.org/team-xbmc/2009/11/12/xbmc-9-11-alpha2-ready-for-testing/) you can skip this section, as the correct keymap for the Plex configuration shown here is now the default. If you previously have installed this custom keymap file in your user domain (Step C5 here), you can now remove it if you choose.
2**. Quit XBMC
3**. Download my custom Keymap.xml file (http://www.mediafire.com/?sharekey=41c215c4c81264a5d6baebe61b361f7c66c489ac 19a17b80ce018c8114394287) (based on the one provided by Maestro). The main difference is I mapped a number of additional functions to Function keys that are shown in the screenshots in the next section. (Note that the actual function key mappings are completely arbitrary but they correspond to what I used in the screenshots below).
4**. Unzip the file
5**. Copy it to your userdata folder (~/Library/Application\ Support/XBMC/userdata/)
D: Configure your Harmony One Remote
1. We'll assume you've installed the Logitech Harmony Remote software (http://www.logitech.com/index.cfm/440/3898&cl=us,en?osid=9) and have already used it to configure other devices.
2. Create a new device of type "Media Center PC", brand Plex, and type "Plex Player" into the box.
3. Create a new Activity using this Plex Player device and any other devices you need (TVs, amps, etc).
4. Rename this Activity something like "Watch XBMC"
5. Customize the buttons for this Activity as shown in these screenshots.
http://i283.photobucket.com/albums/kk301/metaclam/harmony/harmony01.jpg
http://i283.photobucket.com/albums/kk301/metaclam/harmony/harmony02.jpg
http://i283.photobucket.com/albums/kk301/metaclam/harmony/harmony03.jpg
http://i283.photobucket.com/albums/kk301/metaclam/harmony/harmony04.jpg
(See following post for remaining screen shots as each post is limited to 6)
6. Note a couple buttons mapped to my own AV Receiver you will want to adjust accordingly, and also you may want additional buttons for your other equipment.
7. Upload changes to remote
8. Hit the Menu button to launch XBMC (assuming you followed Step A3) or launch it from the Finder/Dock
9. Enjoy!
http://i283.photobucket.com/albums/kk301/metaclam/harmony/harmony05.jpg
http://i283.photobucket.com/albums/kk301/metaclam/harmony/harmony06.jpg
http://i283.photobucket.com/albums/kk301/metaclam/harmony/harmony07.jpg
Note: As indicated in section C above, XBMC 9.11 alpha 2 and higher includes the corresponding keymap configuration for this set-up by default. In addition it includes the following maps not shown in the above screen shots, that you can add if you want to an another "Additional Buttons" soft screen of your Harmony configuration:
Red --> Codec Info
Green --> Settings
Yellow --> System Settings
Blue --> System Info
Amazing post. I cannot WAIT to try this. Starting my configuration now.
THANK YOU!
I followed all the instructions and installed the keymap.xml file. Skipped step because I used the newest version. The remote works but it is not behaving correctly when i hit exit it acts as UP on the remote. I installed Plex and the harmony remote is working perfectly any ideas? :sad:
MaestroDD
2009-08-05, 10:27
I followed all the instructions and installed the keymap.xml file. Skipped step because I used the newest version. The remote works but it is not behaving correctly when i hit exit it acts as UP on the remote. I installed Plex and the harmony remote is working perfectly any ideas? :sad:
Did you set AppleRemote to Harmony in XBMC?
there was no harmony option i just set it to standard?
MaestroDD
2009-08-05, 11:32
there was no harmony option i just set it to standard?
doesn't fit to:
Skipped step because I used the newest version.
linuxport has harmony support since ~9.04.1.
Please post xbmc.log
yes, standard. changed above.
and i'm not sure what Maestro means by linuxport, but the Mac release version posted on sites like MacUpdate is still 9.04.1 and as I understand it, this does not yet include the Harmony support -- therefore installing the beta xbmchelper remains necessary as of 8/5/2009.
I have the same problem as Tbtf. The remote (harmony 525) is working, but I don't get the correct responses (for example, pressing OK in the menu gets me to the hardware-info in XBMC). But if I choose Plex Player in devices on the remote, everything works perfectly! How can that be? If we focus on the OK-button, I have chosen the same buttons in Logitechs configurations for that command. ???
I have installed(I guess?) the xbmchelper, but I still only can choose between Standard and Universall in the XBMC-settings. I have the latest XBMC version, 9.04.1.
Solved it right away after I wrote the question. A little bit of a newbie-mistake.
Since I'm swedish, Logitechs software translates the commands after each command, so I got two diffrent "OK:s" in the button configuration, "Enter (OK)" and "OK(OK)". Now everything works perfectly, thanks alot guys!! :grin:
Hi, Should this be working for the AppleTV version? I have svn 22182 on the mac and on the AppleTV, the mac already had the HELPER but not the AppleTV so I installed it and made it executable. I created Plex on the Harmony, set XBMC to Standard remote and not one button works... hence my original questions. Any help is greatly appreciated.
I noticed while setting up the device in Harmony that there is an entry for Xbox, has anyone tried that for the XBMC-AppleTV?
Tried this in Appletv but the buttons are all messed up....
Not working...
fantasygoat
2009-08-23, 06:58
I did this on my Mac Mini and the standard buttons work - up, down, left, right, menu - but anything else like Fast Forward or Forward Skip just raise and lower the volume.
I'm assuming this is something in the Keymap?
Also, I notice the Harmony response time on button presses is much slower than the Apple Remote. Not sure if that's the Harmony or not.
Did anyone ever get the buttons working properly on the Apple TV?
The last few posts indicate not....
MaestroDD
2009-08-30, 17:24
Did anyone ever get the buttons working properly on the Apple TV?
The last few posts indicate not....
There's currently no native Harmony support on the ATV, sorry. Instead one can use the native ATV feature to learn 3rd party remote commands (like Play, Next etc.)
There's currently no native Harmony support on the ATV, sorry. Instead one can use the native ATV feature to learn 3rd party remote commands (like Play, Next etc.)
While it is true that a lot of XBMC buttons are not available on the AppleTV remote, you don't have to make the Harmony remote learn the standard commands. The AppleTV device can be found in Harmony o=under the Media Center section. Just add it to you list of devices and create a new activity.
mmmfishies
2009-09-06, 11:25
Thanks for the comprehensive instructions! I've been using this for a little while with a 670 and now a Harmony 900 and I'm seeing annoying delays when using specific buttons. If I run "XBMCHelper -v", here's an example of the output:
2009-09-06 01:02:42.996 XBMCHelper[10621:10b] XBMCClientWrapperImpl::sendButton sending button 2 down:2 up:0
2009-09-06 01:02:43.124 XBMCHelper[10621:10b] XBMCClientWrapperImpl::sendButton sending button 2 down:0 up:4
2009-09-06 01:02:51.262 XBMCHelper[10621:10b] XBMCClientWrapperImpl::sendButton sending button 1 down:2 up:0
2009-09-06 01:02:51.390 XBMCHelper[10621:10b] XBMCClientWrapperImpl::sendButton sending button 1 down:0 up:4
2009-09-06 01:02:53.673 XBMCHelper[10621:10b] XBMCClientWrapperImpl::sendButton sending button 4 down:2 up:0
2009-09-06 01:02:53.676 XBMCHelper[10621:10b] XBMCClientWrapperImpl::sendButton sending button 4 down:0 up:4
2009-09-06 01:02:54.690 XBMCHelper[10621:10b] XBMCClientWrapperImpl::sendButton sending button 3 down:2 up:0
2009-09-06 01:02:54.692 XBMCHelper[10621:10b] XBMCClientWrapperImpl::sendButton sending button 3 down:0 up:4
The first two down/up sequences are for "up" and "down" and the last two are for "left" and "right". As you can see, the first two taking over 100ms, but the last two take only 2ms. The delays in the "up" and "down" are quite noticeable to me when navigating menus and lists, and I'd like to understand why it's happening. I've set the "Inter-key" and "Inter-device" delay to 0, and I've tried changing the "repeat" value from 0-5 and higher numbers only make it worse.
I'm seeing the same behavior from the normal Apple remote, so it may just be a quirk with the way the remote works. On the other hand, hitting "up" and "down" in Front Row seems to be a lot more responsive and reliable than in XBMC. I wonder if it would help to use a different remote command for up and down now that we're free to remap.
I'm using a 2007 Mac Mini running 10.5 and SVN-22528.
mattiasp
2009-10-06, 20:52
Something seems to be broken in latest SVN build, r23451.
XBMCHelper runs just fine and can successfully launch XBMC.app. When XBMC is launched there's no response to key presses. This includes the PowerToggle-button that normally exists XBMC.
XBMCHelper shows that commands are received from the IR:
2009-10-06 08:04:52.690 XBMCHelper[10621:10b] XBMCClientWrapperImpl::sendButton sending button 3 down:2 up:0
2009-10-06 08:04:52.692 XBMCHelper[10621:10b] XBMCClientWrapperImpl::sendButton sending button 3 down:0 up:4
No Keymap.xml present.
The XBMCHelper.conf:
--multiremote --verbose --timeout 100 --appPath "/Applications/XBMC.app/Contents/MacOS/XBMC" --appHome "/Applications/XBMC.app/Contents/Resources/XBMC"
Any ideas on how to debug further?
Check this post, it changes the AppleTV remote and therefore my Harmony and it is excellent http://xbmc.org/forum/showpost.php?p=413429&postcount=1
MaestroDD
2009-10-07, 01:16
Something seems to be broken in latest SVN build, r23451.
[...]
Any ideas on how to debug further?
see:
http://xbmc.org/forum/showthread.php?t=59200 and
http://xbmc.org/trac/ticket/7284
I *think* it's the eventserver, but couldn't figure it out yet.
mattiasp
2009-10-08, 18:54
see:
http://xbmc.org/forum/showthread.php?t=59200 and
http://xbmc.org/trac/ticket/7284
I *think* it's the eventserver, but couldn't figure it out yet.
Latest SVN fixes the problem. Thanks for the heads up :-)
MaestroDD
2009-10-08, 19:11
Latest SVN fixes the problem. Thanks for the heads up :-)
uhm, yep, sorry for not posting it a third time here ;)
uhm, yep, sorry for not posting it a third time here ;)
For those of us not familiar with the SVN builds, if you're saying the Apple Remote is fixed for Snow Leopard in some SVN build, some instructions for the clueless about how to get this build would be very appreciated. Thanks.
For those of us not familiar with the SVN builds, if you're saying the Apple Remote is fixed for Snow Leopard in some SVN build, some instructions for the clueless about how to get this build would be very appreciated. Thanks.
No the remote still has issues with front row/itunes in SL but you can work around them if you don't need front row.
SVN builds can be found at the fantastic http://www.sshcs.com/xbmc/?mode=BO site
Hmm.... thanks. so I tried the SVN build 23569. I notice there is now a separate remote setting for "Multi (Harmony)" which I tried. Seems to work reasonably good with my existing config (as explained in the How-To starting this thread). However -- and a big however -- the up & down buttons turn the system volume & down in addition to moving up & down, and somewhere along the way iTunes gets launched also. I don't need any of that stuff -- so if you can point me to the proper work around that would be dandy. Thanks.
edit:
well... I found the best work-around thread for this on the plex forums. if you read on toward the end you'll see some of the pros and cons, and the idea that maybe this will be fixed in 10.6.2 (with a beta release notes post from brazil.... but despite the fact that apple told one person at least that this 'bug' is intentional, as only apple gets to use the remote. mofos, seriously)
http://forums.plexapp.com/index.php?/topic/8658-apple-remote-issues-under-10-6/page__st__80
also, SofaControl and RemoteBuddy seemed to implement their own work-around weeks ago, I wonder why XBMC can't duplicate that? Or will it?
but the work around options for now involve either killing some bezel services or renaming both 'front row.app' and 'rcd.app' in /System/Library/CoreServices/ ... I'm trying the latter now and seems to work, with a sort of noticable lag however. ugly hack of a work around though.
So --- without advocating this and recognizing this might have some adverse affects (and will definitely kill Front Row), this works:
cd /System/Library/CoreServices
sudo mv 'Front Row.app' 'Front Row.app.bak'
sudo mv rcd.app rcd.app.bak
then restart.
to revert, just rename back to original names:
cd /System/Library/CoreServices
sudo mv 'Front Row.app.bak' 'Front Row.app'
sudo mv rcd.app.bak rcd.app
then restart
(honestly not totally sure what rcd.app all does -- but has to do with handling the apple remote the way apple wants -- so expect if you do this only non-apple stuff will work)
Hmm.... thanks. so I tried the SVN build 23569. I notice there is now a separate remote setting for "Multi (Harmony)" which I tried. Seems to work reasonably good with my existing config (as explained in the How-To starting this thread). However -- and a big however -- the up & down buttons turn the system volume & down in addition to moving up & down, and somewhere along the way iTunes gets launched also. I don't need any of that stuff -- so if you can point me to the proper work around that would be dandy. Thanks.
I like how you mentioned that you are running under 10.6. Next time please include this info less others think that your problem exists under 10.5/10.4 or AppleTV.
Now, as to your IR control problem. The pending 10.6.2 update will resolve that issue.
I like how you mentioned that you are running under 10.6.
I did say that (more or less) a few posts up in this thread. I've also edited the last post, probably while you were posting the above, to indicate viable work-arounds for now. Glad to know this will be actually fixed in 10.6.2, but so far still seems iffy (under brazilian non-non-disclosure ;-)
lordfoul
2009-10-18, 17:43
I followed these instructions and XBMCHelper is crashing continuously.
I am Using a PPC MacMini with and MCE (eHome) IR receiver. This setup works in mira with and apple remote.
Here is the log of the crash.
Process: XBMCHelper [160]
Path: /Applications/XBMC.app/Contents/Resources/XBMC/tools/osx/XBMCHelper
Identifier: XBMCHelper
Version: ??? (???)
Code Type: PPC (Native)
Parent Process: launchd [80]
Interval Since Last Report: 359 sec
Crashes Since Last Report: 2
Per-App Interval Since Last Report: 0 sec
Per-App Crashes Since Last Report: 2
Date/Time: 2009-10-18 21:04:51.209 +0700
OS Version: Mac OS X 10.5.8 (9L31a)
Report Version: 6
Anonymous UUID: A7B237D6-BAF0-4B23-8CC9-EF51406A6557
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000097063c98
Crashed Thread: 0
Application Specific Information:
*** Terminating app due to uncaught exception 'AppleRemoteInitExecption', reason: 'AppleRemote could not be initialized'
Thread 0 Crashed:
0 com.apple.CoreFoundation 0x97063c98 ___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___ + 0
1 libobjc.A.dylib 0x95be04e8 objc_exception_throw + 68
2 XBMCHelper 0x000064b8 -[XBMCHelper init] + 472
3 XBMCHelper 0x00003f70 main + 252
4 XBMCHelper 0x000021bc _start + 756
5 XBMCHelper 0x00001ec0 start + 44
Thread 0 crashed with PPC Thread State 32:
srr0: 0x97063c98 srr1: 0x0202f030 dar: 0x0010e000 dsisr: 0x42000000
r0: 0x95be04ec r1: 0xbffff9d0 r2: 0xa0b645f8 r3: 0x0004c000
r4: 0x001fc080 r5: 0x001fc080 r6: 0x00000002 r7: 0x001fe005
r8: 0x000001ae r9: 0x0000d400 r10: 0x001fe005 r11: 0x24000442
r12: 0x95cc0d30 r13: 0x00000000 r14: 0x00000000 r15: 0x00000000
r16: 0x00000000 r17: 0x00000000 r18: 0x00000000 r19: 0x00000000
r20: 0x00000000 r21: 0x00000000 r22: 0x00000000 r23: 0x00000000
r24: 0x00000000 r25: 0x00000001 r26: 0xbffffbf0 r27: 0xbffffbbc
r28: 0xbffffbb4 r29: 0x0010abc0 r30: 0xa096edc0 r31: 0x95be04b4
cr: 0x24000442 xer: 0x00000004 lr: 0x95be04ec ctr: 0x95cc0d30
vrsave: 0x00000000
MaestroDD
2009-10-18, 22:14
Hi Lordfoul,
thanks for the report!
I followed these instructions and XBMCHelper is crashing continuously.
I am Using a PPC MacMini with and MCE (eHome) IR receiver. This setup works in mira with and apple remote.
Looks like that IR receiver isn't picked up by XBMCHelper. It crashes because it can't initialize the remote. There'll be a new version of XBMCHelper soon, which might fix that.
cheers,
mdd
lordfoul
2009-10-19, 05:15
My bastard cobbled together system thanks you.
Hi Lordfoul,
thanks for the report!
Looks like that IR receiver isn't picked up by XBMCHelper. It crashes because it can't initialize the remote. There'll be a new version of XBMCHelper soon, which might fix that.
cheers,
mdd
lordfoul
2009-10-19, 07:22
Not sure if this will help at all but here is the info on my receiver as my MacMini sees it.
eHome Infrared Transceiver:
Product ID: 0x0001
Vendor ID: 0x1784 (TopSeed Technology Corp.)
Version: 0.00
Serial Number: TS000IFl
Speed: Up to 12 Mb/sec
Manufacturer: Topseed
Location ID: 0x5b120000
Current Available (mA): 500
Current Required (mA): 100
UnisonRuss
2009-10-20, 07:48
My remote is working, but certain commands are not working properly... for instance play/pause/ff/rew don't do what they are suppose to do, as well as Exit, Info, and Back. Is this keymap suppose to have all those functions working? If so, what am I doing wrong?
I have the current svn build, and I followed the instructions on the first page. I assumed all the XBMChelper stuff was not needed, since my build is recent...
I would appreciate any help!
EDIT: Nevermind, figured out! Thank you to all that was involved creating this :D
UnisonRuss
2009-10-20, 08:36
I just want to add that this made my day... I can't believe how awesome this is :D
MaestroDD
2009-10-20, 12:12
EDIT: Nevermind, figured out! Thank you to all that was involved creating this :D
mind posting what helped?
UnisonRuss
2009-10-20, 12:38
Sure :)
I still had system settings (remote) set to "Standard" as described in the tutorial. When in standard, the advanced functions of play/stop, exit/back, etc. didn't work. I went back into settings for the hell of it and switched from "Standard" to "Multi (Harmony)" and bam! Everything works like it did with Plex. I can now make XBMC my default media center, which makes me very happy :D
And now to fins a skin to settle with :lol:
UnisonRuss
2009-10-20, 13:39
OK now I'm having a problem...
I tried to install a new skin (Rapier), and it kept crashing XBMC. So, I removed that skin, but that confused it even more. I had to rename another skin Rapier to trick XBMC to boot at all. Once XBMC opened up, I changed the skin again, while renaming the other skin back to it's original name (confused yet?)
Now the remote no longer works!
[FIXED] I figured out Plex was conflicting with the harmony...I deleted all traces of it and rebooted my mac, and now it works great again :)
I moved XBMC to the trash, emptied it, and restarted my mac. I then re-installed XBMC (latest svn build) and open it, and the remote still didn't work. I thin re-downloaded the keymap, and put it in the proper directory. The remote still doesn't work!
Please help me! Does it have something to do with XBMC helper? How do I fix this?
Thank you for any answers :)
lordfoul
2009-10-24, 04:55
MaestroDD,
Should I create a Trac Ticket for this? I wasn't sure if that would be more proper (or more annoying)
Hi Lordfoul,
thanks for the report!
Looks like that IR receiver isn't picked up by XBMCHelper. It crashes because it can't initialize the remote. There'll be a new version of XBMCHelper soon, which might fix that.
cheers,
mdd
MaestroDD
2009-10-24, 17:25
MaestroDD,
Should I create a Trac Ticket for this? I wasn't sure if that would be more proper (or more annoying)
always good so it doesn't get lost. Thanks!
Already tried the new XBMCHelper (svn rev >=23931)?
cheers,
mdd
lordfoul
2009-10-24, 18:07
I am on a PPC, So I can't use the existing compiled SVNs, I have tried compiling before but it never works. Is there a way I can just get the latest XBMCHelper file to test?
Sorry for being helpless.
always good so it doesn't get lost. Thanks!
Already tried the new XBMCHelper (svn rev >=23931)?
cheers,
mdd
MaestroDD
2009-10-24, 18:17
I am on a PPC, So I can't use the existing compiled SVNs, I have tried compiling before but it never works. Is there a way I can just get the latest XBMCHelper file to test?
The XBMCHelper binary should be a universal binary, so you can just grab it from one of the nightly builds.
On the other hand, building XBMCHelper should be straight forward, as there are no dependencies. Once you've checked out XBMC, open XBMCHelper's xcodeproject ($(XBMC_SOURCE)/tools/EventClients/Clients/OSXRemote/XBMCHelper.xcodeproj/) and hit build. The binary is then located in $(XBMC_SOURCE)/tools/osx/XBMCHelper.
HTH,
mdd
I am on a PPC, So I can't use the existing compiled SVNs, I have tried compiling before but it never works. Is there a way I can just get the latest XBMCHelper file to test?
.
I think this should solve your problem, it did for me, the important changes are in joystick.AppleRemote.xml which is located in: Applications/XBMC/Contents/Resources/XBMC/system/keymaps/
This works with the Apple Remote and my Harmony which is setup for the AppleTV.
It obviously doesn't do everything you can do on the mac using the keyboard but for the AppleTV, it is way better than the original settings.
Hope it helps
<!-- This file contains the mapping of keys (gamepad, remote, and keyboard) to actions within XBMC -->
<!-- The <global> section is a fall through - they will only be used if the button is not -->
<!-- used in the current window's section. Note that there is only handling -->
<!-- for a single action per button at this stage. -->
<!-- For joystick/gamepad configuration under linux/win32, see below as it differs from xbox -->
<!-- gamepads. -->
<!-- The format is: -->
<!-- <device> -->
<!-- <button>action</button> -->
<!-- </device> -->
<!-- To map keys from other remotes using the RCA protocol, you may add <universalremote> blocks -->
<!-- In this case, the tags used are <obc#> where # is the original button code (OBC) of the key -->
<!-- You set it up by adding a <universalremote> block to the window or <global> section: -->
<!-- <universalremote> -->
<!-- <obc45>Stop</obc45> -->
<!-- </universalremote> -->
<!-- To find out the OBC's of your remote, try enabling the <displayremotecodes> tag in AdvancedSettings.xml -->
<!-- Note that the action can be a built-in function. -->
<!-- eg <B>XBMC.ActivateWindow(MyMusic)</B> -->
<!-- would automatically go to My Music on the press of the B button. -->
<!-- Joysticks / Gamepads: -->
<!-- See the sample PS3 controller configuration below for the format. -->
<!-- -->
<!-- Joystick Name: -->
<!-- Do 'cat /proc/bus/input/devices' or see your xbmc log file to find the names of -->
<!-- detected joysticks. The name used in the configuration should match the detected name. -->
<!-- -->
<!-- Button Ids: -->
<!-- 'id' is the button ID used by SDL. Joystick button ids of connected joysticks appear -->
<!-- in xbmc.log when they are pressed. Use your log to map custom buttons to actions. -->
<!-- -->
<!-- Axis Ids / Analog Controls -->
<!-- Coming soon. -->
<keymap>
<global>
<joystick name="AppleRemote">
<!-- plus --> <button id="1">Up</button>
<!-- minus --> <button id="2">Down</button>
<!-- left --> <button id="3">Left</button>
<!-- right --> <button id="4">Right</button>
<!-- play/pause --> <button id="5">Select</button>
<!-- menu --> <button id="6">PreviousMenu</button>
<!-- hold play --> <button id="7">Fullscreen</button>
<!-- hold menu --> <button id="8">ContextMenu</button>
<!-- old buttons for ATV <2.2, used on OSX -->
<!-- hold left --> <button id="9">Left</button>
<!-- hold right --> <button id="10">Right</button>
<!-- Learned remote buttons (ATV >2.3) -->
<!-- Play --> <button id="70">Play</button>
<!-- Pause --> <button id="71">Pause</button>
<!-- Stop --> <button id="72">Stop</button>
<!-- Previous --> <button id="73">SkipPrevious</button>
<!-- Next --> <button id="74">SkipNext</button>
<!-- Rewind --> <button id="75">Rewind</button>
<!-- Forward --> <button id="76">FastForward</button>
<!-- Return --> <button id="77">OSD</button>
<!-- Enter --> <button id="78">ShowVideoMenu</button>
</joystick>
</global>
<Home>
<joystick name="AppleRemote">
<button id="6">Fullscreen</button>
</joystick>
</Home>
<MyMusicPlaylist>
<joystick name="AppleRemote">
<button id="6">Playlist</button>
</joystick>
</MyMusicPlaylist>
<MyMusicPlaylistEditor>
<joystick name="AppleRemote">
<button id="5">ContextMenu</button> <!-- FIXME? -->
<button id="6">Playlist</button>
</joystick>
</MyMusicPlaylistEditor>
<MyMusicFiles>
<joystick name="AppleRemote">
<button id="6">ParentDir</button>
</joystick>
</MyMusicFiles>
<MyMusicLibrary>
<joystick name="AppleRemote">
<button id="6">ParentDir</button>
</joystick>
</MyMusicLibrary>
<FullscreenVideo>
<joystick name="AppleRemote">
<!-- hold Plus --> <button id="1">BigStepForward</button>
<!-- hold Minus --> <button id="2">BigStepBack</button>
<!-- Left --> <button id="3">SmallStepBack</button>
<!-- Right --> <button id="4">StepForward</button>
<!-- Play --> <button id="5">Pause</button>
<!-- Menu --> <button id="6">OSD</button>
<!-- hold play --> <button id="7">Stop</button>
<!-- hold menu --> <button id="8">Info</button>
</joystick>
</FullscreenVideo>
<FullscreenInfo>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</FullscreenInfo>
<PlayerControls>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</PlayerControls>
<Visualisation>
<joystick name="AppleRemote">
<button id="1">VolumeUp</button>
<button id="2">VolumeDown</button>
<button id="3">SkipPrevious</button>
<button id="4">SkipNext</button>
<button id="5">XBMC.ActivateWindow(MusicOSD)</button>
<button id="6">Fullscreen</button>
</joystick>
</Visualisation>
<MusicOSD>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</MusicOSD>
<VisualisationSettings>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</VisualisationSettings>
<VisualisationPresetList>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</VisualisationPresetList>
<SlideShow>
<joystick name="AppleRemote">
<button id="1">ZoomIn</button>
<button id="2">ZoomOut</button>
<button id="3">PreviousPicture</button>
<button id="4">NextPicture</button>
<button id="5">Pause</button>
<button id="6">Stop</button>
<!-- hold menu --> <button id="8">Rotate</button>
</joystick>
</SlideShow>
<ScreenCalibration>
<joystick name="AppleRemote">
<button id="5">NextCalibration</button>
</joystick>
</ScreenCalibration>
<SelectDialog>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</SelectDialog>
<VideoOSD>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</VideoOSD>
<VideoMenu>
<joystick name="AppleRemote">
<button id="5">OSD</button>
</joystick>
</VideoMenu>
<OSDVideoSettings>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</OSDVideoSettings>
<OSDAudioSettings>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</OSDAudioSettings>
<VideoBookmarks>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</VideoBookmarks>
<MyVideoLibrary>
<joystick name="AppleRemote">
<button id="6">ParentDir</button>
</joystick>
</MyVideoLibrary>
<MyVideoFiles>
<joystick name="AppleRemote">
<button id="6">ParentDir</button>
</joystick>
</MyVideoFiles>
<MyVideoPlaylist>
<joystick name="AppleRemote">
<button id="6">Playlist</button>
</joystick>
</MyVideoPlaylist>
<VirtualKeyboard>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</VirtualKeyboard>
<ContextMenu>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</ContextMenu>
<FileStackingDialog>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</FileStackingDialog>
<MusicInformation>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</MusicInformation>
<MovieInformation>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</MovieInformation>
<PictureInfo>
<joystick name="AppleRemote">
<button id="3">Left</button>
<button id="4">Right</button>
<button id="6">Close</button>
</joystick>
</PictureInfo>
</keymap>
ewequeone
2009-10-25, 10:27
I think this should solve your problem, it did for me, the important changes are in joystick.AppleRemote.xml which is located in: Applications/XBMC/Contents/Resources/XBMC/system/keymaps/
This works with the Apple Remote and my Harmony which is setup for the AppleTV.
It obviously doesn't do everything you can do on the mac using the keyboard but for the AppleTV, it is way better than the original settings.
Hope it helps
absolutely awesome keymapping!
thanks a bunch :)
cheers,
jason.
lordfoul
2009-10-25, 12:49
I just Tried XBMCHelper from the latest SVN. The good news is it no longer crashes. The bad news is XBMC still doesn't respond to my remote.
The XBMCHelper binary should be a universal binary, so you can just grab it from one of the nightly builds.
On the other hand, building XBMCHelper should be straight forward, as there are no dependencies. Once you've checked out XBMC, open XBMCHelper's xcodeproject ($(XBMC_SOURCE)/tools/EventClients/Clients/OSXRemote/XBMCHelper.xcodeproj/) and hit build. The binary is then located in $(XBMC_SOURCE)/tools/osx/XBMCHelper.
HTH,
mdd
lordfoul
2009-10-25, 12:51
That looks like a great option. Unfortunately the only way I have been able to get my remote/reciever to work at all is by using Mira http://twistedmelon.com/mira/ which only gives me 6 keys.
I think this should solve your problem, it did for me, the important changes are in joystick.AppleRemote.xml which is located in: Applications/XBMC/Contents/Resources/XBMC/system/keymaps/
This works with the Apple Remote and my Harmony which is setup for the AppleTV.
It obviously doesn't do everything you can do on the mac using the keyboard but for the AppleTV, it is way better than the original settings.
Hope it helps
<!-- This file contains the mapping of keys (gamepad, remote, and keyboard) to actions within XBMC -->
<!-- The <global> section is a fall through - they will only be used if the button is not -->
<!-- used in the current window's section. Note that there is only handling -->
<!-- for a single action per button at this stage. -->
<!-- For joystick/gamepad configuration under linux/win32, see below as it differs from xbox -->
<!-- gamepads. -->
<!-- The format is: -->
<!-- <device> -->
<!-- <button>action</button> -->
<!-- </device> -->
<!-- To map keys from other remotes using the RCA protocol, you may add <universalremote> blocks -->
<!-- In this case, the tags used are <obc#> where # is the original button code (OBC) of the key -->
<!-- You set it up by adding a <universalremote> block to the window or <global> section: -->
<!-- <universalremote> -->
<!-- <obc45>Stop</obc45> -->
<!-- </universalremote> -->
<!-- To find out the OBC's of your remote, try enabling the <displayremotecodes> tag in AdvancedSettings.xml -->
<!-- Note that the action can be a built-in function. -->
<!-- eg <B>XBMC.ActivateWindow(MyMusic)</B> -->
<!-- would automatically go to My Music on the press of the B button. -->
<!-- Joysticks / Gamepads: -->
<!-- See the sample PS3 controller configuration below for the format. -->
<!-- -->
<!-- Joystick Name: -->
<!-- Do 'cat /proc/bus/input/devices' or see your xbmc log file to find the names of -->
<!-- detected joysticks. The name used in the configuration should match the detected name. -->
<!-- -->
<!-- Button Ids: -->
<!-- 'id' is the button ID used by SDL. Joystick button ids of connected joysticks appear -->
<!-- in xbmc.log when they are pressed. Use your log to map custom buttons to actions. -->
<!-- -->
<!-- Axis Ids / Analog Controls -->
<!-- Coming soon. -->
<keymap>
<global>
<joystick name="AppleRemote">
<!-- plus --> <button id="1">Up</button>
<!-- minus --> <button id="2">Down</button>
<!-- left --> <button id="3">Left</button>
<!-- right --> <button id="4">Right</button>
<!-- play/pause --> <button id="5">Select</button>
<!-- menu --> <button id="6">PreviousMenu</button>
<!-- hold play --> <button id="7">Fullscreen</button>
<!-- hold menu --> <button id="8">ContextMenu</button>
<!-- old buttons for ATV <2.2, used on OSX -->
<!-- hold left --> <button id="9">Left</button>
<!-- hold right --> <button id="10">Right</button>
<!-- Learned remote buttons (ATV >2.3) -->
<!-- Play --> <button id="70">Play</button>
<!-- Pause --> <button id="71">Pause</button>
<!-- Stop --> <button id="72">Stop</button>
<!-- Previous --> <button id="73">SkipPrevious</button>
<!-- Next --> <button id="74">SkipNext</button>
<!-- Rewind --> <button id="75">Rewind</button>
<!-- Forward --> <button id="76">FastForward</button>
<!-- Return --> <button id="77">OSD</button>
<!-- Enter --> <button id="78">ShowVideoMenu</button>
</joystick>
</global>
<Home>
<joystick name="AppleRemote">
<button id="6">Fullscreen</button>
</joystick>
</Home>
<MyMusicPlaylist>
<joystick name="AppleRemote">
<button id="6">Playlist</button>
</joystick>
</MyMusicPlaylist>
<MyMusicPlaylistEditor>
<joystick name="AppleRemote">
<button id="5">ContextMenu</button> <!-- FIXME? -->
<button id="6">Playlist</button>
</joystick>
</MyMusicPlaylistEditor>
<MyMusicFiles>
<joystick name="AppleRemote">
<button id="6">ParentDir</button>
</joystick>
</MyMusicFiles>
<MyMusicLibrary>
<joystick name="AppleRemote">
<button id="6">ParentDir</button>
</joystick>
</MyMusicLibrary>
<FullscreenVideo>
<joystick name="AppleRemote">
<!-- hold Plus --> <button id="1">BigStepForward</button>
<!-- hold Minus --> <button id="2">BigStepBack</button>
<!-- Left --> <button id="3">SmallStepBack</button>
<!-- Right --> <button id="4">StepForward</button>
<!-- Play --> <button id="5">Pause</button>
<!-- Menu --> <button id="6">OSD</button>
<!-- hold play --> <button id="7">Stop</button>
<!-- hold menu --> <button id="8">Info</button>
</joystick>
</FullscreenVideo>
<FullscreenInfo>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</FullscreenInfo>
<PlayerControls>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</PlayerControls>
<Visualisation>
<joystick name="AppleRemote">
<button id="1">VolumeUp</button>
<button id="2">VolumeDown</button>
<button id="3">SkipPrevious</button>
<button id="4">SkipNext</button>
<button id="5">XBMC.ActivateWindow(MusicOSD)</button>
<button id="6">Fullscreen</button>
</joystick>
</Visualisation>
<MusicOSD>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</MusicOSD>
<VisualisationSettings>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</VisualisationSettings>
<VisualisationPresetList>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</VisualisationPresetList>
<SlideShow>
<joystick name="AppleRemote">
<button id="1">ZoomIn</button>
<button id="2">ZoomOut</button>
<button id="3">PreviousPicture</button>
<button id="4">NextPicture</button>
<button id="5">Pause</button>
<button id="6">Stop</button>
<!-- hold menu --> <button id="8">Rotate</button>
</joystick>
</SlideShow>
<ScreenCalibration>
<joystick name="AppleRemote">
<button id="5">NextCalibration</button>
</joystick>
</ScreenCalibration>
<SelectDialog>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</SelectDialog>
<VideoOSD>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</VideoOSD>
<VideoMenu>
<joystick name="AppleRemote">
<button id="5">OSD</button>
</joystick>
</VideoMenu>
<OSDVideoSettings>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</OSDVideoSettings>
<OSDAudioSettings>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</OSDAudioSettings>
<VideoBookmarks>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</VideoBookmarks>
<MyVideoLibrary>
<joystick name="AppleRemote">
<button id="6">ParentDir</button>
</joystick>
</MyVideoLibrary>
<MyVideoFiles>
<joystick name="AppleRemote">
<button id="6">ParentDir</button>
</joystick>
</MyVideoFiles>
<MyVideoPlaylist>
<joystick name="AppleRemote">
<button id="6">Playlist</button>
</joystick>
</MyVideoPlaylist>
<VirtualKeyboard>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</VirtualKeyboard>
<ContextMenu>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</ContextMenu>
<FileStackingDialog>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</FileStackingDialog>
<MusicInformation>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</MusicInformation>
<MovieInformation>
<joystick name="AppleRemote">
<button id="6">Close</button>
</joystick>
</MovieInformation>
<PictureInfo>
<joystick name="AppleRemote">
<button id="3">Left</button>
<button id="4">Right</button>
<button id="6">Close</button>
</joystick>
</PictureInfo>
</keymap>
MaestroDD
2009-10-25, 17:06
I just Tried XBMCHelper from the latest SVN. The good news is it no longer crashes. The bad news is XBMC still doesn't respond to my remote.
Hm, okay. Would you mind opening a trac ticket and post output of XBMCHelper's startup? (just do $(PATH_TO_HELPER)/XBMCHelper -v)
cheers,
mdd
lordfoul
2009-10-26, 05:23
Done.
http://xbmc.org/trac/ticket/7457
Thank You
Hm, okay. Would you mind opening a trac ticket and post output of XBMCHelper's startup? (just do $(PATH_TO_HELPER)/XBMCHelper -v)
cheers,
mdd
lordfoul
2009-10-26, 06:57
And now The ticket has been closed.
Done.
http://xbmc.org/trac/ticket/7457
Thank You
10.6.2 definitely does fix al the remote issues in Snow Leopard.
First post updated to reflect the fact that version 9.11 alpha 2 and higher includes the corresponding keymap file by default.
timmyrocks
2009-11-18, 05:30
Help?
Running 9.11 alpha 2 on AppleTV 2.4.
Have gone though the How-to's and everything on this forum, put the Keymap in, and my Harmony 700 Remote does work, but only to the assigned keys from the Apple Remote (The only buttons that function are MENU, UP, DOWN, LEFT, RIGHT, and OK)
Any tips or ideas on what I might be doing wrong??
Hi, MaestroDD. Everything is working perfectly for the Harmony remote besides the fast forwards, rewind and the page up ,down, and the skip buttons forwards and backwards. I checked the Harmony Remote settings and it is mapped exactly like the screenshots you posted in the first post. If you can help i would appreciate it
what keymap file are you using? what xbmc version are you using?