Reaching for keys sideways has always been difficult for my inflexible, stubby fingers. If that sounds familiar, then Phalanx was designed for you! Its core principle is to eliminate all lateral finger movement.
Table of Contents
My journey into split ergonomic keyboards began with the Advantage360 Pro. The switch was revelatory, but it also surfaced a painful truth. And I mean pain in the physical sense.
As I disciplined myself to type with proper form - wrists stationary - I found that reaching sideways caused strain in my index and pinky fingers.
Phalanx grew out of my effort to eliminate that pain. By restricting each finger to its most natural forward-and-back motion and offloading work to the thumbs, this layout creates a typing experience that is finally comfortable for my hands. I'm sharing it in the hope that it can do the same for you.
Phalanx is more than just a keymap; it's a specific approach to minimalist ergonomic design born from a critical look at existing tradeoffs in the space.
Many popular minimalist layouts use a 3x5 or 3x6 finger matrix (3 rows and 5 or 6 columns per hand). To fit all 26 Latin characters on the base layer, such designs require at least one finger - typically the index or pinky - to be responsible for more than one column. This necessitates the very lateral (sideways) finger movement that can cause strain.
Phalanx starts with a single, uncompromising constraint: zero lateral movement. This is achieved by assigning each finger to exactly one column, resulting in a strict 4-column-per-hand layout.
A 4-column layout with only 3 rows (i.e. a 3x4 finger matrix) would provide only 24 keys for the fingers, which is not enough to place all letters on the base layer, let alone punctuation. To work around that limitation, Phalanx adds a fourth row, creating a 4x4 finger matrix on each hand. With 32 total finger keys, it has ample space for all 26 letters and common punctuation on the base layer, with no side-reaching required.
This is the core tradeoff that Phalanx represents: accept increased vertical finger travel to completely eliminate all lateral movement.
Consistent with its minimalist philosophy, Phalanx does not have a dedicated number row. All numbers and additional symbols are placed on separate layers, accessible via the thumbs.
Ultimately, Phalanx is an experiment to test the hypothesis that natural up-and-down finger curling is more comfortable and sustainable than lateral stretching.
-
Zero Lateral Finger Movement: To enforce strict columnar movement (true to the Phalanx name), each finger is assigned exactly one column.
-
QWERTY Number One: To reduce cognitive load for the most common migration path, the default keymap minimizes deviations from standard QWERTY letter positions. While the default is QWERTY-based, other keymaps like Dvorak or Colemak are easily adapted to the columnar philosophy.
-
Two Thumbs Strong: To maximize utility of the strongest digits, the two keys under each thumb are dual-purpose: they perform direct inputs (
Space
,Backspace
, etc.) when tapped and switch layers when held. -
Three Layers Is a Charm: To make all layers easily accessible via the thumb keys, the entire keymap is organized into only three layers: a base layer for alphas, a symbol layer, and a navigation/numpad layer.
-
A Home for All Four Modifiers: To centralize control and eliminate dedicated modifier keys, all home-row keys are also dual-purpose: they perform as standard letter keys when tapped and act as modifiers (
Shift
,Cmd
,Ctrl
,Option
) when held.CapsLock
is toggled by double-tappingEscape
.
There are two ways to use Phalanx: flashing a pre-built firmware or customizing it to make it your own.
This is the quickest way to try Phalanx.
- Download the latest
firmware.zip
file from the Releases page. - Unzip the archive to get the
left.uf2
andright.uf2
files. - Proceed with the flashing instructions below.
If you want to tweak the keymap, you can easily build your own version.
- Fork this repo.
- Enable GitHub Actions on your fork.
- Open your fork in Keymap Editor.
- Edit the keymap.
- Click
Save
to commit your changes and trigger a build. - Follow the link on the right side of the
Save
button to the build run page. - On the build page, scroll down to the Artifacts section, and download the
firmware.zip
file. - Unzip the archive to get the
left.uf2
andright.uf2
files. - Proceed with the flashing instructions below.
Once you have the left.uf2
and right.uf2
files, follow the steps on page 2 of the Firmware Update Instructions.
- Power off both halves of the Adv360 Pro.
- Connect the left half to your computer via USB.
- Double-tap its bootloader button with a paper clip. It will appear as a USB drive named
ADV360PRO
. - Copy the
left.uf2
file onto that drive. It will automatically flash and dismount. - Disconnect the left half, and leave it powered off.
- Connect the right half to your computer via USB.
- Double-tap its bootloader button with a paper clip. It will appear as a USB drive named
ADV360PRO
. - Copy the
right.uf2
file onto that drive. It will automatically flash and dismount. - Disconnect the right half, and leave it powered off.
- Power on first the left, then the right half.
- Enjoy!
Bootloader Button: There are also physical reset buttons on both keyboards which can be used to enter and exit the bootloader mode. Their location is described on page 2 in the Firmware Update Instructions.
Note: Some operating systems wont always treat the drive as ejected after the settings-reset file is flashed or may throw a spurious error, this doesn't mean that the flashing process has failed.
By default, reporting the battery level over BLE is disabled, as this can cause some computers to spontaneously wake up repeatedly. If you'd like to enable this functionality change CONFIG_BT_BAS=n
to CONFIG_BT_BAS=y
in adv360_left_defconfig.
Phalanx stands on the shoulders of the following giants:
- Advantage360 Pro by Kinesis: Inspired this layout and is the primary target for its implementation.
- ZMK Firmware: Enables re-programming the Adv360 and supporting complex behaviors such as hold/tap.
- Keymap Editor by nickcoutsos: Helps edit ZMK keymap configurations. No need to understand ZMK internals or even programming.
- Keyboard Layout Editor by ijprest: Helps visualize keyboard layouts and keymaps in a compact way.