OK, you're asking about the
PRIORITY of function assignments when the remote is executing a command.
Short answer, the remote executes in priority order:
Learned commands,
Keymoves,
Macros,
the Basic function assigned in the Setup Code.
When you execute a button (regardless of how it's called - either by pressing the button, or by invoking it via a macro, DSM, LKP or DKP sequence), the remote searches for the following - in order:
(1) Is there a
Learned signal for that button for the currently-assigned Device mode for that button? (with the extender this answer is always "NO"). If so it executes the learned command and ignores Keymoves, Macros, and Functions assigned in the Setup code; If the answer is "NO" then
(2) Is there a
Keymove assigned to that button for the active Device mode? If so, that gets executed and any Macro or Functions assigned in the Setup code gets ignored.
Important note,
Special protocol functions, like DSM, DKP, ToadTogs, etc. are
all just fancy Keymoves, and as such will take priority over Macros.
(3) Is there a
Macro assigned to the button? If so, it executes the macro; if not
(4) Is there a
function assigned to the button in the active setup code? If so, that function gets executed. If not, then nothing happens.
trpltongue wrote: the device mode must be defined via a macro on the device keys.
No it doesn't. The "Device Mode" can be defined by a macro that you assign to
ANY key. There is nothing at all unique or special about the Device Keys. They are just regular keys like any other key, just like the UP Arrow, number 7, REC, M3 or even the "SET" key.
trpltongue wrote:I was just unclear as to how the extender handles globally defined macros.
just like the UNextended remote as described above.
trpltongue wrote:The specific example here was the globally defined macro on phantom1. For example, lets assume the following:
global macro
key: phantom1
command: x,y,z
DSM
device: DVD
key:1
command: DEV_DVD; phantom1 (defined in the upgrade as power on)
Assuming you've set the key association to DVD, what happens when you push 1 on device DVD? Does it do the global macro x,y,z or does it do the device "power on" as defined in the upgrade? Along those same lines, what happens if I leave out the DEV_DVD in the command sequence?
As you have written it, it will execute the
KEYMOVE of Discrete ON for DVD, since the KEYMOVE takes priority over the MACRO
(another nuance - although you may have "defined" DVD:Phantom 1 as DiscreteON in the "upgrade" in RM, it is really NOT part of the upgrade. It gets imported into IR as (and in fact is) a KEYMOVE, so KEYMOVE processing applies).
If you leave out the "DEV_DVD" then you have two branch scenarios.
(1) If your "Other" keyset (of which Phantom1 is a member) is currently assigned to the DVD device, then it will behave the same as above(KEYMOVE takes precedence over MACRO), but
(2) if your "Other" keyset is assigned to ANOTHER device, AND you have no keymove assigned to Phantom1 in that device mode, then the MACRO will execute.
Is that clear?
