Unreliable keyboard input when using any script

Whenever I activate any kind of payload on my testing machine, it consistently runs into typing and spelling errors. It’s like the flipper is inputting too fast, and occasionally skips over characters creating spelling errors. The code is all written correctly and I’ve tried it with multiple different payloads, both prewritten and some of my own, but it keeps running issues. I know that it is written correctly because powershell will always flag a different misspelled item in the code. I’ve tried staggering the code into multiple STRING commands and adding delays in between them, but beyond just typing out each letter I’m lost. I even went to the duckyscript documentation to see if there were any kind of commands that would alter the typing speed, which turned up the JITTER feature, but this is not enabled for the custom duckyscript that flipper runs. I’ve made sure that my wires are connected, and I haven’t seen this issue elsewhere. This leads me to believe my computer just has a very slow input speed, something that’s deliberately handicapping it somewhere, or heaven forbid something wrong with my flipper. I am happy to elaborate on any specifics that I’ve inevitably failed to mention here if this post gets any answers at all. If you took the time to read all this, thank you!

1 Like

Is it missing specific letters or characters? If that is the case this is likely a keyboard layout issue. That’s the most common error.

Modify the keyboard layout by pressing the LEFT button, if necessary. The default configuration is the US English keyboard layout.

1 Like

@jmr It’s not a keyboard layout issue, as each time the payload is run is skips over keys ranging from letters to numbers and symbols, and different ones each time. I’ve seen posts on here about keyboard issues but they only mention a specific set of characters (usually symbols from what I noticed). However, I’ve made sure every script runs on en-US and my computer keyboard layout is set to en-US as well.

1 Like

I may have an answer for you. At the top of your BadUSB/Ducky script, place the line

STRING_DELAY 200 where 200 is a delay value (higher number means longer delay). It’s recommended to start with the value of 1 and work up from there.

Here is my example that seems to work:

STRING_DELAY 200
STRING This string should print pretty slowly.

Edit: Are you testing this in a VM, by any chance?

Thank you! I was looking for something exactly like this that alters the string input speed! It seems to have worked well, so I think this fixes my issue!

2 Likes

This makes my day! Glad to hear it!

I thought there was something like that but didn’t see it in the docs. Good work!

1 Like