Is it possible to integrate with FZ keyboard while in other apps?

I recently had an idea for a FZ module/app I would like to code (haven’t yet written one, would like learn how to do so though).
One of the downsides of having such a small screen and a only using directional navigation (up/down/left/right) is that it may take a very long time to scroll through something. Thus, I thought it might be fun to create an external module that can do some of those functions via GPIO.
I see a lot of tutorials/documents on how to create FZ applications, but I don’t see any that mention how to do things like that - Trigger keyboard events over the GPIO pins. Is that something that can be done?

1 Like

Take what I say with a grain of salt but I believe you can trigger button events via GPIO but not keyboard events. With that said it doesn’t mean you couldn’t create an external keyboard just that the way you go about it would be slightly different.

EDIT: If your plan was to integrate an off the shelf keyboard look into an old keyboard with a PS2 interface. Those may be easier to work with. I believe you would hook the keyboard to an ESP and the ESP would connect to the Flipper GPIO pins.

Thanks for the reply.

Being able to trigger keyboard presses would be neat, that would create some cool possibilities that I would like to check out. But mainly just the up/down/left/right/OK buttons are what I’m looking for.

A basic example would be to have a small rotary encoder on an external dev board that one could use to scroll through a list much quicker. I would like to add OLED screen on said dev board, but Im sure there’s examples on how to do that. It the ability for an external module to trigger the button (and ideally keyboard) events I’m unsure about.

1 Like

Let me share one of my mad scientists ideas that if I find time I would like to try. A remote control add on board. It would be something that looks like a standard universal remote control but the Flipper plugs into it. Very bad artist rendering!

That’s similar to what I was thinking, except not a wireless remote. More like an external navigation peripheral attached via GPIO.

Do you know of any examples that show how to trigger the buttons on the directional keypad? I did look but I don’t think I saw what I was looking for. I’m also pretty new to C++, so im looking forward to trying this out.

1 Like

I don’t know of any example code. Documentation isn’t very good yet. Rather then trying to scroll through the device I thought an easier way would be to directly trigger the files or directly send the codes to the Flipper. This can be done via the command line interface(cli).

Hmm, that’s not a bad idea. You think that’s fast enough to use with a rotary encoder?

One thing I wanted to make sure of though, is that it’s possible for someone to make an app that can run in the “background” of the Flipper. It would be point less if this only worked while you had the app open/in focus.

1 Like

It’s possible it might require the firmware being forked to work with all apps. A pull request could then be made so it becomes part of the standard firmware if accepted.

You may find this interesting.
GPIO buttons : r/flipperzero - Reddit Reddit - Dive into anything