A CLI-Based Mechanical Keyboard Sound Simulator
mechsim_demo2.mp4
The video shows just a few of the many options
mechsim # default uses sound eg-oreo at volume 50
mechsim -l # list out all sound packs
mechsim -s turquoise -V 60 # choose soundpack turquoise at 60% volume
yay -S mechsim
git clone https://github.com/cjlangan/mechsim
cd mechsim
make
sudo make install
Usage: mechsim [OPTIONS]
Options:
-s, --sound SOUND_NAME Select sound pack (default: eg-oreo)
-V, --volume VOLUME Set volume [0-100] (default: 50)
-l, --list List available sound packs
-h, --help Show this help message
-v, --verbose Enable verbose output
Examples:
mechsim # Use default sound (eg-oreo)
mechsim -s cherrymx-blue-abs # Use Cherry MX Blue ABS sound
mechsim -l # List all available sounds
- nk-cream
- cherrymx-black-abs
- cherrymx-red-pbt
- cherrymx-blue-abs
- eg-oreo
- cherrymx-brown-pbt
- eg-crystal-purple
- cherrymx-brown-abs
- topre-purple-hybrid-pbt
- cream-travel
- holy-pandas
- mxbrown-travel
- cherrymx-red-abs
- mxblack-travel
- cherrymx-black-pbt
- turquoise
- cherrymx-blue-pbt
- mxblue-travel
- build-essential
- pkg-config
- libjson-c-dev
- libpulse-dev
- libsndfile1-dev
- libinput-dev
- libevdev-dev
- libudev-d
The motivation behind this project was that I couldn't hear my keybaord presses in screen-recordings or when I had headphones on. I tried other programs such as MechVibes (which I took the sound files and configs from) -- but none were Wayland compatible.
I decided to take some backend code from Show Me The Key which could detect global key presses -- even on Wayland -- and fit it to my use case.
Admittedly, I used a lot of AI to help me complete this, since I was more interested in just getting it to work to enjoy the sweet sweet keypresses. But I have since decided to share the code if others found themselves in a similar position.