rust-bucklespring

Crates.iorust-bucklespring
lib.rsrust-bucklespring
version0.1.0
created_at2025-07-21 22:40:01.566006+00
updated_at2025-07-21 22:40:01.566006+00
descriptionNostalgia bucklespring keyboard sound now in Rust!
homepagehttps://github.com/drunkleen/rust-bucklespring
repositoryhttps://github.com/drunkleen/rust-bucklespring
max_upload_size
id1762766
size5,657,278
DrunkLeen (drunkleen)

documentation

README

Nostalgia bucklespring keyboard sound now in Rust!

Copyright 2016 Ico Doornekamp

This project emulates the sound of my old faithful IBM Model-M space saver bucklespring keyboard while typing on my notebook, mainly for the purpose of annoying the hell out of my coworkers.

Simulates the IBM Model M experience — clicky, loud, and pure 80s typing nostalgia.

Model M Buckle

bucklespring runs as a background process and plays back the sound of each key pressed and released on your keyboard, just as if you were using an IBM Model-M. The sound of each key has carefully been sampled, and is played back while simulating the proper distance and direction for a realistic 3D sound palette of pure nostalgic bliss.

Installation

Arch Linux:

yay -S rust-bucklespring
# or 
paru -S rust-bucklespring

Debian/Ubuntu(x86_64):

wget https://github.com/drunkleen/rust-bucklespring/releases/download/v0.1.0/rust-bucklespring-v0.1.0-debian-x86_64.deb -O rust-bucklespring.deb

sudo dpkg -i rust-bucklespring.deb

Fedora/RHEL(x86_64):

wget https://github.com/drunkleen/rust-bucklespring/releases/download/v0.1.0/rust-bucklespring-v0.1.0-REHL-x86_64.rpm -O rust-bucklespring.rpm

sudo rpm -i rust-bucklespring.rpm

🛠️ Build from source (Linux)

🔧 Dependencies

Debian/Ubuntu:

sudo apt install libasound2-dev libudev-dev

Fedora:

sudo dnf install alsa-lib-devel systemd-devel

🛠 Build & run

cargo build --release
./target/release/bucklespring

🪟 Windows Support

It works. Just run:

cargo run --release

Ensure .wav files are in the wav/ folder and named like 1e-0.wav, 1e-1.wav, etc.


❓ FAQ

Q: Does this support Wayland? Yes/No! rdev captures input via evdev under /dev/input, which works under Wayland too. Still not sure xD

Q: Does it require root? ⚠️ Sometimes yes, unless you configure a udev rule to allow reading from /dev/input/event*.

Q: Can I run this as a background service? ✅ Yes, or add it to autostart via .desktop on Linux or Task Scheduler on Windows.

Q: Why is audio failing with ALSA errors? 🔊 Switch to PulseAudio or PipeWire. Or set a proper ~/.asoundrc file.


❤️ Credits

Commit count: 0

cargo fmt