well this is embarrassing
i think i found the bug, at least for my scenario with fast usb switching. this was due to me fixing the bug reported by @Justmat earlier in the thread, where if you define a latching teletype button that consists of more than one grid button then pressing on one grid button would latch it, but if you press, hold and press another button it would release it.
in order to fix that i started tracking number of presses and releases on each teletype button, so pressing additional grid buttons within the same teletype button would produce no action. but if this count is off then the teletype button will stop responding (as it thinks it’s still being pressed). somehow fast usb switching gets it in this state (which is weird in itself…). i reverted this change and now i can’t get it to lock! this is even if i revert the fix for ftid_setup.
@jasonw22 i’m really curious now if you can try and reproduce it again, but this time add another non latching button, so something like:
G.BTN 1 0 0 4 4 1 4 0
G.BTN 2 5 0 4 4 0 4 0
and then see if the non latching button still works. if this is the case then it’s the same cause (i hope!). not sure about the fix yet, i might just revert to the previous behaviour - i think multiple presses on the same button is not really a big deal. will sleep on this.