Skip to content

Felerius/planck-layout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Planck keyboard layout

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)

Layout

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.

Qwerty base layer

Qwerty base layer

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.

Colemak base layer

Colemak base layer

Same as the Qwerty layer except with Colemak layout for the center part.

Number layer

Number layer

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.

Symbol layer

Symbol layer

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.

Adjust layer

Adjust layer

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.

Navigation layer

Navigation layer

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.

Building

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.

Layouts on keyboard-layout-editor.com