HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
zevv
bucklespring
C2016–2024
zevv / bucklespring

bucklespring

Nostalgia bucklespring keyboard sound

18Distinct people
28Mentions
1Explicit recommenders
1.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Nostalgia bucklespring keyboard sound

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

There are very clearly noticeable differences between the different keyswitches, and also between different shapes of keycaps. And not just in mechanical keyboards. I have used…

the_pwner224 used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year28 dated mentions

Observed mentions: 2016-08-15 09:23:02 UTC to 2024-06-09 06:58:34 UTC.

02462016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 6 mentions; 5 submissions, 1 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC651
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC303
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC523
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC422
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Nostalgia bucklespring keyboard sound 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. 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. To temporarily silence bucklespring, for example to enter secrets, press ScrollLock twice (but be aware that those ScrollLock events are delivered to the application); same to unmute. The keycode for muting can be changed with the -m option. Use keycode 0 to disable the mute function. Installation Debian Bucklespring is available in the latest Debian and Ubuntu dev-releases, so you can install with $ sudo apt-get install bucklespring VoidLinux Bucklespring is available in the VoidLinux repositories, so you can install with $ sudo xbps-install -S bucklespring FreeBSD Bucklespring can be installed via package: $ pkg install bucklespring or built via port: $ cd /usr/ports/games/bucklespring $ make install clean Linux, building from source To compile on debian-based linux distributions, first make sure the require libraries and header files are installed, then simply run make: Dependencies on Debian $ sudo apt-get install libopenal-dev libalure-dev libxtst-dev pkg-config Dependencies on Arch Linux $ sudo pacman -S openal alure libxtst Dependencies on Fedora Linux $ sudo dnf install gcc openal-soft-devel alure-devel libX11-devel libXtst-devel Building $ make $ ./buckle The default Linux build requires X11 for grabbing events. If you want to use Bucklespring on the linux console or Wayland display server, you can configure buckle to read events from the raw input devices in /dev/input. This will require special permissions for buckle to open the devices, though. Build with $ make libinput=1 Using snap on Ubuntu (since 16.04) and other distros $ sudo snap install bucklespring $ bucklespring.buckle The snap includes the OpenAL configuration tweaks mentioned in this README. See http://snapcraft.io/ for more info about Snap packages MacOS I've heard rumours that bucklespring also runs on MacOS. I've been told that the following should do: $ brew install alure pkg-config $ git clone https://github.com/zevv/bucklespring.git && cd bucklespring $ sed -i '' 's/-Wall -Werror/-Wall/' Makefile $ make $ ./buckle Note that you need superuser privileges to create the event tap on Mac OS X. Also give your terminal Accessibility rights: system preferences -> security -> privacy -> accessibility If you want to use buckle while doing normal work, add an & behind the command. $ sudo ./buckle & Windows The program has been compiled, but it has not yet received Microsoft's security certificate. Therefore, it may be detected as a virus by some antivirus software. To view reports from some antivirus programs, you can visit link to reports. For better performance and to resolve some issues, it is recommended to run the program in Administrator mode. Usage usage: ./buckle [options] options: -d DEVICE use OpenAL audio device DEVICE -f use a fallback sound for unknown keys -g GAIN set playback gain [0..100] -m CODE use CODE as mute key (default 0x46 for scroll lock) -M start the program muted -h show help -l list available openAL audio devices -p PATH load .wav files from directory PATH -s WIDTH set stereo width [0..100] -v increase verbosity / debugging OpenAL notes Bucklespring uses the OpenAL library for mixing samples and providing a realistic 3D audio playback. This section contains some tips and tricks for properly tuning OpenAL for bucklespring. The default OpenAL settings can cause a slight delay in playback. Edit or create the OpenAL configuration file ~/.alsoftrc and add the following options: period_size = 32 periods = 4 If you are using headphones, enabling the head-related-transfer functions in OpenAL for a better 3D sound: hrtf = true When starting an OpenAL application, the internal sound card is selected for output, and you might not be able to change the device using pavucontrol. The option to select an alternate device is present, but choosing the device has no effect. To solve this, add the following option to the OpenAL configuration file: allow-moves = true
Read the full README on GitHub

What Hacker News says

28 sources
For the opposite effect, install `bucklespring` to enjoy an authentic classic clacking on any keyboard (most convenient on GNU/Linux, packaged for the biggest distros). “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 [heck] out of my coworkers. 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” — https://github.com/zevv/bucklespring
In Show HN: Unclack – a macOS app that mutes your microphone while you type
Around 12 years ago, I bought a used Model M. It uses a slightly different technique for registering keypresses but looks about the same on the inside as the Model F. It worked great. After 3 days, I decided to clean it up and open it. I then quickly destroyed it by using a bit too much water during the cleaning. It got into the plastic tubes with the springs [0] and that was the end of most of the keys. I tried drying it with a hairdryer, but without success. The black plastic visible on the image is attached to the board by melted plastic joints, so removing it without destroying it is not possible. Congratulations to the author for not making the same stupid mistake as me. Of course, you can still experience the clickiness of the Model M without owning one with the great emulator [1]. It's available on Debian and Ubuntu dev-releases:
Read the rest
In Restoring a 37 Year-Old IBM F Mechanical Keyboard

Showing the 15 most recent of 28 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.