Flipper-Android-App icon indicating copy to clipboard operation
Flipper-Android-App copied to clipboard

Control BadUSB Input Events from Phone App in realtime

Open christianhauff opened this issue 1 year ago • 2 comments

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?

christianhauff avatar Nov 07 '24 10:11 christianhauff

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

LionZXY avatar Nov 11 '24 12:11 LionZXY

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?

Dynio515 avatar Feb 22 '25 07:02 Dynio515