-
Notifications
You must be signed in to change notification settings - Fork 6
Description
As originally drafted (see gh-26), the "interaction.pressKeys" command supports one specific type of keyboard motion, where a series of keys are depressed in a sequential order, and then released in the reverse order. (I'm referring to this as a "reflexive" sequence; please let me know if there's a more appropriate term.)
During today's 2022-12-05 Community Group meeting, @mcking65 suggested that some commands cannot be expressed in these terms, giving the following example:
Depress "Insert", then depress "T", then release "T", then depress "T" again, then release "T", and finally release "Insert".
@jscholes reported that at least some of these commands can be expressed as a series of reflexive sequences, provided they are issued quickly enough. The above example could be expressed by entering the following sequence twice:
Depress "Insert", then depress "T", then release "T", and finally release "Insert".
However, we didn't feel that the counter-example rules out the potential need, so we're still looking for "non-reflexive" sequences that can't be rewritten in this way. API-level support may be appropriate even in the absence of such sequences because as @jscholes noted, any solution which depends on issuing commands "quickly enough" is prone to race conditions.