Control BadUSB Input Events from Phone App in realtime
I regularly use my Flipper Zero when I have to control devices, that don't have an attached keyboard, but I need to press some button e.g. to get into a setup menu. Therefore I connect the flipper using an USB cable and the HID Controllers' Keyboard Emulation. That saves me carrying around a whole keyboard for just pressing a single key. But typing more text than just a single key is of course quite fiddly with the keyboard emulation on the Flipper.
Is it technically possible to send BadUSB input events from the Flipper App on my phone, that are typed over USB in realtime? So inside the Android app, I could open a keyboard, type text, which is transmitted via Bluetooth to the Flipper, which emulates them over USB.
Of course I could write a BadUSB-Script and play that afterwards, but being able to type over the phone in realtime would be quite useful, when doing something interactively.
Besides the implementation in the Smartphone app, I guess that would need an according implementation in the Flipper firmware. Is this idea technically possible or am I missing something?
This is theoretically possible, but you need to do the following:
- Add firmware-side RPC support for BadUSB commands
- Add iOS/Android support
When we have time, we can look into this. However anyone else in the community can do it too, I'd be happy to add BadUSB support if it's firmware side
I regularly use my Flipper Zero when I have to control devices, that don't have an attached keyboard, but I need to press some button e.g. to get into a setup menu. Therefore I connect the flipper using an USB cable and the HID Controllers' Keyboard Emulation. That saves me carrying around a whole keyboard for just pressing a single key. But typing more text than just a single key is of course quite fiddly with the keyboard emulation on the Flipper.
Is it technically possible to send BadUSB input events from the Flipper App on my phone, that are typed over USB in realtime? So inside the Android app, I could open a keyboard, type text, which is transmitted via Bluetooth to the Flipper, which emulates them over USB.
Of course I could write a BadUSB-Script and play that afterwards, but being able to type over the phone in realtime would be quite useful, when doing something interactively.
Besides the implementation in the Smartphone app, I guess that would need an according implementation in the Flipper firmware. Is this idea technically possible or am I missing something?