diff --git a/README.org b/README.org
index 39dacc0..20e75c3 100644
--- a/README.org
+++ b/README.org
@@ -5,7 +5,7 @@
[[https://shop.keyboard.io/collections/keyboardio-atreus/products/keyboardio-atreus][Keyboardio Atreus]] with Alpha Layer based on Colemak, more specifically the [[https://colemakmods.github.io/mod-dh/keyboards.html#matrix-keyboards][mod-DH for Matrix]] keyboard variant.
-This is modified for my personal environment with i3wm + Spacemacs!
+This is modified for my personal environment with i3wm + Spacemacs.
** The Layout
@@ -13,13 +13,13 @@ This is modified for my personal environment with i3wm + Spacemacs!
- alpha and shift layers work normally
- SYMBOLS and numbers are activated with right thumb (blue)
-- NAV layer (orange) activated by holding Backspace key
+- NAV layer (orange) is activated by holding Backspace key
- TAB and Enter keys work as extra Ctrl keys when hold for more than 250ms
- mouse movement with WASD (QWERTY) keys when holding M
- some additional utility keys are activated on hold (german umlaute, Ctrl+C,V,X,Z)
- [[https://kaleidoscope.readthedocs.io/en/latest/quick_start.html][Kaleidoscope Quick Start]]
-- blog article on customizing the Atreus for developers: https://www.gettommy.com/posts/my-ergonomic-40-percent-keyboard-layout-for-german-developers/#where-to-go-from-here
+- blog article on customizing the Atreus for (german) developers: https://www.gettommy.com/posts/my-ergonomic-40-percent-keyboard-layout-for-german-developers/#where-to-go-from-here
- typing practise: https://www.keybr.com/
- typing speedtest with layout emulator: https://monkeytype.com/
- [[http://www.keyboard-layout-editor.com/][Keyboard Layout Editor]]
@@ -32,7 +32,7 @@ This is modified for my personal environment with i3wm + Spacemacs!
** TODO
-- fully implement a sane extended layer like[[https://dreymar.colemak.org/layers-extend.html][ this]]
+- fully implement a sane extended layer like [[https://dreymar.colemak.org/layers-extend.html][this]]
- add mouse warping: https://kaleidoscope.readthedocs.io/en/latest/plugins/Kaleidoscope-MouseKeys.html#warping
- maybe completely remove the NAV and TAB keys
diff --git a/colemak-dhm.ino b/colemak-dhm.ino
index c02fc60..dfc8c0a 100644
--- a/colemak-dhm.ino
+++ b/colemak-dhm.ino
@@ -64,24 +64,24 @@ enum {
KEYMAPS(
[BASE] = KEYMAP_STACKED
(
- Key_de_Q ,Key_de_W ,Key_de_F ,Key_de_P ,Key_de_B
- ,Key_de_A ,Key_de_R ,Key_de_S ,Key_de_T ,Key_de_G
- ,Key_de_Y ,Key_de_X ,Key_de_C ,Key_de_D ,Key_de_V ,Key_de_Slash
- ,Key_de_Tab ,Key_de_Tab ,Key_LeftGui ,MO(SHIFT) ,Key_de_Spacebar ,Key_de_Escape
+ Key_de_Q ,Key_de_W ,Key_de_F ,Key_de_P ,Key_de_B
+ ,Key_de_A ,Key_de_R ,Key_de_S ,Key_de_T ,Key_de_G
+ ,Key_de_Y ,Key_de_X ,Key_de_C ,Key_de_D ,Key_de_V ,Key_de_Hash
+ ,Key_de_Tab ,Key_de_Tab ,Key_LeftGui ,MO(SHIFT) ,Key_de_Spacebar ,Key_de_Escape
,Key_de_J ,Key_de_L ,Key_de_U ,Key_de_Z ,Key_de_Semicolon
,Key_de_M ,Key_de_N ,Key_de_E ,Key_de_I ,Key_de_O
- ,Key_de_Backslash ,Key_de_K ,Key_de_H ,Key_de_Comma ,Key_de_Period ,Key_de_Slash
+ ,Key_de_LessThan ,Key_de_K ,Key_de_H ,Key_de_Comma ,Key_de_Period ,Key_de_Slash
,Key_de_LeftAlt ,MO(SYMBOLS) ,Key_de_Backspace ,MO(NAVI) ,MO(NAVI) ,Key_Enter
),
[SHIFT] = KEYMAP_STACKED
(
- LSHIFT(Key_de_Q) ,LSHIFT(Key_de_W) ,LSHIFT(Key_de_F) ,LSHIFT(Key_de_P) ,LSHIFT(Key_de_B)
- ,LSHIFT(Key_de_A) ,LSHIFT(Key_de_R) ,LSHIFT(Key_de_S) ,LSHIFT(Key_de_T) ,LSHIFT(Key_de_G)
- ,LSHIFT(Key_de_Y) ,LSHIFT(Key_de_X) ,LSHIFT(Key_de_C) ,LSHIFT(Key_de_D) ,LSHIFT(Key_de_V) ,Key_de_LessThan
- ,LSHIFT(Key_de_Tab) ,LSHIFT(Key_de_Tab) ,___ ,___ ,___ ,___
+ LSHIFT(Key_de_Q) ,LSHIFT(Key_de_W) ,LSHIFT(Key_de_F) ,LSHIFT(Key_de_P) ,LSHIFT(Key_de_B)
+ ,LSHIFT(Key_de_A) ,LSHIFT(Key_de_R) ,LSHIFT(Key_de_S) ,LSHIFT(Key_de_T) ,LSHIFT(Key_de_G)
+ ,LSHIFT(Key_de_Y) ,LSHIFT(Key_de_X) ,LSHIFT(Key_de_C) ,LSHIFT(Key_de_D) ,LSHIFT(Key_de_V) ,Key_de_LessThan
+ ,LSHIFT(Key_de_Tab) ,LSHIFT(Key_de_Tab) ,___ ,___ ,___ ,___
,LSHIFT(Key_de_J) ,LSHIFT(Key_de_L) ,LSHIFT(Key_de_U) ,LSHIFT(Key_de_Z) ,LSHIFT(Key_de_W)
@@ -92,16 +92,16 @@ KEYMAPS(
[SYMBOLS] = KEYMAP_STACKED
(
- Key_de_ExlamationMark ,Key_de_At ,Key_de_QuestionMark ,Key_de_Dollar ,Key_de_Percent
- ,Key_de_Tilde ,Key_de_LeftCurly ,Key_de_LeftParen ,Key_de_LeftBracket ,Key_de_Quote
- ,Key_de_Pipe ,Key_de_RightCurly ,Key_de_RightParen ,Key_de_RightBracket ,Key_de_DoubleQuote ,Key_de_LessThan
- ,___ ,Key_de_Insert ,___ ,Key_de_LeftShift ,Key_de_Spacebar ,Key_de_GreaterThan
+ Key_de_ExlamationMark ,Key_de_DoubleQuote ,Key_de_QuestionMark ,Key_de_Dollar ,Key_de_Percent
+ ,Key_de_Tilde ,Key_de_LeftCurly ,Key_de_LeftParen ,Key_de_LeftBracket ,Key_de_Quote
+ ,Key_de_Pipe ,Key_de_RightCurly ,Key_de_RightParen ,Key_de_RightBracket ,Key_de_DoubleQuote ,Key_de_At
+ ,___ ,___ ,___ ,Key_de_LeftShift ,Key_de_Spacebar ,___
- ,Key_de_Slash ,Key_de_7 ,Key_de_8 ,Key_de_9 ,Key_de_Plus
- ,Key_de_Asterisk ,Key_de_4 ,Key_de_5 ,Key_de_6 ,Key_de_Minus
- ,Key_de_GreaterThan ,Key_de_0 ,Key_de_1 ,Key_de_2 ,Key_de_3 ,Key_de_Slash
- ,Key_de_LeftAlt ,___ ,___ ,Key_de_Period ,Key_de_Comma ,Key_de_Equals
+ ,Key_de_Slash ,Key_de_7 ,Key_de_8 ,Key_de_9 ,Key_de_Plus
+ ,Key_de_Asterisk ,Key_de_4 ,Key_de_5 ,Key_de_6 ,Key_de_Minus
+ ,Key_de_GreaterThan ,Key_de_0 ,Key_de_1 ,Key_de_2 ,Key_de_3 ,Key_de_Equals
+ ,___ ,___ ,___ ,Key_de_Comma ,Key_de_Period ,Key_de_Equals
),
[NAVI] = KEYMAP_STACKED
@@ -187,10 +187,9 @@ const macro_t *macroAction(uint8_t macro_id, KeyEvent &event) {
void setup() {
QUKEYS(
//Qukey(layer, key_addr, alternate_key)
- //
//umlaute
- kaleidoscope::plugin::Qukey(BASE, KeyAddr(1, 2), Key_de_SS), // s -> ß
+ // kaleidoscope::plugin::Qukey(BASE, KeyAddr(1, 2), Key_de_SS), // s -> ß
kaleidoscope::plugin::Qukey(BASE, KeyAddr(1, 0), Key_de_AUml), // a -> ä
kaleidoscope::plugin::Qukey(SHIFT, KeyAddr(1, 0), LSHIFT(Key_de_AUml)), // A -> Ä
kaleidoscope::plugin::Qukey(BASE, KeyAddr(1, 11), Key_de_OUml), // o -> ö
@@ -204,11 +203,11 @@ void setup() {
kaleidoscope::plugin::Qukey(BASE, KeyAddr(1, 8), Key_de_Tilde), // n -> ~
//layer shifts/switches
- kaleidoscope::plugin::Qukey(BASE, KeyAddr(3, 0), Key_de_LeftControl), // shift to mouse controls
- kaleidoscope::plugin::Qukey(BASE, KeyAddr(3, 11), Key_de_LeftControl), // shift to mouse controls
- kaleidoscope::plugin::Qukey(BASE, KeyAddr(3, 5), Key_LeftGui), // shift to mouse controls
- kaleidoscope::plugin::Qukey(BASE, KeyAddr(1, 7), MO(MOUSE)), // shift to mouse controls
- kaleidoscope::plugin::Qukey(BASE, KeyAddr(3, 8), MO(NAVI)), // shift to mouse controls
+ kaleidoscope::plugin::Qukey(BASE, KeyAddr(3, 0), Key_de_LeftControl), // bottom left TAB to LCtrl
+ kaleidoscope::plugin::Qukey(BASE, KeyAddr(3, 11), Key_de_LeftControl), // bottom right Enter to LCtrl
+ kaleidoscope::plugin::Qukey(BASE, KeyAddr(3, 5), Key_LeftGui), // Esc to SUPER
+ kaleidoscope::plugin::Qukey(BASE, KeyAddr(1, 7), MO(MOUSE)), // M key to mouse layer
+ kaleidoscope::plugin::Qukey(BASE, KeyAddr(3, 8), MO(NAVI)), // Backspace to NAVI layer
//hold for "ctrl+" version of the key
kaleidoscope::plugin::Qukey(BASE, KeyAddr(2, 2), LCTRL(Key_de_C)), // c copy
@@ -216,9 +215,9 @@ void setup() {
kaleidoscope::plugin::Qukey(BASE, KeyAddr(2, 1), LCTRL(Key_de_X)), // x cut
kaleidoscope::plugin::Qukey(BASE, KeyAddr(2, 0), LCTRL(Key_de_Z)), // z undo
kaleidoscope::plugin::Qukey(BASE, KeyAddr(0, 10), LCTRL(Key_de_Y)), // y redo
- kaleidoscope::plugin::Qukey(BASE, KeyAddr(1, 3), LCTRL(Key_de_F)), // f find
- kaleidoscope::plugin::Qukey(BASE, KeyAddr(0, 8), LCTRL(Key_de_L)), // l select address bar
- kaleidoscope::plugin::Qukey(BASE, KeyAddr(1, 1), LCTRL(Key_de_R)), // r reload page
+ // kaleidoscope::plugin::Qukey(BASE, KeyAddr(1, 3), LCTRL(Key_de_F)), // f find
+ // kaleidoscope::plugin::Qukey(BASE, KeyAddr(0, 8), LCTRL(Key_de_L)), // l select address bar
+ // kaleidoscope::plugin::Qukey(BASE, KeyAddr(1, 1), LCTRL(Key_de_R)), // r reload page
//ease of use
// kaleidoscope::plugin::Qukey(BASE, KeyAddr(2, 9), Key_de_Semicolon), // semi-colon
@@ -226,18 +225,12 @@ void setup() {
//other
// kaleidoscope::plugin::Qukey(BASE, KeyAddr(3, 11), Key_de_LeftAlt), // esc -> alt
-
- /* todo:
- * p = print
- * s = save or leave ß
- * t = new tab
- * n = new page/browser window/doc or leave ~
- */
)
//Qukey settings
- Qukeys.setHoldTimeout(250);
- Qukeys.setOverlapThreshold(80);
+ Qukeys.setHoldTimeout(490);
+ Qukeys.setMaxIntervalForTapRepeat(100);
+ Qukeys.setOverlapThreshold(50);
Kaleidoscope.setup();
SpaceCadet.disable();
EEPROMKeymap.setup(10);
diff --git a/keyboard-layout-colemak-DHm.json b/keyboard-layout-colemak-DHm.json
index 3465135..b74eb61 100644
--- a/keyboard-layout-colemak-DHm.json
+++ b/keyboard-layout-colemak-DHm.json
@@ -31,7 +31,18 @@
"y": -0.09999999999999998,
"x": 2,
"t": "#267dff\n#1fa12e\n\n\n\n\n\n\n\n000000",
- "f2": 5
+ "fa": [
+ 1,
+ 5,
+ 0,
+ 1,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 5
+ ]
},
"?\n\n\n\n\n\n\n\n\nF"
],
@@ -42,7 +53,7 @@
"t": "#267dff\n\n\n\n\n\n\n\n\n000000",
"f": 3
},
- "@\n\n\n\n\n\n\n\n\nW",
+ "\"\n\n\n\n\n\n\n\n\nW",
{
"x": 1,
"f": 3
@@ -56,7 +67,7 @@
"fa": [
0,
5,
- 5,
+ 0,
1
]
},
@@ -78,7 +89,7 @@
"fa": [
0,
5,
- 5,
+ 0,
1,
0,
0,
@@ -149,21 +160,19 @@
"|\n\n\n\n\n\n\n\n\nY",
{
"x": 4,
- "t": "#000000",
- "a": 5
+ "t": "#267dff"
},
- "<\n\n\n\n\n\n/"
+ "@\n\n\n\n\n\n\n\n\n#"
],
[
{
"y": -0.8999999999999999,
"x": 4,
"t": "#267dff\n\n\n#c76c00\n#b906d6",
- "a": 4,
"fa": [
0,
5,
- 5,
+ 0,
2
]
},
@@ -231,7 +240,7 @@
"a": 5,
"f": 3
},
- ">\n\n\n\n\n\n\\"
+ ">\n\n\n\n\n\n<"
],
[
{
@@ -319,7 +328,7 @@
{
"y": -0.75,
"x": 4,
- "t": "#267dff\n\n\n#c76c00\n#b906d6\n\n\n\n\n000000\n#b906d6",
+ "t": "#267dff\n\n\n#c76c00\n\n\n\n\n\n000000\n#b906d6",
"fa": [
0,
0,
@@ -368,11 +377,11 @@
{
"y": -0.7500000000000004,
"x": 4,
- "t": "#000000",
+ "t": "#267dff",
"sm": "alps",
"sb": "matias"
},
- "\n\n\n\n\n\n\n\n\n/"
+ "=\n\n\n\n\n\n\n\n\n/"
],
[
{
@@ -386,9 +395,14 @@
"y": -0.6999999999999997,
"x": 2,
"c": "#c76c00",
- "t": "#000000"
+ "t": "#267dff",
+ "sm": "cherry",
+ "sb": "nimxo",
+ "fa": [
+ 4
+ ]
},
- "\n\n\n\n\n\n\n\n\nNAV"
+ ",\n\n\n\n\n\n\n\n\nNAV"
],
[
{
@@ -396,6 +410,8 @@
"x": 1,
"c": "#cccccc",
"t": "#000000\n\n\n\n#b906d6",
+ "sm": "alps",
+ "sb": "matias",
"a": 5,
"fa": [
0,
@@ -411,17 +427,22 @@
{
"x": 1,
"c": "#c76c00",
- "t": "#000000",
- "a": 4
+ "t": "#267dff",
+ "a": 4,
+ "fa": [
+ 4
+ ]
},
- "\n\n\n\n\n\n\n\n\nNAV"
+ ".\n\n\n\n\n\n\n\n\nNAV"
],
[
{
"y": -0.8650000000000002,
"x": -1,
"c": "#cccccc",
- "a": 7
+ "t": "#000000",
+ "a": 7,
+ "f": 3
},
"Alt"
],
@@ -429,17 +450,20 @@
{
"y": -0.8849999999999998,
"x": 4,
- "t": "#000000\n\n\n\n#b906d6",
- "f": 8
+ "t": "#267dff\n\n\n\n#b906d6",
+ "a": 4,
+ "f": 8,
+ "fa": [
+ 4
+ ]
},
- "\n\n\n\nCtrl"
+ "=\n\n\n\nCtrl\n\n\n\n\n"
],
[
{
"y": -0.9000000000000004,
"c": "#267dff",
"t": "#000000\n#00ff19",
- "a": 4,
"f": 3,
"fa": [
0,
diff --git a/keyboard-layout-colemak-DHm.png b/keyboard-layout-colemak-DHm.png
index 6cfcb96..f17f1be 100644
Binary files a/keyboard-layout-colemak-DHm.png and b/keyboard-layout-colemak-DHm.png differ