I noticed a lot of badusb payloads didn’t actually work on my computer and i just figured out why:
Since my keyboard language are Canadian English and Canadian French, “/” appears as “é”, “” appears as “à” and a few other symbols don’t work right, making a lot of stuff straight up impossible to do. Even demo_windows doesn’t work right. Any way to fix this other than changing the keyboard language? Because that’s not really convenient for a prank for example.
Sadly no, we can’t control keyboard settings in any way
It’s the same for oryginal rubber ducky. When encoding payload you chose your keyboard language.
Benefit of flipper is that you can easily store and run multiple payloads, so my suggestion is to just make your most popular in 2 languages or start all with command that will change settings.
What about the ALT-KEYPAD method of inputting characters? You should be able to input exactly the character you mean independent of the keyboard language with that method.
So how it is possible to encode payload to different language, since it’s just .txt file for Flipper?
What is possible is to use ALTSTRING instead of String. That solves a lot of issues.
I made a quick and dirty tool to translate the payloads and single strings. More keyboards can be added.
APN201 Payload translator
Good tool, but with Spanish code fails with some characters.
Yep. It happens on some languages and characters. Especially $ is problem in many keyboards.
It happens because there is no key in US keyboard, which would generate certain characters in target keyboard layouts. I bruteforced 255 characters witsh STRING command to map the results in chosen keyboard layout, and some characters just do not appear.
In such case an alternate method should be used, like ALTSTRING or a version of badusb which supports keyboard selection.
Thanks. I’m going to try ALTSTRING, I have in mind to make myself a translator in C language similar to what you have done on the web. I don’t know if it will be a waste of time, but I’m going to entertain myself.