Keyboard - A Developer's Companion π₯οΈβ¨οΈ β
As a software developer, having the right tools can make all the difference. One tool thatβs become indispensable in my setup is the Planck keyboard. Iβll walk you through why the Planck is such a great fit for my coding needs, how to get the most out of it and configurations.
π€ Why Planck? β
The Planck is a 40% compact mechanical keyboard that offers a minimalist design with a lot of customisation potential. Its compact size makes it highly portable, and the flexibility in key mapping allows me to optimise my typing experience for programming tasks.
π οΈ Setting Up Your Planck β
The heart of the Planck's customisation is its firmware. The Planck supports both QMK and VIA. If you prefer not to delve into the complexities of QMK, VIA is the best choice as it provides a user-friendly interface for customising your keyboard.
π Erasing QMK Firmware β
Before you can use VIA, you need to remove the existing QMK firmware on your Planck keyboard.
- Visit VIA Firmware from VIA website and look for
planck_rev6_drop_via.bin
. - Install QMK Toolbox
- Connect Planck to computer.
- To flash new firmware, Planck needs to be in boot loader mode. Usually, this involves holding down a specific key combination while plugging in the keyboard. Check your Planck's manual for the exact combination (often it's a combination of
Esc
+Space
or a dedicated reset button). - Open QMK Toolbox and load the VIA firmware file you downloaded.
- Click on the "Flash" button to erase the current firmware and replace it with the VIA firmware. Wait for the process to complete and your keyboard to reboot.
π¨ Setting Up VIA Configuration β
Once the QMK firmware is replaced with VIA, you can start customising your Planck using VIA:
- Download and install the VIA software from the VIA GitHub page or VIA website
- Plug your Planck keyboard into your computer. VIA should automatically detect the keyboard if the firmware is correctly installed.
- You should see your Planck keyboard listed and its layout displayed.
- Use the VIA interface to drag and drop functions onto your key-map. VIA allows you to create multiple layers and assign various functions or macros to different keys.
- Explore the different tabs and settings in VIA to adjust lighting, macros, and other features.
- Once youβve customised your key-map to your liking, save the configuration. VIA will automatically apply the changes to your keyboard
β¨ My Configs β
I have created two separate configurations because some keys may not be recognised on both Linux/Windows
, even though they perform the same function.
β¨ Layout β
Layer 0 β
ββββββββββ¬βββββββ¬βββββββ¬βββββββ¬βββββββββ¬ββββββββ¬ββββββββ¬βββββββββ¬ββββββββ¬βββββββ¬βββββββ¬ββββββββ
β Tab β q β w β e β r β t β y β u β i β o β p β Bksp β
ββββββββββΌβββββββΌβββββββΌβββββββΌβββββββββΌββββββββΌββββββββΌβββββββββΌββββββββΌβββββββΌβββββββΌββββββββ€
β Esc β a β s β d β f β g β h β j β k β l β ; : β ' " β
ββββββββββΌβββββββΌβββββββΌβββββββΌβββββββββΌββββββββΌββββββββΌβββββββββΌββββββββΌβββββββΌβββββββΌββββββββ€
β LShift β z β x β c β v β b β n β m β , < β . > β / ? β Enter β
ββββββββββΌβββββββΌβββββββΌβββββββΌβββββββββΌββββββββΌββββββββΌβββββββββΌββββββββΌβββββββΌβββββββΌββββββββ€
β M3 β LWin β LAlt β LCTL β Fn1(3) β Space β Space β Fn2(3) β LWin β Vol- β Vol+ β β
ββββββββββ΄βββββββ΄βββββββ΄βββββββ΄βββββββββ΄ββββββββ΄ββββββββ΄βββββββββ΄ββββββββ΄βββββββ΄βββββββ΄ββββββββ
Fn1(3)
: Change to Layer 1Fn2(3)
: Change to Layer 2M3
Β : Macro | tmux | tmux super key
Layer 1 β
βββββββ¬ββββ¬βββββ¬ββββ¬βββββ¬ββββββ¬ββββββ¬ββββββ¬ββββββ¬βββββββ¬βββββββ¬βββββββ
β ` ~ β β M2 β β β [ { β ] } β 7 & β 8 * β 9 ( β - _ β βΌ β
βββββββΌββββΌβββββΌββββΌβββββΌββββββΌββββββΌββββββΌββββββΌβββββββΌβββββββΌβββββββ€
β βΌ β β M0 β β M1 β { β } β 4 $ β 5 % β 6 ^ β = + β \ | β
βββββββΌββββΌβββββΌββββΌβββββΌββββββΌββββββΌββββββΌββββββΌβββββββΌβββββββΌβββββββ€
β βΌ β β β β β ( β ) β 1 ! β 2 @ β 3 # β . > β βΌ β
βββββββΌββββΌβββββΌββββΌβββββΌββββββΌββββββΌββββββΌββββββΌβββββββΌβββββββΌβββββββ€
β βΌ β βΌ β βΌ β βΌ β βΌ β βΌ β βΌ β βΌ β 0 ) β Scr- β Scr+ β Mute β
βββββββ΄ββββ΄βββββ΄ββββ΄βββββ΄ββββββ΄ββββββ΄ββββββ΄ββββββ΄βββββββ΄βββββββ΄βββββββ
M0
: Macro | vim | save file |ΒEsc β :wa β Enter
M1
: Macro | vim | search or replace |ΒEsc β :%s/
M2
: Macro | vim | close file |ΒEsc β β£bd
Layer 2 β
ββββββ¬ββββ¬ββββ¬ββββ¬ββββ¬βββββββ¬βββββββ¬βββββββ¬ββββββ¬ββββ¬ββββββ
β βΌ β β β β β β β β β β Del β
ββββββΌββββΌββββΌββββΌββββΌβββββββΌβββββββΌβββββββΌββββββΌββββΌββββββ€
β βΌ β β β β β β β β β β β β β β β
ββββββΌββββΌββββΌββββΌββββΌβββββββΌβββββββΌβββββββΌββββββΌββββΌββββββ€
β βΌ β β β β β Home β PgDn β PgUp β End β β β
ββββββΌββββΌββββΌββββΌββββΌβββββββΌβββββββΌβββββββΌββββββΌββββΌββββββ€
β βΌ β βΌ β βΌ β βΌ β βΌ β βΌ β βΌ β βΌ β βΌ β βΌ β βΌ β
ββββββ΄ββββ΄ββββ΄ββββ΄ββββ΄βββββββ΄βββββββ΄βββββββ΄ββββββ΄ββββ΄ββββββ
Layer 3 β
ββββββ¬βββββ¬βββββ¬βββββ¬βββββ¬βββββ¬βββββ¬βββββ¬βββββ¬ββββββ¬ββββββ¬ββββββ
β F1 β F2 β F3 β F4 β F5 β F6 β F7 β F8 β F9 β F10 β F11 β F12 β
ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌββββββΌββββββΌββββββ€
β β β β β β β β β β β β β
ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌββββββΌββββββΌββββββ€
β β β β β β β β β β β β β
ββββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌβββββΌββββββΌββββββΌββββββ€
β β β β β β β β β β β β β
ββββββ΄βββββ΄βββββ΄βββββ΄βββββ΄βββββ΄βββββ΄βββββ΄βββββ΄ββββββ΄ββββββ΄ββββββ