| Crates.io | rust-bucklespring |
| lib.rs | rust-bucklespring |
| version | 0.1.0 |
| created_at | 2025-07-21 22:40:01.566006+00 |
| updated_at | 2025-07-21 22:40:01.566006+00 |
| description | Nostalgia bucklespring keyboard sound now in Rust! |
| homepage | https://github.com/drunkleen/rust-bucklespring |
| repository | https://github.com/drunkleen/rust-bucklespring |
| max_upload_size | |
| id | 1762766 |
| size | 5,657,278 |
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.

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.
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
Debian/Ubuntu:
sudo apt install libasound2-dev libudev-dev
Fedora:
sudo dnf install alsa-lib-devel systemd-devel
cargo build --release
./target/release/bucklespring
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.
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.