ZMK configuration for swept-crkbd also compatible with crkbd wireless version with nice!nano.
This is a WIP layout based on Colemak DHm for using on Windows (with en-US layout), complemented with AHK scripts with Spanish accents, easy access to development symbols and JS/TS shortcuts.
US International layout is another alternative, but it has a critical downside (at least on Windows) for programming due to dead keys. We are going to lose speed because need to press two keys instead of one: the diacritic or accent followed by an ending character (space, tab or enter) to produce it.
Icons used to describe some modifiers and actions
Label | Description |
---|---|
❖ | Win/Cmd |
⌃ | Control |
⌥ | Alt |
⇧ | Shift |
🄰 | Caps Lock |
⎋ | Esc |
↹ | Tab |
⏎ | Return |
⇪ | Hold Tap |
🔁 | Key Repeat |
- Black and Blue works with ZMK
- Magenta and Purple works with AHK
Label | Windows | Actions |
---|---|---|
⌫ | Backspace | |
|⌫ | ⇪⌫ | Delete word backward |
⌦ | ⇧+⌫ | Delete |
⌦| | ⇧+⇪⌫ | Delete word forward |
F2 | ⇪⏎ | Rename (like macOS) |
▷ | ⇪↹ | left (terminal autocompletion) |
🄰 | ⇧+⌫ | Caps lock |
⇧⇧ | L⇧+R⇧ | Caps word |
^^ | L^+R^ | Cancel caps |
❖❖ | L❖+R❖ | Open current layout on screen |
Letters, accents for Spanish language and quick shortcuts for most used symbols to "avoid" changing layers.
Label | Windows | Android |
---|---|---|
á | ⌥+a | ⌥+e + a |
Á | ❖+⌥+a | ⌥+e + ⇧+a |
é | ⌥+e | ⌥+e + e |
É | ❖+⌥+e | ⌥+e + ⇧+e |
í | ⌥+i | ⌥+e + i |
Í | ❖+⌥+i | ⌥+e + ⇧+i |
ó | ⌥+o | ⌥+e + o |
Ó | ❖+⌥+o | ⌥+e + ⇧+o |
ú | ⌥+u | ⌥+e + u |
Ú | ❖+⌥+u | ⌥+e + ⇧+u |
ü | ^+u | ⌥+u + u |
Ü | ❖+^+u | ⌥+u + ⇧+u |
ñ | ⌥+n | ⌥+n + n |
Ñ | ❖+⌥+n | ⌥+n + ⇧+n |
Label | Windows |
---|---|
@ | ⌥+q |
Symbols and dev shortcuts for JS/TS.
Label | Windows |
---|---|
° | ^+# |
ª | ❖+^+# |
€ | ⌥+$ |
« | ❖+^+< |
» | ❖+^+> |
<= | ⌥+< |
>= | ⌥+> |
¡ | ❖+⌥+! |
¡░! | ❖+^+! |
¿ | ❖+⌥+? |
¿░? | ❖+^+? |
Label | Windows |
---|---|
++ | ⇧++ |
+= | ⌥++ |
-- | ⇧+- |
-= | ⌥+- |
** | ⇧+* |
*= | ⌥+* |
/= | ⌥+/ |
&& | ⇧+& |
&&= | ⌥+& |
|| | ⇧+| |
||= | ⌥+| |
?? | ⇧+? |
??= | ⌥+? |
=> | ⇧+= |
=== | ⌥+= |
!! | ⇧+! |
!== | ⌥+! |
Label | Windows | Action |
---|---|---|
<░/> | ❖+⌥+< | Angular brackets for React |
</░> | ❖+⌥+> | Angular brackets for HTML |
Label | Windows | Action |
---|---|---|
↻ | ↻ | Refresh |
⟳ | ⇧+↻ | Hard refresh (clean cache) |
⩸ | Open DevTools |
Quick navigation actions and numbers. Function keys works independently as a sub-layer to avoid shortcuts collisions.
Label | Windows | Action |
---|---|---|
△ | Up | |
▽ | Down | |
◁ | Left | |
▷ | Right | |
⇤ | Home | |
⇥ | End | |
⤒ | ^+⇤ | Beginning of document |
⤓ | ^+⇥ | End of document |
⇞ | Page up | |
⇟ | Page down | |
⇺ | Prev Tab | |
⇻ | Next Tab | |
⎗ | ⇧+⇺ | Prev desktop |
⎘ | ⇧+⇻ | Next desktop |
Label | Windows | Action |
---|---|---|
ⓘ | System Info | |
⛨ | ⇧+ⓘ | Windows Security |
▣ | Print Screen | |
⛢ | ⇧+▣ | Color Picker |
⎎ | File Explorer | |
↶ | Undo | |
↷ | Redo | |
⬚ | Cut | |
⿻ | Copy | |
⏍ | Paste | |
⛶ | ⇧+⏍ | Paste without format |
☉ | Find | |
☊ | ⇧+☉ | Replace |
Dedicated to Bluetooth and media controls.
Label | Action |
---|---|
B⏮️ | Prev device |
B⏭️ | Next device |
B#️⃣ | Jump to #️⃣ device |
B❌ | Clear current device |
🔎+ | Zoom in |
🔎R | Zoom reset |
🔎- | Zoom out |
🔊+ | Volume up |
🔈M | Mute |
🔉- | Volume down |
🔅 | Bright down |
🔆 | Bright up |
Label | Action |
---|---|
⏹️ | Stop |
⏪ | Fast reverse |
⏮️ | Prev |
⏯️ | Play/Pause |
⏭️ | Next |
⏩ | Fast Forward |
🔀 | Shuffle |
There's a small slider switch right underneath the USB-C connector which controls power. The keyboard is OFF when the sliders on both halves are on the left positions as shown in the following picture:
The keyboard is ON when the switch is slided to the right on both halves as shown in the following picture (a few blue led flashing fast indicate two halves are paring each other).
Please note that for the halves to connect correctly, the both must be turned on as closely to THE SAME TIME as possible; it's okay if there's one or two seconds of difference but try to keep it to a minimum.
To charge your boards you must put the half you want to charge in the ON position and connect it to a power source (it can be your computer) through the USB port.
You know it's charging if you see an orange led like the one in the following picture. The light turns off when charging is done.
Pressing it once resets the keyboard (power cycle so essentially equivalent to turning it off and then back on).
Pressing it twice quickly puts into programming mode, if you plug it into your computer it shows up as a USB device instead of a keyboard; you can then drag and drop or copy and paste your firmware file to update your keymap.
The wireless version of the Swept use ZMK as their firmware, you can find out more at ZMK docs
These pages will guide you to create your own keymap (follow them after your user-setup) customization and keymaps
Once you make changes to your keymap, you can download the firmware from the github actions tab of your repo. Since the keyboards come pre-flashed, you only need to flash the left half to change your keymaps. You can do it by following these steps:
-
Turn off both halves
-
Plug in the left half into your computer (without turning it on)
-
"Double tap" the reset button (blue led pulsing slowly), play around with the timing between taps since this might not work the first time. If you have trouble with this step, re-plug your board and try again, you might even need to use a different cable or port on your computer. You know this works if you see a blue light fading on and off coming from the nice nano.
-
After the previous step you should see a new storage device in your computer called nice!nano, as shown in the picture below. Drag and drop (or copy and paste) the firmware file
corne_left-nice_nano_v2-zmk.uf2
which you should have generated and downloaded by following the guides linked above. -
Wait until the storage device automatically disappears from your computer, this should not take longer than a few seconds.
-
Unplug the board from your computer
-
Follow the procedure in How to turn my keyboard on?
Color | Mode | Action |
---|---|---|
Blue | Pulsing slowly | bootloader mode (enter by double pressing reset button) |
Blue | Flashing fast | halves are paring each other |
Orange | Charging |
Needs ZMK PR Battery BLE and ZMK Split Battery
- Download and install AutoHotKey v2
To automatically run the scripts at startup:
- Create shortcuts to
startup.ahk
scripts located insideahk
folder - Press ❖+r and run this command
shell:startup
- Move the shortcut to this folder
Screencast mode notifications:
- CapsLock (On/Off)
- CapsWord (On/Off)
- Layer changing
- Momentary layer activation and deactivation
- Tray icons with current layer
- Current layer image as helper (close with ESC)
- corne-zmk-config - ZMK Colemak DHm layout
- VS Code - Code editing redefined.
- ZMK Docs - Modern, open source keyboard firmware
- Keymap Editor - GUI ZMK Keymap Editor
- Colemak Mods - Colemak-DH for a non-traditional, ergonomic keyboard
- AutoHotKey v2 - The ultimate automation scripting language for Windows
- Figma - The collaborative interface design tool
- Colemak Club - Learn Colemak Layout
- Monkeytype - A minimalistic typing test, featuring many test modes, an account system to save your typing speed history and user configurable features like themes, a smooth caret and more.
We use SemVer for versioning. For the versions available, see the swept-zmk-config on GitHub.
- Camilo Martinez [Equiman]
See also the list of contributors who participated in this project.
If this project helps you, consider buying me a cup of coffee.
This project is licensed under the MIT License - see the LICENSE file for details.