Apple Remote support on incoming version (0.5.0)
#1
Hi, I think that "Improved Apple Remote support" is being worked on for the next version. I'd like to ask what that means, that is, what is going to be improved? Is is support for additional actions or perhaps a change on the way XBMC gets the apple remote button presses?

What I would really like to see is a way for those of us using "Remote Control handlers" (such as Sofa Control and Remote Buddy) to keep using them while still being able to control XBMC. This is a bit hard right now for 2 reasons:

1.- XBMC needs to get full exclusive control of the apple remote. If another application controls it there is no way to send the actual remote button presses to XBMC. Instead you can only use the keyboard and mouse (or you could simulate keyboard key presses through remote buddy or sofa control).

2. - The remote button presses perform different actions depending on the current context (i.e. it is not the same to click menu in the home folder than in the preferences screen than while playing a video). So you cannot just associate a single keyboard keypress to each remote button in Sofa Control or Remote Buddy.

I have a simple proposal but I don't want to open a trac ticket for it before getting your opinion on it.

Basically, I think that what is needed is to have a consistent way to "simulate" a remote button key press and I think that there is a very simple solution: Create an osx specific keymap where 12 regular keyboard keys are associated with the 12 buttons in the remote (i.e. the 6 regular buttons plus the 6 "hold buttons").

If this were done you could just tell Sofa Control or Remote Buddy to send to XBMC each of those keypresses when each of the corresponding remote buttons is clicked. Then XBMC would get the key press and do the proper action, depending on the context. If in the future there were a change on the action that a remote button performs there would be no need to change the existing Sofa Control and Remote Buddy scripts.

Sorry for the long post but I could not find a shorter way to explain what I mean!

What do you think?

Cheers,

Amadawn
Reply
#2
I can't really say for sure but if Remote buddy and Sofa are pluginable then you can just do a plugin that communicates with the EventServer.
There are examples on how too use this in tools/EventClients/ on the linux SVN branch.

The python examples is in that folder and the c++ examples is in examples/C++

There are already a number of fully working remotes using this method were PS3 sixaxis and sony blue ray remote are 2. Also a J2ME client and WiiRemote.

All these can serve as a tutorial for how to create em.
If you have problems please read this before posting

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.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply
#3
Topfs2, I am not sure that I understand your suggestion. Sofa Control and Remote Buddy are not some type of HW remotes, but a type of software that lets you use your apple remote (or other types of remotes) to fully control your Mac from your couch, without the need of a keyboard or mouse.
Reply
#4
So would an option such as "Enable Apple remote" be similar? If this option weren't to be enabled XBMC would release all control of the apple remote allowing remote buddy/Sofa Control to map the Apple remote to any keys it wanted to?
Reply
#5
amadawn Wrote:Topfs2, I am not sure that I understand your suggestion. Sofa Control and Remote Buddy are not some type of HW remotes, but a type of software that lets you use your apple remote (or other types of remotes) to fully control your Mac from your couch, without the need of a keyboard or mouse.
Yes I know they aren't HW Smile
I'll try too explain more thoroughly since it's a new thing which in't in manual:

The eventclient is a middleman, taking information from the remote and then sending them too the eventserver which is bundled up in XBMC by default. Ofcourse if the HW is advanced enought (like a PDA) it can be the EventClient but that usually isn't the case. This eventclient sends buttonpresses or mousemovements when they are happening and XBMC then do the actions accordingly.
This EventClient can be bundled up in Sofa Control or Remote Buddy if they are pluginable (as the seem too be).

Hope I filled some gaps.
If you have problems please read this before posting

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.

Image

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
Reply

Logout Mark Read Team Forum Stats Members Help
Apple Remote support on incoming version (0.5.0)0