PDA

View Full Version : Need a key-sharing trick



hensonator
October 13th, 2002, 01:55 PM
Hey Gang,
I've been playing with Girder for a few weeks now. Very cool. I'm a little stuck on one thing, though...

I'm using OmniRemote on a Handspring visor to control my toys, including a Media Computer. I have the AST remote control and want to be able to do more functions than there are keys. I understand how to enable and disable groups during difference functions (Ie, disable the DVD controls when the MP3 player is active.) But what I want to do is a little trickier..

I want to control X10 by sending multiple IR codes. For example, the first code would indicate that the following codes are for the X10 group and then maybe 3 more codes would be sent for processing in the X10 group. The problem is that those subsequent codes will also be valid commands for the other group that is still active (The MP3 player for example). I've come up with two ways to solve this problem but don't know how to implement them:

1) Put the X10 groups in the top of the tree and allow the X10 group prevent Girder from sending codes to the other groups.

2) Have Girder find the active group(s), deactivate them, do the X10 stuff, and then re-activate the group that was turned off.

I hope that my problem is clear!

Thanks and Happy New Year!

-Matt

Profex13
December 17th, 2002, 01:07 AM
Matt,

I've only been using Girder for a week or two now, but I've come up with a nice little setup. I'd sent you my GML file but my remote is messed up and so is my GML file since I've been tinkering around, trying to fix it. Anyway, there is no point in having all your groups active and then have them disable all of the other groups or commands when you press a button. What you need is one group that is the default group, which you start everything from. I call this group Desktop in my setup. I have one key (PC) that is always enabled and that enables my Desktop group, and disables all other groups(ie, Winamp, PowerDVD...). If I want to control winamp, I press 1(mp3) on my remote, which disables my Desktop group and enables my Winamp group. If I want to go back to controlling my Desktop group or another group (ie PowerDVD), I hit the PC button, and then press 2(dvd) (from within the Desktop group now) to enable my PowerDVD group , and disable my Desktop group.
I think you see how this works by now(hopefully it was easy to follow). This is just a simple example of the main logic that I used. I actually have more then just Desktop as my default group because Desktop only uses certain keys(ie 0..9). For the other keys(ie up, down, left right...) I have another default group called Keyboard, which controls the arrows on my keyboard. The Keyboard group, toggles itself with the Mouse group, so that at the press of a button I can switch to controlling the mouse movements with the remote.
If you want a nice setup, that's not too crazzy, the best thing is to separate you remote into different areas, and only have programs control certain areas of the remote. I have 6 main areas on my remote, here are the buttons they control:
1. PC
2. ch+-,vol+-,mute, power
3. 1..0
4. arrows,a,b,c,d
5. Menu, Exit
6. Rew,Play,FF,Rec,Stop,Pause
So my Winamp group only takes over areas 6 and 2, the other areas keep their default control. This way I can actually load the PowerDVD group when using my Winamp control group since winamp doesn't use any buttons from area 3, which is the button area in the Desktop group that switches between the different control groups.
You should probably sit down and write it out on paper first. Map out which programs are going to use which keys, and try and make a program use all the keys in one key area before using keys from another(this also makes it easier since the keys will most likely be closer if they are in the same key area). You can layer your control as much as you want with this layout, as well as toggle back and forth between 2 or more states. Does this help, or were you looking for something a bit more technical or direct? or perhaps something different altogether?