‹  All Stories
Mechanical Keyboards
Next Story  ›
The Story Behind Infinity: a Community-Designed Keyboard
The Infinity Keyboard - designed and developed by the Massdrop community.

New keyboard layouts pop up on a daily basis in places like Geekhack, Deskthority and /r/MechanicalKeyboards, but these projects rarely ever result in more than a few keyboards actually being constructed. The underlying reason for this is because the majority of these keyboards are handcrafted by only a few individuals, which makes production for the rest of the community incredibly difficult, let alone cost prohibitive.

The Infinity Keyboard marks the beginning of a new era in custom keyboard production. The Infinity Keyboard is the first keyboard produced entirely by the Massdrop community. Using the existing Massdrop framework, enthusiast keyboard members submit keyboard layouts via our polling system, vote on which options they like the most, and ultimately determine the keyboard that will be built and made available in our upcoming drops.

The Infinity earned its name from the infinite layers with which the keyboard can be programmed, making it more configurable than any other circuit board on the market.

This sounds simple in theory, but one of the biggest reasons we were able to develop this framework was by working directly alongside our community members. We worked together with members like Jacob Alexander (HaaTa), Gennadiy Nerubayev (Parak), Brandon Muzzin (OverKill), Jacob Rus (Jacobolus), as well as you, the community, to make this process possible.

There will be a bit of soldering necessary, but nothing you can't handle.

It began with a poll for 60% keyboard layouts. After 1,300 community members cast their vote, the community converged on a single layout option. The winner of the poll was for a new layout design, drawn in Photoshop that combined features of the Happy Hacking Keyboard with the Poker II Keyboard, (officially dubbed the "HHKB3"). Making things a bit more interesting, this new layout featured a Japanese style bottom row with a different sized spacebar - making it difficult to replace the keycaps. To give the community full agency, we worked with community member Haata to design a single PCB that could handle both US and Japanese layouts - letting you pick between the original design, chosen from the poll, or opt for the standard US layout. Let's dive deeper into the PCB and explain what's so different about it.

The Infinity Keyboard designed with a Japanese layout.

Traditionally, hardware keymappings for keyboards have been cumbersome. At best, each layer can be defined as a set of predefined trigger:result pairs. The trigger defines what the signal of a keypress (e.g. press a) is that will be used to generate a result (e.g. send USB Code a). The result is what the keyboard firmware is designated to do once the corresponding trigger is received. Results vary from sending single USB Codes, to USB Code Macros, to enabling keyboard specific capabilities and toggling other keymapped layers. Some keyboards allow for macros; however, these macros usually have to be custom programmed to the microcontroller (most, if not all custom keyboard firmware), or have very limited scope (Kinesis Advantage Pro and some Cherry POS keyboards such as the G80-8200). Also, keymap layering (e.g. FN Layer) almost universally supports distinct layers, however, no current firmware supports "partial layering". That is, until now.

To program your keyboard, all you have to do is use the handy Infinity Configurator and select exactly where you want your keys to be.

What sets the Infinity apart and what will shape the framework for all future keyboards developed by the Massdrop community, is the Keyboard Layout Language (KLL). The KLL provides a standardized firmware that is completely ambivalent to layout changes - functioning essentially as a Keyboard BIOS. This means that if you define a trigger (Ctrl + Z + N, for example), you can also define the result of that trigger. The result of the trigger can be either simple or complex, but is only limited by what your computer can do. This keymapping scheme also supports both static and dynamic layering, as well as arbitrary keyboard features that may or may not be available on a given keyboard.

The PCB and plate design were made with customizability in mind.

Some people will likely use this functionality to design layouts for various languages, so that you can program your keyboard to output Chinese or Japanese characters. Other people optimize their commands for programs such as Adobe Photoshop and Illustrator, and bind Function keys to specific filters or tools that they use every day. Still other people will do more out of the box things, like develop hardware passwords to evade keylogging software (you have the ability to create a layer that outputs a different password to your computer than the one that you physically typed). In addition, people that are fond of alternative layouts such as Dvorak and Colemak will be able to switch to their preferred layout easily, as well as switch back in case a QWERTY typist needs to use their keyboard.

To program your keyboard, all you have to do is use the handy Infinity Configurator and select exactly where you want your keys to be. If you don't have Internet access, the keyboard is configurable via the command line as well, so that programmers can have an even closer relationship to their trusty typing tool. If you'd like to learn more about the KLL, you can dive deeper into the KLL Spec.

The underside of the Infinity Keyboard revealing the open backing.

Boasting a control chip based on the MCHCK and running a community developed Keyboard Layout Language, the Infinity Keyboard outperforms all programmable competitors. Every part of the keyboard was decided upon or inspired by the community to allow for complete versatility and premium performance. Let's go over a few:

Frame

The frame was constructed completely with the community in mind - designed with an open back for easy assembly and universal cutouts to handle any spacebar or switch that you vote for. To reduce costs for the community and to also minimize total number of parts, we used a special Plate Case with bent metal edges instead of the standard injection molded plastic. The case is built from 16-gauge stainless steel, making it hefty enough to mash a potato with (which is always a plus in case you get hungry).

The initial concept for the bent frame (top) and our first iteration of it (bottom).

Our second iteration of the stainless steel frame (top) and our final bent metal design (bottom).

Keycaps

In terms of keycaps, we went with the community's favorite - Signature Plastic's DSA profile PBT keycaps. The community has ordered more of Signature Plastic's DSA PBT keycaps than any other keycap on Massdrop by a factor of 5. Also, on a long enough timeline, most enthusiasts tend to gravitate towards PBT anyways, so we decided to cut out the time you mull over ABS and just make the Infinity available with the good stuff.

A close up of Signature Plastic's DSA profile PBT keycaps.

Switches

When it came to switches, we wanted to make sure the community had full control. So instead of limiting your options to choose between one or the other, we designed a circuit board and plate that accepts both Cherry MX and Alps mechanical switches. No other keyboard manufacturer does this. For mechanical switches, we are offering all of the Cherry MX switch varieties: Blue, Clear, Brown, Black, Red, and Green. In addition, we offer Matias Quiet Pro (comparable to Brown MX switches), and Matias Click Switches (comparable to Blue MX Switches) with matching Matias (Alps) compatible keycaps.

The PBT keycaps removed to show the Cherry MX Clear switches.

So here we are today with Massdrop's first community-designed keyboard - the Infinity. Our community centric approach is embedded into every step of the production process, from the initial design to the countless tweaks that kept us pulling all-nighters, all the way to the finish, and we wanted to be sure that the final product reflected that shared journey. Now that the Keyboard Production Framework is in place, the community can select any combination of variables and end up with exactly the keyboard they want, not merely another compromise.

The backside of the Infinity Keyboard revealing the USB slot and PCB side profile.

The Infinity earned its name from the infinite layers with which the keyboard can be programmed, making it more configurable than any other circuit board on the market. This is crucial to giving you full control and making sure your keyboard fits your specific needs. With this model and PCB design, we can go from a napkin drawing to a finished product in a matter of months, letting us meet the community's interest faster than any major manufacturer. With an infinite number of layout options on the table, we now have the ability to integrate additional functionalities such as LED backlighting, Bluetooth connectivity, and eventually universal switch compatibility. The choice is yours.

The Infinity Keyboard - designed for the community, by the community.

A huge thank you goes out to the entire community for helping us get this project off the ground. We hope that you enjoy this keyboard and everything that it represents for the community as well as for the future of keyboards on Massdrop. We believe that you should be able to type on any keyboard you want or can imagine - and now you can.

Active drops in

Mechanical Keyboards