Cyberdeck Keyboard
Hand Wired 4x12 / 5x12 Ortholinear Mechanical Keyboard
A compact ortholinear mechanical keyboard built for cyberdeck use and daily driving. The ortholinear layout arranges keys in a grid rather than staggered rows, reducing finger travel. Available in 4x12 and 5x12 configurations with Cherry-compatible switches and QMK firmware.
The ortholinear layout aligns keys in a strict grid, eliminating the stagger found on conventional keyboards. This reduces lateral finger movement and shortens the reach to every key. To access numbers, symbols, and functions, Raise, Lower, and FN modifier keys shift the keyboard into different layers. Each physical key can produce up to four different outputs depending on which modifier is held, similar to how Shift gives uppercase letters but extended across the full keymap.
The keyboard runs QMK firmware, an open-source keyboard firmware supporting advanced keymaps, macros, and layers. Four layers are defined: Qwerty (default), Lower (symbols and F-keys), Raise (numbers and F-keys), and FN (navigation, mouse keys, and RGB control). The controller is a Pro Micro board with an ATmega32U4 microcontroller running at 5V/16MHz, programmable over USB.
The enclosure is fully 3D-printed in PLA or ASA plastic. ABS is also an option but requires higher print temperatures and an enclosed chamber. The keyboard is hand-wired with 24AWG silicone wire and 1N4148 diodes on each switch, connecting rows and columns directly to the Pro Micro. No custom PCB is needed.
Layout
Here is the complete layout as it is defined in the QMK firmware code:
Qwerty
,-----------------------------------------------------------------------------------.
| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
|------+------+------+------+------+-------------+------+------+------+------+------|
| Esc | A | S | D | F | G | H | J | K | L | ; | " |
|------+------+------+------+------+------|------+------+------+------+------+------|
| Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| Ctrl | Win | Alt | Fn |Lower | Sp | Sp |Raise | Left | Down | Up |Right |
`-----------------------------------------------------------------------------------'
Lower
,-----------------------------------------------------------------------------------.
| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | + |
|------+------+------+------+------+-------------+------+------+------+------+------|
| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
|------+------+------+------+------+-------------+------+------+------+------+------|
| Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
|------+------+------+------+------+------|------+------+------+------+------+------|
| | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End |Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | [ | ] | | Next | Vol- | Vol+ | Play |
`-----------------------------------------------------------------------------------'
Raise
,-----------------------------------------------------------------------------------.
| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | = |
|------+------+------+------+------+------+------+------+------+------+------+------|
| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
|------+------+------+------+------+-------------+------+------+------+------+------|
| Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
|------+------+------+------+------+------|------+------+------+------+------+------|
| | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | Pg Up| Pg Dn|Enter |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | { | } | | Next | Vol- | Vol+ | Play |
`-----------------------------------------------------------------------------------'
Lower + Raise
,-----------------------------------------------------------------------------------.
| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | Reset| Debug| | | | |TermOf|TermOn| | |KC_PSCR|
|------+------+------+------+------+-------------+------+------+------+------+------|
| | |Aud cy|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| |KC_INS|
|------+------+------+------+------+------|------+------+------+------+------+------|
| |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | |MBTN3 |MBTN2 |MBTN1 |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | |MLEFT |MDOWN | MUP |MRIGH |
`-----------------------------------------------------------------------------------'
FN
,-----------------------------------------------------------------------------------.
| F12 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 |
|------+------+------+------+------+-------------+------+------+------+------+------|
| | | | |RGB_TOG| | | | | | |KC_PSCR|
|------+------+------+------+------+-------------+------+------+------+------+------|
| | | | | | | Left | Down | Up |Right | |KC_INS|
|------+------+------+------+------+------|------+------+------+------+------+------|
| | | |KC_COPY|KC_PSTE| | |RGB_MOD| |MBTN3 |MBTN2 |MBTN1 |
|------+------+------+------+------+------+------+------+------+------+------+------|
| | | | | | | | |MLEFT |MDOWN | MUP |MRIGH |
`-----------------------------------------------------------------------------------'
Parts
| Part | Source |
|---|---|
| Kailh Box 3 pin Switches | Amazon |
| DROP Matt3o MT3/Dev/Tty Keycap Set | Amazon |
| 1N4148FS-ND - DIODE GEN PURP 100V 200MA DO35 x 48 / 60 | DigiKey |
| Pro Micro ATmega32U4 5V 16MHz | Amazon |
| Silicone Rubber Solid Wire 24AWG | Amazon |
| #2-56 Socket Cap Screw Stainless Steel, 1/4'', 3/8'' | Trimcraft Aviation RC |
| Clear Adhesive Bumper Pads | Amazon |
Downloads
- STL files (.zip archive) — Updated 2023-02-17
-
Firmware files (.zip archive) — Updated 2023-02-17
- To upload the .hex file to the keyboard:
- connect keyboard to the computer with the USB cable
- install qmk toolbox from here - https://github.com/qmk/qmk_toolbox
- launch qmk toolbox
- open Local file - .hex file
- select MCU - atmega32u4
- check Auto-Flash checkbox
- press and release reset button on the bottom of the keyboard
- To upload the .hex file to the keyboard: