109 lines
3.6 KiB
Markdown
109 lines
3.6 KiB
Markdown
---
|
|
title: "Planck and QMK"
|
|
date: 2022-10-08T18:35:00+03:00
|
|
draft: false
|
|
categories: [keyboard]
|
|
tags: [keyboard]
|
|
url: /posts/planck-and-qmk/
|
|
author: "Christoph Cullmann"
|
|
resources:
|
|
- name: "featured-image-preview"
|
|
src: "images/planck-final.webp"
|
|
---
|
|
|
|
## The Planck Keyboard
|
|
|
|
Over the past two years I tried out a few different keyboards for fun.
|
|
|
|
I started with common form factors like TKL boards, went over 75% boards like the [Q1](/posts/keyboards-and-open-source/) and then to a 60% [HHKB](https://en.wikipedia.org/wiki/Happy_Hacking_Keyboard).
|
|
|
|
For typing feel, the HHKB is really amazing, but unfortunately the programmable features of a stock HHKB board are very limited.
|
|
|
|
Now that I went down to 60%, I will give a more extreme keyboard a chance, the 40% Planck ortholinear keyboard.
|
|
|
|
This one is fully open-source, you can even produce your own PCBs and Co.
|
|
You find more or less all stuff freely at [GitHub](https://github.com/olkb).
|
|
|
|
Given that the Plank designer funded [QMK](https://qmk.fm), too, naturally you can fully customize the Planck boards.
|
|
|
|
Unlike for my tries with the Q1, this time I just went the plain QMK route, without any UI like the closed [VIA](https://www.caniusevia.com/) or the open [VIAL](https://get.vial.today/).
|
|
|
|
The Planck board offers a nice platform for experiments, given the plain grid layer that allows really to freely shuffle all your keys and experiment with extreme layouts.
|
|
|
|
![Building the Planck keyboard](/posts/planck-and-qmk/images/planck-building.webp "Building the Planck keyboard")
|
|
|
|
## Install QMK on NixOS
|
|
|
|
As I use at the moment [NixOS](https://nixos.org) at home, here the needed steps to get going with QMK on that distribution.
|
|
|
|
Install the qmk package. This will install the needed cross compile tool chains, too.
|
|
|
|
Ensure the udev rules are setup, e.g. add to your configuration.nix
|
|
|
|
{{< highlight nix >}}
|
|
services.udev.packages = [ pkgs.qmk-udev-rules ];
|
|
{{< / highlight >}}
|
|
|
|
Run qmk setup, here with some own firmware location
|
|
|
|
{{< highlight bash >}}
|
|
qmk setup -H ~/install/qmk/firmware
|
|
{{< / highlight >}}
|
|
|
|
Configure QMK to use the Planck as default
|
|
|
|
{{< highlight bash >}}
|
|
qmk config user.keyboard=planck/rev6_drop
|
|
{{< / highlight >}}
|
|
|
|
Use my github name as keymap name
|
|
|
|
{{< highlight bash >}}
|
|
qmk config user.keymap=christoph-cullmann
|
|
{{< / highlight >}}
|
|
|
|
Create own keymap based on default
|
|
|
|
{{< highlight bash >}}
|
|
qmk new-keymap
|
|
{{< / highlight >}}
|
|
|
|
Compile the firmware
|
|
|
|
{{< highlight bash >}}
|
|
qmk compile
|
|
{{< / highlight >}}
|
|
|
|
Put the keyboard in boot loader mode (e.g. trigger RESET)
|
|
|
|
Flash the firmware
|
|
|
|
{{< highlight bash >}}
|
|
qmk flash
|
|
{{< / highlight >}}
|
|
|
|
Now the keyboard should auto-restart with the new firmware.
|
|
|
|
## Have fun :)
|
|
|
|
Below the state of a finalized Planck board with some more or less standard first layer layout.
|
|
|
|
It even plays a nice startup sound on powering up.
|
|
|
|
![Finalized Planck keyboard](/posts/planck-and-qmk/images/planck-final.webp "Finalized Planck keyboard")
|
|
|
|
My current keymap can be found on [GitHub](https://github.com/christoph-cullmann/qmk).
|
|
|
|
As the history of this repository shows, I already experimented if some different layouts.
|
|
|
|
## Warning ^^
|
|
|
|
Yes, the paper on the left of the keyboard is a printout of the lower & raise keyboard layers.
|
|
|
|
My typing speed is still abysmal on that new layout and I guess I need to build as second one for at work, otherwise I will never get used to the layout if I swap daily between this and a HHKB.
|
|
|
|
Therefore, if you like to try such a board and are not a lot more experienced with switching between different layouts: you will need some time to get used to this.
|
|
|
|
Even just the removed row staggering is confusing the first few days.
|
|
|