Keyboard Warriors

The Doom keyboard allows you to summon a space marine to battle the forces of Hell with the press of a single button.

nickbild
5 days ago Gaming
Play Doom with the press of a button (📷: Adafruit)

How many times have you found yourself sitting at your computer with a problem so big that it could only be solved by a space marine? The only reasonable course of action in these situations is, naturally, to fire up Doom and blast some demons and undead humans into oblivion. This video game may be over 30 years old now, but it has stood up to the test of time remarkably well and still beats the pants off of many modern games, at least in terms of gameplay if not graphics.

But if that itch to play is about to drive you over the edge, and you have to remember how to start up a DOS emulator and then remember the commands to launch Doom, what are you to do? This all came naturally back in the days of America Online, but that has been a while! Fear not, Adafruit’s John Park has got you covered with a project that makes it possible to launch Doom with the press of a single dedicated button on a keyboard. And for good measure, the game is also stored on the keyboard itself, so as long as you have your keyboard with you, you can plug it into any computer to get your fix at a moment’s notice.

Upgrading the keyboard for battle (📷: Adafruit)

The hack takes some effort to pull off, but the project write-up walks through everything step-by-step with a lot of pictures, so it is definitely doable. For starters, the build requires a standard keyboard. An opening is then cut in the case to house a NeoKey mechanical keyboard switch. This button is wired into an Adafruit KB2040 keyboard driver board that is hidden inside the case.

To keep things nice and neat, a USB hub is also installed in the case. This makes it possible to have both the keyboard and the KB2040 hooked up to the same computer via a single USB cable. Next, ZDoom — a source port of Doom for modern computers — was loaded onto the KB2040’s internal flash memory.

When the Doom button is pressed, the event is handled by a CircuitPython script running on the KB2040. It then acts as a keyboard to send the host machine commands to open the Run dialog, search for the Doom executable, then launch it. Technically you could program this button to do just about anything, but I can think of no cause more noble than speeding up the launch of a round of Doom.

With a Doom keyboard in hand, your most important decision for the day will be choosing between “Hurt Me Plenty” and “Nightmare!,” and of course to resist the urge to tap out “iddqd” at the first sign of trouble.

nickbild

R&D, creativity, and building the next big thing you never knew you wanted are my specialties.

Latest Articles