|
JP1 Remotes
|
View previous topic :: View next topic |
Author |
Message |
sfhub
Joined: 12 Oct 2003 Posts: 287
|
Posted: Fri Mar 23, 2007 1:43 am Post subject: Tip to make global LKPs / ToadTogs more useful |
|
|
I have a function on my TV (View Mode) to control the stretch mode, non-linear stretch, linear stretch, dot by dot mode, zoom, etc.
I wanted to have this function available regardless of which device I had active.
My first attempt was to define a macro (which by definition has global scope) on a button (Info). This worked fine, but I lost the use of a physical button, thus I couldn't extend this method to too many other functions/buttons or I would have no buttons left to use.
My next attempt was the same macro approach, but to use Shift-Info, so I wouldn't lose the use of the physical button, only the shifted version, which wasn't as important for me to lose. This worked fine, but it was annoying to have to press shift everytime I wanted to use the function.
My next attempt was to use an LKP so I could use the normal button function (changes depending on active device), then press and hold the button to get the View Mode function. This was the best interface I found, but it was somewhat memory inefficient because the LKP is bound to a particular device, so I thought I needed to create this LKP for every device I wanted this functionality from.
I thought about using a global macro to call into the LKP so I could define the LKP just once, and use the global nature of the macro to make that LKP global, however I didn't initially realize how I would allow the short key press of the LKP to execute the original function (changes depending on active device), because the macro executing the LKP would make a particular device active that wasn't necessarily the former active device.
For instance let's say I define:
Keymove - TV/PiP = View Mode
Macro - Info = DEV_TV, XSHIFT-1
LKP - TV/XSHIFT-1 = (Short=Shift-Info, Long=PiP)
When TV is my active device, this works fine. On Short Press it executes the original function of the Info button by taking advantage of cloaking.
My problem arises when my active device is anything other than TV, let's say CBL. When I press the Info button for short press, it causes the Info function from the TV device to execute rather than the Info function from the CBL device.
So I was resigned to create an LKP for every device that needed this global function but then it occurred to me that I could use DEV_Cancel to "Pop" the current active device and get access to the original device. In this way I could have a single LKP be valid for any active device.
I rewrote my LKP as follows
Keymove - TV/PiP = View Mode
Macro - Info = DEV_TV, XSHIFT-1
LKP - TV/XSHIFT-1 = (Short=DEV_Cancel,Shift-Info ; Long=DEV_TV,PiP)
Now I'm happy to be using a global LKP that does not cause me to lose the usage of the bound button as a device specific button. It is also relatively memory efficient and I can keep a single copy of the LKP.
The same principal works for my global ToadTogs.
This might be an obvious usage to advanced folks but I thought it was worth pointing out in case someone else finds it useful. It wasn't immediately obvious to me DEV_Cancel was the solution to my problem, though after realizing it, it became pretty obvious it was perfectly suited for what I wanted to do and I wondered why it hadn't occured to me quicker. |
|
Back to top |
|
|
vickyg2003 Site Admin
Joined: 20 Mar 2004 Posts: 7073 Location: Florida |
Posted: Fri Mar 23, 2007 4:54 am Post subject: |
|
|
Good job. I think it would be really nice to see peoples "brag" posts, because it opens up new worlds for lots of people that just don't have the vision to put things together.
I too have found that the way to efficiently use my memory has often eluded me too.
Congrats. |
|
Back to top |
|
|
floyd1977
Joined: 10 May 2006 Posts: 198 Location: Montgomery, IL |
Posted: Fri Mar 23, 2007 8:55 am Post subject: Re: Tip to make global LKPs / ToadTogs more useful |
|
|
sfhub wrote: | I rewrote my LKP as follows
Keymove - TV/PiP = View Mode
Macro - Info = DEV_TV, XSHIFT-1
LKP - TV/XSHIFT-1 = (Short=DEV_Cancel,Shift-Info ; Long=DEV_TV,PiP)
|
I did basically the same thing for my Power button:
Macro - Power = DEV_SAT, Power
LKP - SAT/Power = (Short=Dev_Cancel, Shift-Power; Long={macro sequence to turn everything off})
Another tip I have for saving upgrade memory is to use LKPs as DSMs if you have room for the LKP/DKP special protocol, but not DSM. I have a few cases in my IR file where, instead of creating a DSM, I create a LKP with timer value FF, and I store the macro I want to execute in the short sequence.
Edit: I just realized that the DSM protocol doesn't take much space, so I added it to my IR file and replaced my hacked DSMs with real DSMs |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|