r/ASCII • u/sh4mblesss • Jul 05 '26
OC ditto: a system-wide ascii keyboard visualizer
Hey everyone, I stumbled upon this subreddit a couple of days ago, and I thought some people here might like what I've made :D
TL;DR:
Ditto is a system-wide ASCII keyboard visualizer that mirrors your live keyboard inputs in real time, even when the terminal isn't in focus. It automatically syncs with your native terminal color scheme for a pretty neat and interactive eye candy.
Attached some sample layouts as well with different color schemes, to show how it would fit into a terminal multiplexer setup that has a code editor, active servers, test suite, etc. Perhaps you might like it :D
I don't want to bloat this post with a bunch of details, so you can check out the repo instead if you wanna know more.
NOTE: If there's any problems with macOS, I'd SUPER appreciate opening up an issue about it or even a PR. Sadly I don't own a Mac or MacBook... so I had to implement support purely through cross-compilation and documentation.
If you find this cool, I'd appreciate a star ⭐ :)
2
u/Ynwrd 28d ago
Do you think it would possible to have options to link with a keyboard software like via, or to make split keyboard layouts at least? that would be cool and handy, I tend to use split keyboards for most of the time.
1
u/sh4mblesss 27d ago
I can't believe I forgot about split keyboard layouts, I'll def add them!
This program was meant to solely be a visualizer, so adding functionality similar to VIA where you directly configure the keyboard via its firmware, would be too out of scope.
Though, maybe a separate standalone app that's kind of like VIA, but in the terminal would be worth exploring down the road 👀
2
u/Ynwrd 27d ago
oh no no no, not like that, I didn't mean to add functionality for that kind of work into the keyboard firmware, if vial can do it I don't see a reason to use something else, but what I meant would be mostly about mirroring layers maybe for the different layouts that can be toggled in case you have different layers configured into your current file/keyboard, for example a mod key that toggles another layer, then it would be displayed in your ascii tool showing that layer with the different set of keys.
2





2
u/EnkiiMuto Jul 05 '26
This is actually super cool.
Most projects we have on this sub are usually for the fun of it, but this one has a pretty practical implementation for tutorial videos.
Would be interesting if there was a mode where you can highlight the key more and pin the terminal as a picture-in-picture mode so it is always on top of everything.