ANAVI Macro Pad 2

by ANAVI Technology

Open source, programmable two-key mechanical keypad with backlighting

View all updates Jun 09, 2021

Creating a New QMK Keymap from the CLI

by ANAVI Technology

As you know from our previous updates, ANAVI Macro Pad 2 relies on the popular, open source QMK firmware. The keymap is a QMK feature that defines the behavior of each key inside a C source file using an array of arrays as a data structure. It is also technically possible to define several layers in a single keymap and have a key behave differently depending on the active layer. So naturally, there are various existing QMK keymaps for copy and paste, Git, Zoom, Google Meet, Jitsi, etc.

Recently, Chris from Crowd Supply had a wonderful idea to make a funny new binary QMK keymap suitable for writing machine code using only a 1 key and a 0 key. I took this as an excellent opportunity to make a new video and walk you through the process of creating a new QMK keymap.

In 1996, Steve Jobs famously said: "Picasso had a saying — ‘good artists copy; great artists steal’". Well, you don’t need to be a great artist to create a new QMK keymap, just copy the default keymap for a mechanical keyboard and modify it however you want.

QMK offers several options to select, customize, and flash a new keymap:

  • Command-line interface (CLI) - advanced, but not very user friendly
  • QMK Toolbox - application for MacOS and Windows users
  • QMK Configurator - an online tool used for easily creating firmware files for keyboards supported by QMK.

Although using the command-line interface requires advanced skills, it is a straight-forward and a very fast approach. In the video you can see that, after setting up the development environment, the whole process takes less than a couple of minutes.

The YouTube video demonstrates the exact steps to creating a new keymap using this approach from the command-line interface:

  • Install QMK on a personal computer
  • Download the source code from GitHub
  • Copy directory keyboards/anavi/macropad2/keymaps/default
  • Modify keymap.c and set new key definitions using QMK keycodes
  • Compile the new keymap and flash it onto the ANAVI Macro Pad 2
  • Optionally, create a GitHub pull request to the QMK firmware repo and share your new keymap with the world!

Details on how to flash QMK firmware with a new keymap on ANAVI Macro Pad 2 are available in the user’s manual.

As the old joke says, "there are 10 types of people in this world, those who understand binary and those who don’t". I am sure you all are the type of people who will enjoy the new binary keymap for ANAVI Macro Pad 2. At the moment the GitHub pull request with it is going through a review and hopefully will be merged soon into qmk_firmware.

Thank you for supporting ANAVI Macro Pad 2. If you haven’t ordered yet, we hope you’ll jump in and get your own open source 2% mechanical keyboard!

Thanks, Leon

About the Author

ANAVI Technology

AnaviTechnology  ·  AnaviTechnology  ·   Plovdiv, Bulgaria

$2,213 raised

of $1 goal

Funded! Order Below

Product Choices


ANAVI Macro Pad 2 Developer Kit

No soldering required! Includes one ANAVI Macro Pad 2 PCB, one acrylic enclosure, two Gateron mechanical switches, two red 3 mm LEDs, and two translucent keycaps.


ANAVI Macro Pad 2 Maker Kit

Requires some soldering. For makers interested in experimenting with mechanical switches, this kit includes one ANAVI Macro Pad 2 PCB, one acrylic enclosure, two Gateron mechanical switches, two red 3 mm LEDs, and two translucent keycaps.


ANAVI Technology

Open source hardware created and powered by free and open source software

ANAVI Technology

Mouser Electronics

Components and Hardware Sourcing

TME Electronic Components

Components and Hardware Sourcing

Comet Electronics


Components and Hardware Sourcing

See Also

Subscribe to the Crowd Supply newsletter, highlighting the latest creators and projects: