This short article was originally posted on January 10, 2021 when this publication was hosted on Wordpress, and was then published here on May 25, 2022. Since this was one of the launch articles for The Retro Millennial it was only seen by a few people — and because this summer has been an unusually busy time for me at work — I thought I would republish it. I hope you enjoy it.
What is one thing that we have all used but probably not really given too much thought to? We use it at home, many of us use it at work; they come in different shapes, sizes, and colors but they all perform the same function? You may use it to wrtite a paper for school, to author that book you’ve wanted to publish for years but never had the time to until now, or to prepare that presentation for work. You may use it to play the latest AAA games, or to emulate vintage DOS games. You may use it to create applications for niche or general use, or simply to check your email and navigate to YouTube. Whatever you use it for, I think it’s safe to say that the vast majority of people in the world today use or at least have used a computer’s keyboard at some point in their lives. While most people probably don’t care much about the keyboard they use, we can all agree that not all keyboards are created equal. There are plenty of debates online about what the best keyboards on the market are, but many people would gladly argue that the pinnacle of keyboard design came in the form of the IBM Model M.
WHAT’S COVERED IN THIS POST?
The Legacy of the Model M
Enter Bucklespring
Installing Bucklespring on Linux
Installing Bucklespring on MacOS
What about Windows?
Closing Thoughts
THE LEGACY OF THE MODEL M
For the younger among us, the name Model M might not carry much weight. To be honest, I barely remember them myself. I do, however, remember people using them when I was little. They were big, beige keyboards and they were loud. While most keyboards today are either membrane or mechanical, the Model M was an interesting hybrid of the two. Under the hood they used a rubber dome membrane to trigger a key press as most modern keyboards do, but they also utilized a buckling springmechanism with long key travel. The result was a physical clicking feel as you pressed the key down, and a unique sound as the spring inside of the key literally buckled when compressed. Various videos on YouTube and LBRY allow you to hear what these legendary keyboards sound like.
While I desire to own one of these keyboards for myself, they are quite expensive – usually selling on eBay for upwards of $150 USD. On top of that, IBM shut down their hardware manufacturing operations back in the 90’s (selling it off to Lenovo who later discontinued the line), meaning that any Model M you buy is a vintage 20-35 year old keyboard. However, that’s not to say you need to buy a used Model M in 2021. The American-based company Unicomp still makes them. They actually bought the plans and equipment from Lenovo and are still making these keyboards (including modern varients) today for anywhere from $100 to $125 USD. From what I have seen these Unicomp Model M’s aren’t as nice as the originals (mostly because the manufacturing parts are wearing out after three decades of use), but they are still quality and come in both PS/2 and USB versions.
ENTER BUCKLESPRING
So maybe you care about your typing experience. Maybe you want a Model M so that you can share in the joy of typing bliss while annoying those around you with the original “clicky” keyboard, but like many of us you don’t have that kind of money to throw around. Well then say hello to bucklespring, an open source program developed by Ico Doornekamp designed to take your keystrokes in near-real-time and output the sound of the correlating key from the Model M through the speakers of you PC or Mac.
INSTALLING BUCKLESPRING ON LINUX
Installing bucklespring on Linux is very easy, especially if you are running a Debian or Ubuntu based distro. For this section I will be using the Ubuntu-based Pop_OS 20.10. First make sure your repos are updated and then proceed to install bucklespring.
$ sudo apt update && sudo apt install bucklespring -y
To break down the command for beginners, sudo
will elevate your privileges (essentially run as root/administrator). apt
is your package manager (you may also see apt-get commonly used online) that will install bucklespring. update
will not update your machine, but rather update the repositories that house the software that apt will pull from.
The &&
simply tells the your computer to run whatever follows it so long as the previous command completed successfully. This isn’t necessary as you can just run the commands separately, but I just like using it.
Next are another sudo apt
which we’ve already discussed. install
here is telling apt what you want it to do (i.e. install a piece of software). bucklespring
is the name of the package you want apt to install, and -y
is a switch that tells apt to automatically answer “yes” to any install prompts that come up in the process (note: there is only one prompt for this program).
Once bucklespring has been successfully installed run the command buckle
by itself and you now have the sound of a Model M (albeit without the tactile feel) without the hefty price tag. You will need to leave the terminal open to keep Bucklespring running, however I’m sure there is a switch to keep it running in the background.
INSTALLING BUCKLESPRING ON MACOS
Installing Bucklespring on MacOS is a bit more involved. This guide assumes you already have Brew and Git installed. I will post guides on installing both on MacOS at a later time, but if you want that now there are plenty of other resources out there to get you started.
To install bucklespring on MacOS via Brew and Git make sure the Terminal app has the correct permissions. Start by opening System Preferences and then go to Security & Privacy. Under the Privacy tab, select Accessibility. Click on the lock on the bottom of the window and enter your administrator password to make changes to the accessibility settings. Click the + icon to add another application to the list. In the Applications folder, double click on Utilities then select Terminal. Re-lock the settings and close the window.
Again, assuming you already have brew and git installed, run the following:
$ brew install alure pkg-config
$ git clone https://github.com/zevv/bucklespring.git && cd bucklesrping
$ make
$ sudo ./buckle
The first command tells brew to install alure pkg-config
.
The second command tells git to download a copy of the bucklespring repository to your Mac and to go to that newly created folder (cd
= change directory/folder).
The make
command is used to compile programs from their source code which is what git brought down for us.
The final command elevates your privileges to be able to run bucklespring as on Linux. As before, you need to leave the terminal window open for bucklespring to continue working.
WHAT ABOUT WINDOWS?
As of right now it appears that the Windows installer does not work and thus the installer has been removed from the project’s GitHub page. There is a contributor that seems to be working on it, but who knows when that will be available.
CLOSING THOUGHTS
I hope that this guide has been helpful, and that it brings you joy as you work, play, or whatever else you do with your computer. While it’s not a perfect program, and I wish it did have a working Windows version for my computer at work, it’s been a lot of fun to play with. If you want more information on bucklespring, check out the project’s page on GitHub. I’d love to hear your thoughts on the project and what you think about keyboards in general. Are you a membrane or mechanical person? Does it even matter to you? Do you have – or have you used – a Model M? And if you enjoyed this guide, please share it with others you think will enjoy it, and subscribe to the mailing list to stay updated on my latest updates.
This is fun to play with, but I'm not sure I want to keep it running full time. It does, however, make me want to hook up one of my Unicomp buckling spring keyboards for the real thing.
Bucklespring is great!
I found it a while ago, on a HN thread about a different keyboard sound generator, and in my limited experience of those, bucklespring sounds the best and has the lowest latency.
I recommend playing around with the -s option to get a sound that seems to come from the right place in your keyboard, and the -g option to change the volume.
The one problem is that it can't register modifier keys, but all other keys work.