My keyboard keymap that works with all my keyboards.

My keyboard keymap that works with all my keyboards.

I build a lot of keyboards and in order to keep it easy to switch between them I've been using the same keymap with slight tweaks for about 4 years now. The map has been thought out over time to support both QWERTY and my preference of Colemak along with Windows and Mac modes. It also features a lot of combos to account for layouts with less keys and a few tap dance functions so it retains full functionality.

I really just want to walk you through the layers here so you can get an idea of what I've done and either use my map on your builds or take inspiration from it. It's also important to note that the different configurations are stored in EEPROM so they persist on the keyboard and don't need to be set each time you plug it in.

 

Base Layer

The base layers are mostly the same except for QWERTY having slight modifications to where the backspace key is. On Colemak, I can easily put backspace in the top right since that's normally semicolon but on QWERTY I chose to just replace semicolon with it so it's in a more comfortable spot. 

To swap between Colemak and QWERTY, hold 1 (blue), then 2 (orange), and finally tap 3 (red).

Colemak

QWERTY

 

Operating System

I have started trying out QMK's OS Detection feature but the board features a way to swap between Windows and Mac. Really all this does is switch CMD to CTRL or CTRL to CMD depending on the mode.

You can swap the operating system by holding 1 (blue), 2 (orange), and finally tap 3  (red).

 

Game Mode

My keymap relies heavily on multi-function keys such as spacebar where holding it will act as CMD or CTRL depending on the OS mode. It also uses shift on hold of Z or ? and because of this, many games might not actually detect space. To fix this issue, I have a Game Mode that disables these features. You access this by holding 1 (blue), 2 (orange), and then 3 (red).

 

Mode Check

If you ever get lost, you can always check the mode by clicking in a text box on your system and holding the mode check key. You access this by holding 1 (blue), 2 (orange), and then 3 (red).

This will print something like: Mode: Mac (QWERTY)

 

Code Layer

The code layer contains most secondary punctuation and symbols along with media controls and arrow keys. It is the same on all configurations. You access this by holding the Code button on the bottom row.

 

Number Layer

The number layer contains numbers on home row with their shifted symbols right above. It is the same on all configurations. You access this by holding the Number button on the bottom row

 

Function Layer

The function layer contains the F keys along with the different mode switching keys. It is the same on all configurations. You can access this by any of the previous configuration methods or holding code and number at the same time.

 

Mouse Layer

The mouse layer is my newest addition to the keymap and gives you mouse keys for moving the cursor along with scrolling actions. You can access this by pressing P+L (Colemak) or R+U (QWERTY) at the same time. It is the same on all configurations.


Combos

My keymap is designed to work on a keyboard with 48 keys down to 30 or less and because of this I have a few combos set up that give you full functionality. You activate these by pressing the keys at the same exact time.

Function Colemak QWERTY
Tab Q+W Q+W
Enter Y+Backspace Y+P
Space V+B V+B
Middle Click Code+Number Code+Number
To Base Layer G+J T+Y
To Code Layer Q+Backspace Q+P
To Number Layer W+Y W+O
To Function Layer F+U E+I
To Mouse Layer P+L R+U

 

Multi-Function Keys

The keymap features keys with additional functions for tap dance actions. I mainly use these to get all my modifiers on one key as home row mods do not feel very good when typing fast. You can see the keys that have multiple actions below.

  • Shift On Hold: Shift if you hold it, otherwise just the normal key like Z or ?
  • CMD On Hold: CMD/CTRL on hold, otherwise just the normal key on tap.
  • Mods On Multi (Left of Space)
    • Hold: OPT (Mac) / CTRL (Windows)
    • Double Tap + Hold: CTRL (Mac) / ALT (Windows)
    • Triple Tap + Hold: CMD (Mac) / WIN (Windows)
    • Double Tap: Search
    • Triple Tap: Emoji Picker
  • Mods On Multi (X)
    • Hold: CMD (Mac) / CTRL (Windows)
    • Double Tap + Hold: OPT (Mac) / ALT (Windows)
    • Triple Tap + Hold: CTRL (Mac) / CTRL (Windows)
    • Double Tap: Search
    • Triple Tap: Emoji Picker

 

Closing Thoughts

That's all of the information I can think to share about my keymap and I hope it's helpful either just using straight as it is or for inspiration. The images here were drawn from my Scotto48 (PCB Edition) and you can find the QMK code here.

Back to blog

Leave a comment

We always appreciate comments and feedback! However, they are not actively monitored, so if you'd like to ask a question or discuss a project, please join our Discord server.