Layout for my Planck keyboard (rev. 4) that I have been using and improving since 2017. It uses the awesome QMK firmware. I had the following goals while creating it:
- Support for both the Qwerty and Colemak layouts
- Easy access to commonly used programming symbols, most importantly
(
/[
/{
- Symmetric (left/right) modifier keys whenever possible
- Quick access to escape for Vim usage
- Use of tap/hold functionality to access keys quickly (tap key for symbol, hold for modifier)
The layout is split into different layers: two base layers for either Qwerty or Colemak, and several overlay layers activated by holding some of the four colored layer toggle keys. For the latter, the toggle keys required to access the layer are shown, while the others are faded out. All non-labeled keys inherit the functionality from the base layer.
All layout images where created using keyboard-layout-editor.com. Permalink's to the layouts can be found at the bottom of this readme.
Base layer using the Qwerty layout. Both shift keys as well as the control key
function as the respective modifiers when held, but output a parenthesis or
escape respectively when tapped. Ideally, the '
key would also function as a
control key when held, however this causes technical problems: quickly using
shift combined with '
sometimes causes ('
to be output rather than "
.
While QMK provides several settings related to the tap/hold functionality, I
have not found a combination that works reliably in this case. Unfortunately,
neither backspace (often held for key repeat) nor ]
(often used with shift)
are good candidates for a right side control key either.
Same as the Qwerty layer except with Colemak layout for the center part.
Accessed by holding the blue number layer key. Provides access to the number keys directly on the home row, with the respective F keys directly above. Also provides the four other keys commonly found on the number row as well as a delete key in place of the standard backspace.
Accessed by holding the red symbol layer key, it contains shifted versions of the keys in the number layer so that they can be used with only a single modifier key. The two parenthesis on 9 and 0 are provided for completeness only, they should be accessed using the two shift keys in the base layers instead. The F keys from the number layers are replaced by their counterparts ten numbers higher.
Provides access to keyboard settings (backlight brightness, Qwerty vs. Colemak, reset for flashing), as well as other shortcuts that should be a bit more difficult to access to avoid accidental activations. Accessed by holding both the blue number and red symbol key.
Several clusters of movement keys, each in the traditional Vim layout (although the arrow keys are shifted right by one key to be directly under the default home row keys for the right hand). Can be accessed using either of the yellow navigation layer keys. The arrow keys including control are used to navigate between desktops/fullscreen windows in macOS. Also includes media controls (play/pause, previous, next) in a similarly laid out cluster.
One way to build the keymap is to follow the instructions in the
QMK docs, copying the keymap
directory into the QMK installation.
To avoid installing any tools globally, this repo contains a makefile that only
uses the QMK version included as a submodule as well as the qmk
CLI installed
using pipenv. It works by symlinking the keymap
directory at the right place
in the qmk
submodule directory.
To use it, install the qmk
CLI using pipenv install
, as well as any QMK
dependencies, such as a cross-compiler and dfu-programmer (you can also just run
the build and install dependencies as they are reported missing). Then run
make build
to build the firmware and make flash
to flash it onto a Planck in
reset mode.