"planck" ortholinear keyboard

2017-07-15
2021-01-29

planck

the keyboard

The Planck is a charming mechanical computer keyboard made by Ortholinear Keyboards. The one shown here is revision 4.

The hardware consists of 4 main parts: the PCB, the plate, the bottom, and the keys themselves (switches + caps), all of which can be easily substituted with variants, making for a supremely customisable keyboard.

The firmware, known as Quantum or QMK, is open source and works with the Atmel AVR controller built into the PCB or the Teensy.

the key layout

source: github.com/blobject/qmk_firmware:keyboards/planck/keymaps/agaric

The main principle that drives the use of small keyboards like the Planck is the application of virtual layers, which effectively multiplies the number of available keys. The QMK firmware makes this easy.

layer 0: base

Being a programmer, I opted for a layout that is mostly symmetrical, is thumb-oriented, and makes accessible those characters that frequent programming languages. I tried not to mess with the confines of the alphabet keys, and attempted at reducing, as much as sensible, the pinky finger's reach.

.-----------------------------------------------------------.
| L3 |  Q |  W |  E |  R |  T |  Y |  U |  I |  O |  P | L2 |
| tab|  q |  w |  e |  r |  t |  y |  u |  i |  o |  p | bsp|
|----+----+----+----+----+----+----+----+----+----+----+----|
| SFT|  A |  S |  D |  F |  G |  H |  J |  K |  L |  : | SFT|
|  ( |  a |  s |  d |  f |  g |  h |  j |  k |  l |  ; |  ) |
|----+----+----+----+----+----+----+----+----+----+----+----|
| GUI|  Z |  X |  C |  V |  B |  N |  M |  < |  > |  ? | GUI|
| { [|  z |  x |  c |  v |  b |  n |  m |  , |  . |  / | ] }|
|----+----+----+----+----+----'----+----+----+----+----+----|
|  " |  ~ | HYP| ALT| CTL|  space  | L1 | AGr| CTL|  + |  _ |
|  ' |  ` |    | del| esc|         | ret|    |    |  = |  - |
'-----------------------------------------------------------'

Modifiers are pushed to the edges, and the most frequently used ones -- Control, L1, Alt, and Shift -- are assigned to the thumbs and pinkies. The "L?" modifiers are layer changers.

For the alphabet key mapping, I like to use a custom one instead of qwerty. But rather than hardcoding the keymap into the firmware, the switching has been relegated to the operating system (ie. setxkbmap or xmodmap) for better compatibility with my laptop's builtin keyboard.

layer 1: base extension

.-----------------------------------------------------------.
|////|  1 |  2 |  3 |  4 |  5 |  6 |  7 |  8 |  9 |  O |////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|////|  ! |  @ |  # |  $ |  % |  ^ |  & |  * |  | |  \ |////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|////| f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 | f9 | f10|////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|    |    |////|////|////|/////////|XXXX|////|////| f11| f12|
'-----------------------------------------------------------'

Holding onto the L1 key temporarily changes the layer or mode of the keyboard, thereby causing the indicated keys to hold these new values.

Certain decisions and sacrifices were made based on priority and personal preference. For instance, the backslash and pipe keys occur in this layer instead of the base layer. Also, the numerals are situated in the top row, rather than in the home row.

layer 2: nav + device

.-----------------------------------------------------------.
|////| hom| up | end|pgup|    |    |    |volx|vol-|vol+|XXXX|
|----+----+----+----+----+----+----+----+----+----+----+----|
|////| lf | dn | rt |pgdn|    |    |    | up |pgup|lum+|////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|////|    |    |    |    |    |    |    | dn |pgdn|lum-|////|
|----+----+----+----+----+----+----+----+----+----+----+----|
| ins| prt|////|////|////|/////////|////|////|////| lf | rt |
'-----------------------------------------------------------'

The navigational and multimedia keys are defined on this layer.

layer 3: mouse

.-----------------------------------------------------------.
|XXXX|    |    |    |    |    |    |    |  2 |  ^ |  3 |////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|////|    |    |    |    |    |    |    |  < |  1 |  > |////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|////|    |    |    |    |    |    |    | ^^ |  v | vv |////|
|----+----+----+----+----+----+----+----+----+----+----+----|
|    |    |////|////|////|/////////|////|////|////|    |    |
'-----------------------------------------------------------'

The mouse keys are defined on this layer.

tap and hold

Tap to enter a character, or hold to enable a modifier. The firmware provides this neat functionality, and it allows one physical key to represent a character and a modifier simultaneously. Refer to LT(), MT(), and "space cadet" in the QMK sources/docs.

the experience

Good, great, small, fast, fun.

assembly

wip

planck-init

planck-switch

planck-switched

planck-soldered

usage

wip

syncopated palm tap

The four keys in the lower corners (the ones that don't have modifier assignments) are blindspots to the fingertips. These keys are difficult to reach using either pinky or thumb.

They are quite accessible, however, with the edge of the palm. And during quick typing, the occasional corner palm jab mixes in a syncopated feel to the typing experience.

ergonomics

Despite the convenient size and layout and the palm tapping ability, the ergonomics of this keyboard is not perfect. The keys rest somewhat high, and without a palm rest, the hands must perpetually float to achieve good speed. The wrists also remain horizontal and bent towards the middle which is quite bad in terms of ergonomics. An adjustment is to keep the hands angled naturally while trying to fit the ortholinearity into that angle.

silent switches

The Cherry MX silent red switches were picked because of the value I put in silence. The valuation was such that even rubber o-rings were attached to every switch in order to further dampen the residual clicking noise. And the result was quite satisfactory on the noise front.

On the feel front, however, the switches initially felt too easy to press and mushy and indistinct. But the precedence that noiselessness had over low tactile resolution contributed to perseverence. After a few weeks, the perception of mushiness faded and the soft presses began to be enjoyable. As with any physiological acclimation, the body seemed to grow more sensitive to (unconscious of?) the minutiae of its environment and the "too easy and soft to press" simply turned into "fast".