JSL, Were you able to figure this out?
No I can't figure out a simple solution (I guess you can do something with the help of Girder).
As I see it, we need an execution command like the one we have for categories, that will execute the event assigned to the always current selected state, e.g. button>execute, buttonid: [buttonid]. This will enhance the toggle functionality in several areas:
i) when we use a remote, we can have the remote trigger an event with a Change Button State command and the Execution command (this I think will solve the current remote control shortcoming)
ii) today you can change the state of one button (buttonA) pressing another button (buttonB) (via an event). However, you cannot activate the event on buttonA via buttonB, you will need to press buttonA "manually" anyhow. The execution command will help on this as well.
I furthermore think we need a variable that returns the current state of a button (I don't think we have that now). In this way we can have external programs/batch files and the like act upon the state of a button (e.g. based on/off states).
I have encounter a couple of minor bugs:
1) I can't get the state functionality to work in overlays
2) You can choose to have a state as Default (for when xlobby loads). If you don't select any state as default xlobby should (as I understand it) load the states on which is was exited last time (smart as it will avoid xlobby go out of sync with external applications and hardware). However, if I have a button with three states or more, and no default is selected, the buttons will not work on restart. I need to enter the Setup menu and at least select each button for it to work again.
I think the toggle functionality is a very nice “little” feature with a lot of new impact for skinners.
Jsl