For a long time, I’ve wanted to reduce my reliance on the [computer] mouse. Despite a deep appreciation for the flow state that good session of non stop keypresses offers, I often found myself reaching for the mouse as an initial reaction when I didn't know the keyboard shortcut for something. That’s where Keyjam comes in—I built it to nudge myself to use the keyboard more and the mouse less.
Keyjam is a macOS status app that encourages using the keyboard.
How Keyjam Works
For starters, it counts key presses in real time to track your keyboard streaks – that is, sequential key presses (just counting them). The moment you use the mouse, that breaks the streak and you get some immediate feedback.
It also offers a visualization of the history of those streaks over time - the last day, week, and month.
You can constrain it to only track streaks for keyboard centric apps like your favorite writing or coding app, or go system wide if you are a pro that doesn't really need the mouse with some discipline. If you go big like that, you'll likely want a window manager and some other keyboard helper apps in the mix.
Safety
I am a huge fan of open source, and given the nature and sensitivity of something like intercepting keystroke events, I want to mention two things here:
- Keyjam ONLY COUNTS key strokes – it discards any information about the actual key presses it receives. One day it may bucket shortcut keys (like Cmd-Shift-P) to count them distinctly, but there is zero intention to ever capture the content of any text/language you are typing.
- Given #1, I decided to open source this so if you have any doubts about giving granting permission to intercept keystrokes on your system are so inclined, you can go read the source and see exactly what it is doing, or ask an AI to explain it to you – that last part makes sense as of Q1 2025 😀.
If you’re interested in driving up your keyboard usage, check it out on GitHub: Keyjam.