When a Conflict Palette (CP) appears, the macros on the palette can be triggered from that CP in at least two ways:
by clicking the macro name on the CP, or
by typing letters until a macro is uniquely identified.
Am I missing any other ways?
My question is: can the macro that is triggered determine which method was used to launch it? (I'd like to vary the macro behavior depending on the method.)
Unfortunately, the following tokens are always the same with one exception*:
%TriggerValue% : [ null ]*
%TriggerBase% : Palette
%Trigger% : Duplicate Macro Palette
*unless a modifier is down when using the clicking method
Surely I'm missing something because I can only think of one very cumbersome method: use an If action and check The key A is down, The key B is down, The key C is down...
@martin, thanks for the suggestion—that was my first thought too. But a Conflict Palette does not dismiss until the mouse button is released.
I have verified that The Key x is down works, however each If condition is a single hard-coded key. In my use case I'll have many similar macros with a wide variety of names. I was hoping to have constant group of actions that I could copy into each one.
Another way I can think of is to make a subroutine macro, put all the keys you may press as condition, return T/F depending on whether any of the keys are down. If none of the keys are down, then the macro is triggered by mouse click.
Well, when you think about it, mouse up is the way UI elements normally work. As a user, you get a final chance to change your mind (i.e., you click, see the item that is selected, don't like it, move your mouse to deselect to essentially cancel your choice.)
I did test an If action with all of the letters, numbers, and special characters—it's remarkably fast. So, even though it was a bit tedious to create, it works well.