• 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 7
AppleTV Event Client for Linux in development...
#46
I know I can't "pair" the harmony (I held and held and held "menu" and "fast forward" for quite a while on the harmony before trying the apple remote which worked in about 6 seconds!) but it still works (albeit basically, without some functionality) and is set up via the Harmony software to pretend it's an apple remote. So what is it that specifically prevents it from utilising those other buttons? Is it the id you're talking about in previous posts?
Trying to help clean up the afterbirth :laugh:
Reply
#47
The theory is that there are two modes for the AppleTV receiver to work in; the legacy mode which only supports the AppleTV remote, and a universal mode which can read any remote codes. The former is default, as otherwise (presumably) the ATV recovery mode wouldn't be able to respond to keypresses. I'm still looking into how to activate the latter mode. It's proving to be a bit more difficult than I had anticipated.
Reply
#48
Hi Evinyatar, great work on this so far Smile

Any updates?
Trying to help clean up the afterbirth :laugh:
Reply
#49
Still looking for the magic word to activate universal mode. I did have a massive duh moment yesterday, when I finally figured out the Mach kernel is prelinked and compressed (yeah, the .prelink suffix in the file name should have given me a clue a lot earlier). In other words; the kext files I was looking in aren't used at all so now I'm churning my way through the kernel itself. So the good news is I finally found out where the magic word is being sent. The bad news is it's over 40mb in assembly code and very low level, so this might take a while Smile
Reply
#50
Evinyatar Wrote:Still looking for the magic word to activate universal mode. I did have a massive duh moment yesterday, when I finally figured out the Mach kernel is prelinked and compressed (yeah, the .prelink suffix in the file name should have given me a clue a lot earlier). In other words; the kext files I was looking in aren't used at all so now I'm churning my way through the kernel itself. So the good news is I finally found out where the magic word is being sent. The bad news is it's over 40mb in assembly code and very low level, so this might take a while Smile

* davilla hands Evinyatar a stick to beat himself Smile Hey Evinyatar, ever visit #xbmc-linux IRC. I do idle there (or just ask for me and I'll pop in) and can maybe help in this quest.
Reply
#51
Hi Evinyatar,
Great job!
Any news on continuing? Huh
Reply
#52
I just noticed my Logitech Harmony maps a couple more buttons for the AppleTV; rewind, forward, pause, play, stop, replay, skip, page up, page down and previous chapter. It's quite easy to recognize those in atvclient so I'm going to focus on adding support for those first. It's a quick win, as opposed to reverse engineering the entire darwin kernel Smile
Reply
#53
Okay, it's done and in git. Apparently "previous chapter" and "replay" were the same thing (which should have been totally obvious), so there's only 8 new buttons. The mapping is identical to that under ATV OS, except page up = OSD and page down = ShowVideoMenu. You don't need to change the default AppleRemote keymap in XBMC, it'll just work out of the box.

To use this functionality you'll need a Logitech Harmony remote (any will do). Load the AppleTV device from the database (it's under Home Theatre PC > Apple > Apple TV). You may also have to unpair your remote (there's a button on the Harmony for that too).
Reply
#54
Evinyatar Wrote:Okay, it's done and in git. Apparently "previous chapter" and "replay" were the same thing (which should have been totally obvious), so there's only 8 new buttons. The mapping is identical to that under ATV OS, except page up = OSD and page down = ShowVideoMenu. You don't need to change the default AppleRemote keymap in XBMC, it'll just work out of the box.

To use this functionality you'll need a Logitech Harmony remote (any will do). Load the AppleTV device from the database (it's under Home Theatre PC > Apple > Apple TV). You may also have to unpair your remote (there's a button on the Harmony for that too).

Thanks a lot... now I need to buy another Harmony remote. Smile

Seriously good work. That apple remote is teensy junk. Impossible to explain to people how to use it with XBMC. "Hold the menu button down to bring up the menu... no you single clicked so it stopped." "Now in that menu hold menu brings up the context menu... no single clicking brings you back... now hold play/pause."
Reply
#55
Evinyatar, just catched the update on the GIT.
Niiiiiice!Big Grin
Reply
#56
Evinyatar Wrote:I just noticed my Logitech Harmony maps a couple more buttons for the AppleTV; rewind, forward, pause, play, stop, replay, skip, page up, page down and previous chapter. It's quite easy to recognize those in atvclient so I'm going to focus on adding support for those first. It's a quick win, as opposed to reverse engineering the entire darwin kernel Smile

You know there are tools to separate out the prelinked mach_kernel ? That's done when patching it for USB support.
Reply
#57
I had absolutely no idea Blush I'll have to look into that. Do you have a link for that? All I was able to find was a table with end and start offsets, but they don't seem to apply to the kernel I have.
Reply
#58
Evinyatar Wrote:I had absolutely no idea Blush I'll have to look into that. Do you have a link for that? All I was able to find was a table with end and start offsets, but they don't seem to apply to the kernel I have.

Need a few things,

1st prelink is compressed so you have to decompress it first. For that you need, prelink_tool -> http://www.insanelymac.com/forum/index.p...opic=46949

This give an uncompressed mach_kernel.prelink. Normally one would just patch this then re-compress but I suspect you are interested in the separate bits inside.

http://thebends.googlecode.com/svn/trunk...ho_split.c
http://thebends.googlecode.com/svn/trunk..._extract.c

I forget which one I used, it was so long ago and my notes are sparse. What you will get is a bunch of prelink_XXX.bin files. Some are kernel, most are kexts. If you grep around, you can find the kexts that you are interested in then focus down on those.
Reply
#59
evinyatar&davilla,

Would it be possible to send button as remoteid+buttonid to xbmc? This way, we could use Harmony's Plex player configuration, which if I understand mimmics 6 different atv remotes. This would give us more than enough buttons to play with.
Reply
#60
On the linux side of things, that should be a piece of cake. Not too sure if it's possible under ATV OS though. I'll see if I can find some time this weekend to experiment.
Reply
  • 1
  • 2
  • 3
  • 4(current)
  • 5
  • 6
  • 7

Logout Mark Read Team Forum Stats Members Help
AppleTV Event Client for Linux in development...0