Skip to content

cjlangan/MechSim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mechsim

stars   REPO SIZE   Releases   LICENSE  

A CLI-Based Mechanical Keyboard Sound Simulator


mechsim_demo2.mp4

The video shows just a few of the many options

Usage

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

Installation

Arch Linux (AUR)

yay -S mechsim

Build From Source

git clone https://github.com/cjlangan/mechsim
cd mechsim
make
sudo make install

Full Usage

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

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

Dependencies

  • build-essential
  • pkg-config
  • libjson-c-dev
  • libpulse-dev
  • libsndfile1-dev
  • libinput-dev
  • libevdev-dev
  • libudev-d

Motivation

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.

About

Mechanical keyboard sounds as you type, Wayland compatible

Resources

License

Stars

Watchers

Forks

Packages

No packages published