Hello Morgan,
To my knowledge, even with Commercial software you always add your text only in the end, when you have already stopped your video recording.
Even with Camtasia, quite likely the best screencasting software on Windows, you can modify your video only later : add text, zoom in-out etc [1].
Currently, on Windows, I usually run the freeware: BBFlash Back express 5:
But again, even with the commercial (not free) version of this software you always add your text when you are done recording 
In the past, on Windows, I have tried to add some text while recording but the result was not fine. To do so, I used a Microsoft utility (ZoomIT):
On Linux, most GUI are simple front-end for FFmpeg.
For example, with Shotcut [2] you can record your video and add your text in the end.
In the past, in order to visualize my shortcuts while I was typing them, I run the software “key-mon”:
https://code.google.com/archive/p/key-mon/downloads
At present, there is also Screenkey :
https://www.thregr.org/~wavexx/software/screenkey/
A very good workflow to screencasting is:
- write on paper all steps (subjects) your are willing to record on your computer and try them on your computer before the real recording ;
- record your desktop (e.g. with FFmpeg);
- Improve your video with a video editor. For instance, you fade-in the begininng and fade-out the end , zoom in-out, add text etc;
- based on your video, record you voice (e.g. with Audacity) and improve this recording later on (e.g. with Audacity you might want to normalize the sound, reduce the background noise etc).
- Add this improved sound recording to your video.
Needless to say, this proposal is very time-consuming…
[1] https://www.techsmith.com/tutorial-camtasia-mac-working-text-prior.html
[2] https://www.shotcut.org/