I’ve been happily mucking about with a modified Colemak layout for my new Keyboardio Atreus and wanted to share. I’ve mostly been using Chrysalis, which is nice, if a bit unstable (about 1 in 1066 uploads to the board, the upload to the keyboard fails and the app goes to a white screen.)
The layout is optimized for macOS and makes heavy use of the Modifier when held … (in Chrysalis) option / Qukeys plugin (in Kaleidoscope).
Layout
The left home row [A] [R] [S] [T] uses Qukeys to emit [Shift] [CTRL] [ALT] [GUI] keys (and the right home row mirrors this.)
Now I don’t have to move my fingers off of the home row to access the modifier keys (or numbers for that matter, as 1, 2, … through 0 are on the home row of layer #1.)
I’m really quite pleased with the layout and the ergonomics of it. I’ll try living with it for a while and see how it evolves (as I’m not so sure about the placement of the [-] [=] keys and expect that I’ve forgotten to map some essential keys in the process.) Also, perhaps I should move the layer shifts in the bottom row to the [D] and [H] keys instead.
Layer 0
Layer 1
The only awkward bits were:
- Figuring out that the GUI key is the Command key for macOS
- Figuring out that Lock layer to also unlocks a layer.
- Copying the layer map every time that I made a significant change (as I was worried that one of the Chrysalis hangs would result in me needing to reset the board to factory settings.)
Layer 0 JSON
{
"keymap": [
{
"keyCode": 20,
"label": "Q"
},
{
"keyCode": 26,
"label": "W"
},
{
"keyCode": 9,
"label": "F"
},
{
"keyCode": 19,
"label": "P"
},
{
"keyCode": 10,
"label": "G"
},
{
"keyCode": 0,
"label": "Blocked",
"verbose": "Disabled"
},
{
"keyCode": 0,
"label": "Blocked",
"verbose": "Disabled"
},
{
"keyCode": 13,
"label": "J"
},
{
"keyCode": 15,
"label": "L"
},
{
"keyCode": 24,
"label": "U"
},
{
"keyCode": 28,
"label": "Y"
},
{
"keyCode": 51,
"label": ";"
},
{
"keyCode": 49429,
"label": "A",
"extraLabel": "SHIFT/"
},
{
"keyCode": 49190,
"label": "R",
"extraLabel": "CTRL/"
},
{
"keyCode": 49703,
"label": "S",
"extraLabel": "ALT/"
},
{
"keyCode": 49960,
"label": "T",
"extraLabel": "GUI/"
},
{
"keyCode": 7,
"label": "D"
},
{
"keyCode": 0,
"label": "Blocked",
"verbose": "Disabled"
},
{
"keyCode": 0,
"label": "Blocked",
"verbose": "Disabled"
},
{
"keyCode": 11,
"label": "H"
},
{
"keyCode": 49954,
"label": "N",
"extraLabel": "GUI/"
},
{
"keyCode": 49689,
"label": "E",
"extraLabel": "ALT/"
},
{
"keyCode": 49181,
"label": "I",
"extraLabel": "CTRL/"
},
{
"keyCode": 49443,
"label": "O",
"extraLabel": "SHIFT/"
},
{
"keyCode": 29,
"label": "Z"
},
{
"keyCode": 27,
"label": "X"
},
{
"keyCode": 6,
"label": "C"
},
{
"keyCode": 25,
"label": "V"
},
{
"keyCode": 5,
"label": "B"
},
{
"keyCode": 17409,
"label": "1",
"extraLabel": "LockTo"
},
{
"keyCode": 41,
"label": "Esc"
},
{
"keyCode": 14,
"label": "K"
},
{
"keyCode": 16,
"label": "M"
},
{
"keyCode": 54,
"label": ","
},
{
"keyCode": 55,
"label": "."
},
{
"keyCode": 56,
"label": "/"
},
{
"keyCode": 22710,
"label": "Track-",
"extraLabel": "Media",
"verbose": "Prev. track"
},
{
"keyCode": 22733,
"label": "Play",
"extraLabel": "Media",
"verbose": "Play / pause"
},
{
"keyCode": 22709,
"label": "Track+",
"extraLabel": "Media",
"verbose": "Next track"
},
{
"keyCode": 51527,
"label": "`",
"extraLabel": "L#1/"
},
{
"keyCode": 40,
"label": "Enter"
},
{
"keyCode": 42,
"label": "Bksp",
"verbose": "Backspace"
},
{
"keyCode": 43,
"label": "Tab"
},
{
"keyCode": 44,
"label": "Space"
},
{
"keyCode": 51526,
"label": "'",
"extraLabel": "L#1/"
},
{
"keyCode": 45,
"label": "-"
},
{
"keyCode": 46,
"label": "="
},
{
"keyCode": 49,
"label": "\\"
}
],
"palette": []
}
Layer 1 JSON
{
"keymap": [
{
"keyCode": 58,
"label": "F1"
},
{
"keyCode": 59,
"label": "F2"
},
{
"keyCode": 60,
"label": "F3"
},
{
"keyCode": 61,
"label": "F4"
},
{
"keyCode": 62,
"label": "F5"
},
{
"keyCode": 0,
"label": "Blocked",
"verbose": "Disabled"
},
{
"keyCode": 0,
"label": "Blocked",
"verbose": "Disabled"
},
{
"keyCode": 63,
"label": "F6"
},
{
"keyCode": 64,
"label": "F7"
},
{
"keyCode": 65,
"label": "F8"
},
{
"keyCode": 66,
"label": "F9"
},
{
"keyCode": 67,
"label": "F10"
},
{
"keyCode": 49455,
"label": "1",
"extraLabel": "SHIFT/"
},
{
"keyCode": 49200,
"label": "2",
"extraLabel": "CTRL/"
},
{
"keyCode": 49713,
"label": "3",
"extraLabel": "ALT/"
},
{
"keyCode": 49970,
"label": "4",
"extraLabel": "GUI/"
},
{
"keyCode": 34,
"label": "5",
"extraLabel": "%"
},
{
"keyCode": 0,
"label": "Blocked",
"verbose": "Disabled"
},
{
"keyCode": 0,
"label": "Blocked",
"verbose": "Disabled"
},
{
"keyCode": 35,
"label": "6",
"extraLabel": "^"
},
{
"keyCode": 49973,
"label": "7",
"extraLabel": "GUI/"
},
{
"keyCode": 49718,
"label": "8",
"extraLabel": "ALT/"
},
{
"keyCode": 49207,
"label": "9",
"extraLabel": "CTRL/"
},
{
"keyCode": 49464,
"label": "0",
"extraLabel": "SHIFT/"
},
{
"keyCode": 65535,
"label": "",
"verbose": "Transparent"
},
{
"keyCode": 82,
"label": "↑"
},
{
"keyCode": 65535,
"label": "",
"verbose": "Transparent"
},
{
"keyCode": 47,
"label": "["
},
{
"keyCode": 2086,
"label": "("
},
{
"keyCode": 17409,
"label": "1",
"extraLabel": "LockTo"
},
{
"keyCode": 65535,
"label": "",
"verbose": "Transparent"
},
{
"keyCode": 2087,
"label": ")"
},
{
"keyCode": 48,
"label": "]"
},
{
"keyCode": 65535,
"label": "",
"verbose": "Transparent"
},
{
"keyCode": 82,
"label": "↑"
},
{
"keyCode": 65535,
"label": "",
"verbose": "Transparent"
},
{
"keyCode": 80,
"label": "←"
},
{
"keyCode": 81,
"label": "↓"
},
{
"keyCode": 79,
"label": "→"
},
{
"keyCode": 65535,
"label": "",
"verbose": "Transparent"
},
{
"keyCode": 65535,
"label": "",
"verbose": "Transparent"
},
{
"keyCode": 65535,
"label": "",
"verbose": "Transparent"
},
{
"keyCode": 65535,
"label": "",
"verbose": "Transparent"
},
{
"keyCode": 65535,
"label": "",
"verbose": "Transparent"
},
{
"keyCode": 65535,
"label": "",
"verbose": "Transparent"
},
{
"keyCode": 80,
"label": "←"
},
{
"keyCode": 81,
"label": "↓"
},
{
"keyCode": 79,
"label": "→"
}
],
"palette": []
}