For easier initial use, this keymap follows the layout of more standard keyboards where possible. It is a starting point for you to tweak over time to suit your preferences better. You can easily customize it with the QMK configurator.
Some of its key features are:
| ` | Q | W | E | R | T |---------------------------| Y | U | I | O | P | BKSPC |
| TAB | A | S | D | F | G |---------------------------| H | J | K | L | ; | ENTER |
| SHIFT | Z | X | C | V | B | ESC |---------------|CAPS | N | M | , | . | / | SHIFT |
--------------|CTRL |-----| GUI | ALT | Sym |SHIFT|---| Nav |SPACE| ALT | GUI |-----| ' |--------------
The base layer provides a very standard key layout with five differences:
The default layout is QWERTY with alternatives of Dvorak and Colemak-DH, and the alt/option and the win/command key locations are swappable for windows or mac.
Dvorak
| ` | ' | , | . | P | Y |---------------------------| F | G | C | R | L | BKSPC |
| TAB | A | O | E | U | I |---------------------------| D | H | T | N | S | ENTER |
| SHIFT | ; | Q | J | K | X | ESC |---------------|CAPS | B | M | W | V | Z | SHIFT |
--------------|CTRL |-----| GUI | ALT | Sym |SHIFT|---| Nav |SPACE| ALT | GUI |-----| / |--------------
Colemak-DH
| ` | Q | W | F | P | B |---------------------------| J | L | U | Y | ; | BKSPC |
| TAB | A | R | S | T | G |---------------------------| M | N | E | I | O | ENTER |
| SHIFT | Z | X | C | D | V | ESC |---------------|CAPS | K | H | , | . | / | SHIFT |
--------------|CTRL |-----| GUI | ALT | Sym |SHIFT|---| Nav |SPACE| ALT | GUI |-----| ' |--------------
| HOME | ! | @ | # | $ | % |---------------------------| ^ | & | * | ( | ) | DEL |
| END | GUI | ALT |CTRL |SHIFT| INS |---------------------------| [ | ] | - | = | \ | ENTER |
| SHIFT | |VOL- |MUTE |VOL+ |PLAY |OSM ALT |------------|MENU | { | } | _ | + | | | SHIFT |
--------------|CTRL |-----| GUI | ALT | *** |SHIFT|---| Adj |SPACE| ALT | GUI |-----|CTRL |--------------
Holding down the SYM key accesses the symbol layer:
| CUT | 1 | 2 | 3 | 4 | 5 |---------------------------| 6 | 7 | 8 | 9 | 0 | BSPC |
| COPY |LEFT |DOWN | UP |RIGHT|PASTE|---------------------------|PG_UP|SHIFT|CTRL | ALT | GUI | PG_DN |
| SHIFT | F1 | F2 | F3 | F4 | F5 |UNDO |---------------|REDO | F6 | F7 | F8 | F9 | F10 | SHIFT |
--------------|CTRL |-----| GUI | ALT | Adj |SHIFT|---| *** |SPACE| ALT | GUI |-----|CTRL |--------------
Holding down the Nav/Edit key accesses the navigation, editing, number and function layer:
| |QWERT|DVORK|COLMK|AG_SWAP|CTR_SWAP|----------------------| | F11 | F12 |PR_SCR| | |
| | | | |AG_NORM|CTR_NORM|----------------------|MOD+ |BRI+ |HUE+ |SAT+ | | |
| | GUI | ALT |CTRL |SHIFT| | |--------------|RGBTOG|MOD- |BRI- |HUE- |SAT- | | BOOT |
--------------| |-----| | | *** | |---| *** | | | |-----| |--------------
Simultaneously holding down the Sym and Nav/Edit keys enables keys to adjust keyboard settings:
If you are coming from a traditional keyboard, with a row-staggered layout and a large set of physical keys, learning to use a column staggered (ergo) and layer-based keyboard, which uses layers instead of finger reaches to access numbers, symbols and functions, will be an adjustment for your muscle memory and your mental keyboard map. This default layout tries to simplify that adjustment by keeping things in the expected spots when possible.
Yet this layout is only a decent compromise and is not optimal for each user. The online configurator makes it easy to tweak this layout to your needs. You can add additional layers or completely switch around what these do.
A good metaphor is to think of your keymap as a bonsai tree that you tweak slightly over time in response to ideas of how it might serve you better.
Some changes you might consider making:
Here are some other keymaps for inspiration and ideas:
The online configurator provides a straightforward visual way to work with a simple layout
and uses a .json keymap format.
So this default keymap.json
was created with the online configurator
and formatted for easier reading and editing.
If you wish, you can edit the keymap.json
directly in a text editor, optionally use the below json2hill48.py
to restore the spacing, and then compile and flash it.
Or, you can use the graphical configurator to edit the keymap. To do that:
qmk_firmware/keyboards/handwired/hillside/48/keymaps/default/keymap.json
./keyboards/handwired/hillside/48/keymaps/json2hill48.py \
--input <Your download directory>/default.json \
> ./keyboards/handwired/hillside/48/keymaps/default/keymap.json
You may need to make that script executable with chmod +x
. After your keymap is safely copied and formatted, you may want to remove the keymap from your download directory so later downloads will automatically receive the same file name.
After either method of editing, compile and flash the keymap as usual.
You can combine a .json based keymap with more advanced features specified in .c files with a bit more complexity. For example, see pierrec83's Kyria map.