(This is one of multiple issues that describe functionality I've implemented offline that I'd like to bring into the official github repository.)
The command line utility of #36 would be coded to provide these, and convert_2_scancode.py would be changed as necessary to gracefully support that. (This would match the implementations I've already done outside the github repository. :-) )
I propose a new expression telling the command line utility of #36 to sleep (delay/wait) a specified number of milliseconds: a decimal number of at least 3 digits in angle brackets.
e.g. <123> would mean sleep 0.123 seconds.
If you want to sleep less than 100 milliseconds, use leading zeroes, e.g. ≷050>
The reason for requiring at least three decimal digits is to reserve two-digit sequences in case we might want to implement literal scancode expressions, e.g. <23> for scancode hexadecimal 23.
This feature differs from the existing <Wait> expression in that you can tersely specify a delay that is not 1 second, and you can specify a multiple of 1 second more tersely than by using the existing <Multiply(TIMES, <Wait>)> expression.
Also, to help us type anything we want into a VM, I propose a new expression for the less than sign. Because I like terseness, my current offline implementation uses <Lt>.
A logical current alternative/workaround is, every time you want to type a < that would be interpreted as part of a larger expression, you have to insert something after it. For example: "<<Wait>Enter>" would let you type literal "<Enter>" (not the Enter key) into a VM. That works, but imposes a 1 second delay as part of the price of the kluge/hack.
+1 for <Lt>, there may be a funy expression if you want type liter "<Lt>" -> <Lt>Lt<Lt>, but this is fine :)
+1 for a sleep a specified number of millisecond (at least 3 digits in angle bracket)
(This is one of multiple issues that describe functionality I've implemented offline that I'd like to bring into the official github repository.)
The command line utility of #36 would be coded to provide these, and convert_2_scancode.py would be changed as necessary to gracefully support that. (This would match the implementations I've already done outside the github repository. :-) )
I propose a new expression telling the command line utility of #36 to sleep (delay/wait) a specified number of milliseconds: a decimal number of at least 3 digits in angle brackets. e.g. <123> would mean sleep 0.123 seconds. If you want to sleep less than 100 milliseconds, use leading zeroes, e.g. ≷050>
The reason for requiring at least three decimal digits is to reserve two-digit sequences in case we might want to implement literal scancode expressions, e.g. <23> for scancode hexadecimal 23.
This feature differs from the existing <Wait> expression in that you can tersely specify a delay that is not 1 second, and you can specify a multiple of 1 second more tersely than by using the existing <Multiply(TIMES, <Wait>)> expression.
Also, to help us type anything we want into a VM, I propose a new expression for the less than sign. Because I like terseness, my current offline implementation uses <Lt>.
A logical current alternative/workaround is, every time you want to type a < that would be interpreted as part of a larger expression, you have to insert something after it. For example: "<<Wait>Enter>" would let you type literal "<Enter>" (not the Enter key) into a VM. That works, but imposes a 1 second delay as part of the price of the kluge/hack.