I'm making a UI framework library for Arduino IDE so you can create very basic user interfaces over the Serial (or any other Stream) interface of a microcontroller and control it with a keyboard and/or mouse. Testing is being done in PuTTY on Windows but I would expect other terminal emulators to work acceptably. I'm testing with ESP8266 but in principle any microcontroller with enough memory will work. It's a tight squeeze on classic AVR Arduinos, but it DOES work.
It has primitives for the usual terminal control sequences to change colours, move the cursor and so on. More interestingly I've combined them into widgets that the library manages. So far I have working examples of...
Clickable buttons
Checkboxes
Radio Buttons
Text windows, with scrolling of the content
Text input fields
List boxes (single item selectable)
...which can be used to build forms/interfaces.
This latest update is after doing a bunch of bug fixing to deal with dynamically changing widgets.
Ещё видео!