Is the problem that you are missing some outgoing keystrokes because the controller is sometimes sending greater than 0x41? If so, this can be fixed with a timer where you count the difference between 0x40 and the incoming to determine the keystroke count. You then use the keystroke count to send successive keystrokes with a set repeat delay to make it smooth keystrokes at a rate that your application can handle.
You would set incoming to a local variable like pp then in rules:
Outgoing timer "Increment" repeat qq times initial delay 0 repeat delay 10 ms
(You may need to play with the increment value until you get the smoothness that you want)
Then a translator with incoming timer "Increment" and outgoing action of keystroke Shift(Ctrl(Y))
Also in incoming action, you might want to set a busy flag as a global variable so the timer doesn't re-trigger if it currently in process. Maybe the busy flag would be the ga=pp.
Then on each successive timer iteration you would decrement ga. You would look at the value of ga in your incoming trigger and only re-trigger the timer once the value of ga reaches 0.
Let me know if this makes sense or you need further assistance.
Bome Q and A Moderator and
Independent Bome Consultant/Specialist