aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.c28
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.md6
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.c28
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.md8
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.c28
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.md8
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.c30
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.md39
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.c52
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h11
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.md26
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.c28
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.md6
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h11
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c61
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h8
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/readme.md209
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.c183
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h54
19 files changed, 508 insertions, 316 deletions
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.c
index d4fe34826..38b4c3713 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.c
@@ -106,25 +106,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
106# else 106# else
107 , CHOLTAP_ACCE , DUO_HOLD 107 , CHOLTAP_ACCE , DUO_HOLD
108# endif 108# endif
109 , LT__MOV__KC_ENT 109 , LEFTCENTER_THUMB
110 110
111# ifdef TRANSMINIVAN_MIDLEFT 111# ifdef TRANSMINIVAN_MIDLEFT
112 , TRANS_MIDLEFT 112 , TRANS_MIDLEFT
113# endif 113# endif
114 114
115 , KC_SPC , DUO_HOLD , KC__YGUI 115 , RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
116 116
117# ifdef TRANSMINIVAN_RIGHTSIDE 117# ifdef TRANSMINIVAN_RIGHTSIDE
118 , MO ( _FUN ) 118 , MO ( _FUN )
119# endif 119# endif
120 120
121# ifdef MORE_KEY__ARROW 121# ifdef MORE_KEY__ARROW
122 , MORE_key2 122 , MORE_key2
123# endif 123# endif
124 124
125 , CHOLTAP_LAYR 125 , CHOLTAP_LAYR
126// , , , <|,> , , , 126// , , , <|,> , , ,
127// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1> 127// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
128 128
129 ), 129 ),
130 130
@@ -149,7 +149,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
149 -*- <|> //(toggle) Access on _FUN 149 -*- <|> //(toggle) Access on _FUN
150 BASE ! @ # $ % | ^ & * ( ) Del 150 BASE ! @ # $ % | ^ & * ( ) Del
151 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl 151 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
152 -+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht // limitation prevents ~ 152 -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
153 ^^ ^ // Only differences with normal version _..._NSY 153 ^^ ^ // Only differences with normal version _..._NSY
154 --------------------------------------------------------------------------- 154 ---------------------------------------------------------------------------
155 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt 155 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
@@ -164,7 +164,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
164// , -*- , , , , <|,> , , , , , , 164// , -*- , , , , <|,> , , , , , ,
165 CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL , 165 CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
166 LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) , 166 LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
167 LSFT_T ( KC_MINS ) , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_T ( KC_TILD ) , 167 LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE ,
168// --------------------------------------------------------------------------------------------------------------------------------------------- 168// ---------------------------------------------------------------------------------------------------------------------------------------------
169 LALT_T ( KC_LEFT ) 169 LALT_T ( KC_LEFT )
170 170
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.md
index 1cafd7ddf..e09532bab 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.md
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_colemak.md
@@ -16,7 +16,7 @@ Colemak keymaps
16![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_colemak_ve.jpg) 16![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_colemak_ve.jpg)
17Layer: `..._BASE` 17Layer: `..._BASE`
18 18
19![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vb.jpg) 19![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vc.jpg)
20Layer: `..._NSY` 20Layer: `..._NSY`
21 21
22──────────in common──────────── 22──────────in common────────────
@@ -25,7 +25,7 @@ Layer: `..._NSY`
25 25
26For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅ 26For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
27 27
28![Minivan illustration Overview layers by key, Colemak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_colemak_2000_vh.jpg) 28![Minivan illustration Overview layers by key, Colemak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_colemak_2000_vi.jpg)
29 29
30Layers (text) 30Layers (text)
31============= 31=============
@@ -79,7 +79,7 @@ Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>)
79 -*- <|> //(toggle) Access on _FUN 79 -*- <|> //(toggle) Access on _FUN
80 BASE ! @ # $ % | ^ & * ( ) Del 80 BASE ! @ # $ % | ^ & * ( ) Del
81 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl 81 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
82 -+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht // limitation prevents ~ 82 -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
83 ^^ ^ // Only differences with Dvorak version _DEF_NSY 83 ^^ ^ // Only differences with Dvorak version _DEF_NSY
84 --------------------------------------------------------------------------- 84 ---------------------------------------------------------------------------
85 Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt 85 Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.c
index be9685632..22f62cc83 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.c
@@ -107,25 +107,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
107 , CHOLTAP_ACCE , DUO_HOLD 107 , CHOLTAP_ACCE , DUO_HOLD
108# endif 108# endif
109 109
110 , LT__MOV__KC_ENT 110 , LEFTCENTER_THUMB
111 111
112# ifdef TRANSMINIVAN_MIDLEFT 112# ifdef TRANSMINIVAN_MIDLEFT
113 , TRANS_MIDLEFT 113 , TRANS_MIDLEFT
114# endif 114# endif
115 115
116 , KC_SPC , DUO_HOLD , KC__YGUI 116 , RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
117 117
118# ifdef TRANSMINIVAN_RIGHTSIDE 118# ifdef TRANSMINIVAN_RIGHTSIDE
119 , MO ( _FUN ) 119 , MO ( _FUN )
120# endif 120# endif
121 121
122# ifdef MORE_KEY__ARROW 122# ifdef MORE_KEY__ARROW
123 , MORE_key2 123 , MORE_key2
124# endif 124# endif
125 125
126 , CHOLTAP_LAYR 126 , CHOLTAP_LAYR
127// , , , <|,> , , , 127// , , , <|,> , , ,
128// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1> 128// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
129 129
130 ), 130 ),
131 131
@@ -150,7 +150,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
150 -*- <|> //(toggle) Access on _FUN 150 -*- <|> //(toggle) Access on _FUN
151 BASE ! @ # $ % | ^ & * ( ) Del 151 BASE ! @ # $ % | ^ & * ( ) Del
152 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl 152 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
153 -+LSht [{ ]} /? \| =+ | + | ? { } `~+RSht // limitation prevents ~ 153 -+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
154 --------------------------------------------------------------------------- 154 ---------------------------------------------------------------------------
155 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt 155 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
156 -*- <|> -*- //(hold) Access on _..._BASE 156 -*- <|> -*- //(hold) Access on _..._BASE
@@ -163,7 +163,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
163// , -*- , , , , <|,> , , , , , , 163// , -*- , , , , <|,> , , , , , ,
164 CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL , 164 CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
165 LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) , 165 LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
166 LSFT_T ( KC_MINS ) , KC_LBRC , KC_RBRC , KC_SLSH , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_QUES , KC_LCBR , KC_RCBR , RSFT_T ( KC_TILD ) , 166 LSFT_DASH , KC_LBRC , KC_RBRC , KC_SLSH , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_QUES , KC_LCBR , KC_RCBR , RSFT_TILDE ,
167// --------------------------------------------------------------------------------------------------------------------------------------------- 167// ---------------------------------------------------------------------------------------------------------------------------------------------
168 LALT_T ( KC_LEFT ) 168 LALT_T ( KC_LEFT )
169 169
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.md
index 0dabcc7ad..fb2c48b86 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.md
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak.md
@@ -14,7 +14,7 @@ Dvorak keymaps
14![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_dvorak_ve.jpg) 14![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_dvorak_ve.jpg)
15Layer: `..._BASE` 15Layer: `..._BASE`
16 16
17![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_dvorak_vb.jpg) 17![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_dvorak_vc.jpg)
18Layer: `..._NSY` 18Layer: `..._NSY`
19 19
20──────────in common──────────── 20──────────in common────────────
@@ -23,7 +23,7 @@ Layer: `..._NSY`
23 23
24For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅ 24For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
25 25
26![Minivan illustration Overview layers by key, Dvorak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_dvorak_2000_vh.jpg) 26![Minivan illustration Overview layers by key, Dvorak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_dvorak_2000_vi.jpg)
27 27
28Layers (text) 28Layers (text)
29============= 29=============
@@ -74,7 +74,7 @@ Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>)
74 -*- <|> //(toggle) Access on _FUN 74 -*- <|> //(toggle) Access on _FUN
75 BASE ! @ # $ % | ^ & * ( ) Del 75 BASE ! @ # $ % | ^ & * ( ) Del
76 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl 76 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
77 -+LSht [{ ]} /? \| =+ | + | ? { } `~+RSht // limitation prevents ~ 77 -+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
78 --------------------------------------------------------------------------- 78 ---------------------------------------------------------------------------
79 Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt 79 Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
80 -*- <|> -*- //(hold) Access on _DEF_BASE 80 -*- <|> -*- //(hold) Access on _DEF_BASE
@@ -88,5 +88,5 @@ Key associations
88---------------- 88----------------
89Key placement associations between layers for Dvorak. 89Key placement associations between layers for Dvorak.
90 90
91![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_dvorak_1500_vd.jpg) 91![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_dvorak_1500_ve.jpg)
92 92
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.c
index 78ad63ca6..c686704a4 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.c
@@ -149,25 +149,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
149 , CHOLTAP_ACCE , DUO_HOLD 149 , CHOLTAP_ACCE , DUO_HOLD
150# endif 150# endif
151 151
152 , LT__MOV__KC_ENT 152 , LEFTCENTER_THUMB
153 153
154# ifdef TRANSMINIVAN_MIDLEFT 154# ifdef TRANSMINIVAN_MIDLEFT
155 , TRANS_MIDLEFT 155 , TRANS_MIDLEFT
156# endif 156# endif
157 157
158 , KC_SPC , DUO_HOLD , KC__YGUI 158 , RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
159 159
160# ifdef TRANSMINIVAN_RIGHTSIDE 160# ifdef TRANSMINIVAN_RIGHTSIDE
161 , MO ( _FUN ) 161 , MO ( _FUN )
162# endif 162# endif
163 163
164# ifdef MORE_KEY__ARROW 164# ifdef MORE_KEY__ARROW
165 , MORE_key2 165 , MORE_key2
166# endif 166# endif
167 167
168 , CHOLTAP_LAYR 168 , CHOLTAP_LAYR
169// , , , <|,> , , , 169// , , , <|,> , , ,
170// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1> 170// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
171 171
172 ), 172 ),
173 173
@@ -188,7 +188,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
188 -*- <|> //(toggle) Access on _FUN 188 -*- <|> //(toggle) Access on _FUN
189 BASE ! @ # $ % | ^ & * ( ) Del 189 BASE ! @ # $ % | ^ & * ( ) Del
190 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl 190 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
191 -+LSht -_ =+ [{ \| ]} | } | { _ + `~+RSht // row 2, raw 191 -+LSht -_ =+ [{ \| ]} | } | { _ + ~+RSht // row 2, raw
192 --------------------------------------------------------------------------- 192 ---------------------------------------------------------------------------
193 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt 193 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
194 -*- <|> -*- //(hold) Access on _DEF_BASE 194 -*- <|> -*- //(hold) Access on _DEF_BASE
@@ -205,7 +205,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
205// , -*- , , , , <|,> , , , , -*- , , 205// , -*- , , , , <|,> , , , , -*- , ,
206 CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL , 206 CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
207 LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) , 207 LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
208 LSFT_T ( KC_MINS ) , KC_MINS , KC_EQL , KC_LBRC , KC_BSLS , KC_RBRC , KC_RCBR , KC_PIPE , KC_LCBR , KC_UNDS , KC_PLUS , RSFT_T ( KC_TILD ) , 208 LSFT_DASH , KC_MINS , KC_EQL , KC_LBRC , KC_BSLS , KC_RBRC , KC_RCBR , KC_PIPE , KC_LCBR , KC_UNDS , KC_PLUS , RSFT_TILDE ,
209// -------------------------------------------------------------------------------------------------------------------------------------------- 209// --------------------------------------------------------------------------------------------------------------------------------------------
210 LALT_T ( KC_LEFT ) 210 LALT_T ( KC_LEFT )
211 211
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.md
index 74b69f7ed..c9a81fc08 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.md
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_dvorak_descramble.md
@@ -18,7 +18,7 @@ Dvorak² keymaps
18![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_dvorak_ve.jpg) 18![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_dvorak_ve.jpg)
19Layer: `..._BASE` 19Layer: `..._BASE`
20 20
21![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_dvorak_vb.jpg) 21![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_dvorak_vc.jpg)
22Layer: `..._NSY` 22Layer: `..._NSY`
23 23
24──────────in common──────────── 24──────────in common────────────
@@ -27,7 +27,7 @@ Layer: `..._NSY`
27 27
28For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅ 28For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
29 29
30![Minivan illustration Overview layers by key, Dvorak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_dvorak_2000_vh.jpg) 30![Minivan illustration Overview layers by key, Dvorak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_dvorak_2000_vi.jpg)
31 31
32Layers (text) 32Layers (text)
33============= 33=============
@@ -78,7 +78,7 @@ Layers (text)
78 -*- <|> //(toggle) Access on _FUN 78 -*- <|> //(toggle) Access on _FUN
79 BASE ! @ # $ % | ^ & * ( ) Del 79 BASE ! @ # $ % | ^ & * ( ) Del
80 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl 80 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
81 -+LSht -_ =+ [{ \| ]} | } | { _ + `~+RSht // row 2, raw 81 -+LSht -_ =+ [{ \| ]} | } | { _ + ~+RSht // row 2, raw
82 --------------------------------------------------------------------------- 82 ---------------------------------------------------------------------------
83 Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt 83 Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
84 -*- <|> -*- //(hold) Access on _DEF_BASE 84 -*- <|> -*- //(hold) Access on _DEF_BASE
@@ -131,5 +131,5 @@ Key associations
131---------------- 131----------------
132Key placement associations between layers for Dvorak. 132Key placement associations between layers for Dvorak.
133 133
134![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_dvorak-descramble_1500_vd.jpg) 134![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_dvorak-descramble_1500_ve.jpg)
135 135
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.c
index 472233073..0814070f3 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.c
@@ -107,25 +107,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
107 , CHOLTAP_ACCE , DUO_HOLD 107 , CHOLTAP_ACCE , DUO_HOLD
108# endif 108# endif
109 109
110 , LT__MOV__KC_ENT 110 , LEFTCENTER_THUMB
111 111
112# ifdef TRANSMINIVAN_MIDLEFT 112# ifdef TRANSMINIVAN_MIDLEFT
113 , TRANS_MIDLEFT 113 , TRANS_MIDLEFT
114# endif 114# endif
115 115
116 , KC_SPC , DUO_HOLD , KC__YGUI 116 , RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
117 117
118# ifdef TRANSMINIVAN_RIGHTSIDE 118# ifdef TRANSMINIVAN_RIGHTSIDE
119 , MO ( _FUN ) 119 , MO ( _FUN )
120# endif 120# endif
121 121
122# ifdef MORE_KEY__ARROW 122# ifdef MORE_KEY__ARROW
123 , MORE_key2 123 , MORE_key2
124# endif 124# endif
125 125
126 , CHOLTAP_LAYR 126 , CHOLTAP_LAYR
127// , , , <|,> , , , 127// , , , <|,> , , ,
128// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1> 128// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
129 129
130 ), 130 ),
131 131
@@ -150,7 +150,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
150 -*- <|> //(toggle) Access on _FUN 150 -*- <|> //(toggle) Access on _FUN
151 BASE ! @ # $ % | ^ & * ( ) Del 151 BASE ! @ # $ % | ^ & * ( ) Del
152 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl 152 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
153 -+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht // limitation prevents ~ 153 -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
154 ^^ ^ // Only differences with normal version _..._NSY 154 ^^ ^ // Only differences with normal version _..._NSY
155 --------------------------------------------------------------------------- 155 ---------------------------------------------------------------------------
156 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt 156 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
@@ -168,11 +168,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
168// Harmonizes with ‛Qwerty Base Arrow’, so that if both are compiled, the user isn't 168// Harmonizes with ‛Qwerty Base Arrow’, so that if both are compiled, the user isn't
169// messing up this key on this Qwerty layout, which has to be different in the other Qwerty. 169// messing up this key on this Qwerty layout, which has to be different in the other Qwerty.
170# ifdef QWERTY_BASEARROW_HARMONIZE 170# ifdef QWERTY_BASEARROW_HARMONIZE
171 , KC_SLSH , // Same as in ‛Qwerty Base Arrow’ 171 , KC_SLSH , // Same as in ‛Qwerty Base Arrow’. A ‛`’ exists on _BON also.
172# else 172# else
173 , RCTL_T ( KC_GRV ) , // Default 173 , RCTL_T ( KC_GRV ) , // Default
174# endif 174# endif
175 LSFT_T ( KC_MINS ) , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_T ( KC_TILD ) , 175 LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE ,
176// --------------------------------------------------------------------------------------------------------------------------------------------- 176// ---------------------------------------------------------------------------------------------------------------------------------------------
177 LALT_T ( KC_LEFT ) 177 LALT_T ( KC_LEFT )
178 178
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.md
index b140981ec..6eda19175 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.md
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty.md
@@ -6,6 +6,34 @@ Compiled for: Qwerty
6This file details the compile version `#define BASE_QWERTY__DEF_BASE, BASE_QWERTY__ALT_BASE`. 6This file details the compile version `#define BASE_QWERTY__DEF_BASE, BASE_QWERTY__ALT_BASE`.
7This is a Qwerty layout. 7This is a Qwerty layout.
8 8
9Dual layout combination with Qwerty Base Arrow
10==============================================
11⚠ If you also compile `base_qwerty_basearrow`, the key for `/?` on `_NSY` layer in that
12`base_qwerty_basearrow` layout, will be replicated in _this_ Qwerty layout on the `_NSY`
13layer. It will displace the key `RCTL_T ( KC_GRV )`. Right Control, unless tapped for
14‛\`’ or tapped with shift for ‛~’ ➡ becomes `/?` (slash/questionmark).
15
16The reason for this is that when you switch from one or the other Qwerty variation
17(with or without arrows on ‛Base’ layer), it will likely be confusing to type ‛/?’
18on that key in one version of Qwerty, and suddenly get a ‛\`~’ in the other. The reason
19it is not in the normal position on ‛Qwerty Base Arrow’, is because it gets displaced
20by ‛Up Arrow’.
21
22You will likely switch from the Base Arrow variation to the regular version, due to a need
23for the row of keys displaced by the arrow cluster, or the other way around to get Base
24access to the arrows, rather than a need for this side effect: ‛/?’ being substituted for
25‛\`~’.
26
27This means you will loose `_NSY` layer access to ‛\`’, in both versions of Qwerty. You will
28 have to use the key for ‛\`~’ on the `_BON` layer, which is an uncluttered version of this
29key (it repeats). It also means that you have two keys toward ‛/?’ in standard Qwerty: the
30default position for Qwerty, and this additional one to harmonize with ‛Qwerty Base Arrow’.
31
32This harmonization can be disabled in ![./base_qwerty_basearrow.h](./base_qwerty_basearrow.h),
33with `QWERTY_BASEARROW_HARMONIZE`.
34
35See also: ![./base_qwerty_basearrow.md](./base_qwerty_basearrow.md)
36
9Qwerty keymaps 37Qwerty keymaps
10-------------- 38--------------
11 39
@@ -14,7 +42,7 @@ Qwerty keymaps
14![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_qwerty_ve.jpg) 42![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_qwerty_ve.jpg)
15Layer: `..._BASE` 43Layer: `..._BASE`
16 44
17![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vb.jpg) 45![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vc.jpg)
18Layer: `..._NSY` 46Layer: `..._NSY`
19 47
20──────────in common──────────── 48──────────in common────────────
@@ -23,7 +51,7 @@ Layer: `..._NSY`
23 51
24For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅ 52For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
25 53
26![Minivan illustration Overview layers by key, Qwerty](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_qwerty_2000_vh.jpg) 54![Minivan illustration Overview layers by key, Qwerty](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_qwerty_2000_vi.jpg)
27 55
28Layers (text) 56Layers (text)
29============= 57=============
@@ -77,9 +105,8 @@ Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>)
77 <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2> 105 <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
78 -*- <|> //(toggle) Access on _FUN 106 -*- <|> //(toggle) Access on _FUN
79 BASE ! @ # $ % | ^ & * ( ) Del 107 BASE ! @ # $ % | ^ & * ( ) Del
80 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl 108 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl // `~+RCtl becomes /? in dual …
81 -+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht // limitation prevents ~ 109 -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht // … layout with Qwerty Base Arrow
82 ^^ ^ // Only differences with Dvorak version _DEF_NSY
83 --------------------------------------------------------------------------- 110 ---------------------------------------------------------------------------
84 Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt 111 Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
85 -*- <|> -*- u //(hold) Access on _DEF_BASE 112 -*- <|> -*- u //(hold) Access on _DEF_BASE
@@ -95,6 +122,6 @@ Key associations
95---------------- 122----------------
96Key placement associations between layers for Qwerty. 123Key placement associations between layers for Qwerty.
97 124
98![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_qwerty_1500_vd.jpg) 125![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_qwerty_1500_ve.jpg)
99 126
100 127
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.c
index 10ef88b4d..674f16c85 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.c
@@ -141,30 +141,30 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
141 , CHOLTAP_ACCE , DUO_HOLD 141 , CHOLTAP_ACCE , DUO_HOLD
142# endif 142# endif
143 143
144 , LT__MOV__KC_ENT 144 , LEFTCENTER_THUMB
145 145
146# ifdef TRANSMINIVAN_MIDLEFT 146# ifdef TRANSMINIVAN_MIDLEFT
147 , TRANS_MIDLEFT 147 , TRANS_MIDLEFT
148# endif 148# endif
149 149
150 , KC_SPC , DUO_HOLD 150 , RIGHTCENTER_THUMB , DUO_HOLD
151 151
152# ifdef TRANSMINIVAN_RIGHTSIDE 152# ifdef TRANSMINIVAN_RIGHTSIDE
153 , MO ( _FUN ) 153 , MO ( _FUN )
154# endif 154# endif
155 155
156 , KC_LEFT 156 , KC_LEFT
157 // , KC__YGUI 157 // , KC__YGUI
158 158
159# ifdef MORE_KEY__ARROW 159# ifdef MORE_KEY__ARROW
160 , KC_DOWN 160 , KC_DOWN
161 // , MORE_key2 161 // , MORE_key2
162# endif 162# endif
163 163
164 , KC_RIGHT 164 , KC_RIGHT
165 // , CHOLTAP_LAYR 165 // , CHOLTAP_LAYR
166// , , , <|,> , , , 166// , , , <|,> , , ,
167// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1> 167// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
168 168
169 ), 169 ),
170 170
@@ -189,7 +189,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
189 -*- <|> //(toggle) Access on _FUN 189 -*- <|> //(toggle) Access on _FUN
190 BASE ! @ # $ % | ^ & * ( ) Del 190 BASE ! @ # $ % | ^ & * ( ) Del
191 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) /? 191 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) /?
192 -+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht 192 -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht // `~ on _BON
193 ^^ ^ // Only differences with normal version _..._NSY 193 ^^ ^ // Only differences with normal version _..._NSY
194 --------------------------------------------------------------------------- 194 ---------------------------------------------------------------------------
195 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt 195 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
@@ -203,10 +203,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
203// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> , 203// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
204// , -*- , , , , <|,> , , , , , , 204// , -*- , , , , <|,> , , , , , ,
205 CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL , 205 CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
206 LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_SLSH , // Sacrificing RCTL, because these are major symbols, which seem to warrant being uncluttered. 206 LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_SLSH ,
207 // RCTL_T ( KC_GRV ) , 207 LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE , // note¹
208 LSFT_T ( KC_MINS ) , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_T ( KC_GRV ) , // ` and ~ are often on a diminutive key on mini keyboards, therefore not sacrificing this Shift key.
209 // RSFT_T ( KC_TILD ) ,
210// --------------------------------------------------------------------------------------------------------------------------------------------- 208// ---------------------------------------------------------------------------------------------------------------------------------------------
211 LALT_T ( KC_LEFT ) 209 LALT_T ( KC_LEFT )
212 210
@@ -238,6 +236,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
238// , , -*- , <|,> , -*- , , 236// , , -*- , <|,> , -*- , ,
239// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1> 237// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
240 238
239// note¹
240// Sacrificing RCTL, because ‛/’ is a major much used symbol,
241// which seem to warrant being uncluttered. ‛`’ exists also on _BON
242// (uncluttered). This breaks the logic that all these standard symbols
243// exist on this layer _NSY. However, ` and ~ are often in a diminutive
244// placement on mini keyboards, and ‛arrows on top’ was always going to
245// be a stretch for a keyboard like this. The other option is to have a
246// special macro to put tilde ‛~’ and accent grave ‛`’ both on Shift,
247// but it doesn't seem to make much difference, and makes the firmware
248// even larger.
241 ), 249 ),
242 250
243 /* ⬆⬇ */ 251 /* ⬆⬇ */
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h
index bb5ab5ae2..74aa563b4 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h
@@ -25,16 +25,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
25 /* • Harmonize regular Qwerty 25 /* • Harmonize regular Qwerty
26 * 26 *
27 * If compiling this ‛Qwerty Base Arrow’ base pair with regular Qwerty on 27 * If compiling this ‛Qwerty Base Arrow’ base pair with regular Qwerty on
28 * the other base pair (dual layout), the key ‛/?’ is on a different key 28 * the other base pair (dual layout), the key ‛/?’ on the _NSY layer in
29 * in these two layouts. This is bound to cause typing errors. With this 29 * Qwerty Base Arrow, will be replicated in the same spot in regular Qwerty.
30 * option you can cause the regular Qwerty to also have a ‛/?’ in the same
31 * spot as ‛Qwerty Base Arrow’ has it, sacrificing Right Control/‛`~’ there.
32 * 30 *
33 * Regular Qwerty will still also have a ‛/?’ key in the normal Qwerty location. 31 * Regular Qwerty will still also have a ‛/?’ key in the normal Qwerty location.
34 * 32 * See ./base_qwerty_basearrow.md and ./base_qwerty.md for details.
35 * The key ‛`~’ can be reached through other means: just below on numbers &
36 * symbols _NSY layer, or on the bonus Unicode layer _BON (on the far left, home row).
37 * This is so by default, it remains unchanged.
38 */ 33 */
39 #define QWERTY_BASEARROW_HARMONIZE // _Activate_ to harmonize the ‛/?’ key in the regular Qwerty layout. 34 #define QWERTY_BASEARROW_HARMONIZE // _Activate_ to harmonize the ‛/?’ key in the regular Qwerty layout.
40 // _Remove_ leave regular Qwerty layout unchanged from default. 35 // _Remove_ leave regular Qwerty layout unchanged from default.
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.md
index f90ba309c..889633714 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.md
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.md
@@ -2,23 +2,17 @@
2 2
3Compiled for: Qwerty with arrows on Base 3Compiled for: Qwerty with arrows on Base
4======================================== 4========================================
5
6This version of Qwerty puts arrows on Base, and assumes the 'arrow' hardware key. 5This version of Qwerty puts arrows on Base, and assumes the 'arrow' hardware key.
7 6
8You have to manually set *#define `MORE_KEY__ARROW`* in `./user_config.h`, 7You have to manually set *#define `MORE_KEY__ARROW`* in `./user_config.h`,
8to let compilation know you have that additional hardware key.
9
9If not compiled with ‛Arrow’ hardware key, Base will not contain ‛Down arrow’. 10If not compiled with ‛Arrow’ hardware key, Base will not contain ‛Down arrow’.
10You do not have to worry about what to set the additional hardware key to, on 11You do not have to worry about what to set the additional hardware key to, on
11the Base layer. This will be set to Down Arrow, to complete that arrow cluster. 12the Base layer. This will be set to Down Arrow, to complete that arrow cluster.
12 13
13The option `QWERTY_BASEARROW_HARMONIZE` in `./base_qwerty_basearrow.h` is set
14by default, causing the key ‛/?’ in the _regular_ Qwerty layout to _also_ be
15located in the same spot as in this ‛Qwerty with Arrows on Base’ layout. See
16the header file `./base_qwerty_basearrow.h` for more details.
17
18
19Is arrows on Base efficient ? 14Is arrows on Base efficient ?
20============================= 15=============================
21
22This variation of Qwerty is not necessarily the recommended version of 16This variation of Qwerty is not necessarily the recommended version of
23Qwerty for a board with the additional ‛Arrow’ hardware key. 17Qwerty for a board with the additional ‛Arrow’ hardware key.
24The regular Qwerty compile option can provide good arrow access. 18The regular Qwerty compile option can provide good arrow access.
@@ -39,12 +33,20 @@ GUI, and ‛/?’.
39 33
40Have it both ways 34Have it both ways
41================= 35=================
42
43You could compile regular Qwerty on one of the Base pairs (‛Default’ or 36You could compile regular Qwerty on one of the Base pairs (‛Default’ or
44‛Alternate’), and Qwerty _with Arrows on Base_ on the other. That way 37‛Alternate’), and Qwerty _with Arrows on Base_ on the other. That way
45you can switch to see what works for you. You could leave it like 38you can switch to see what works for you. You could leave it like
46that, and choose what you want depending on what you are doing. 39that, and choose what you want depending on what you are doing.
47 40
41Dual layout combination with Qwerty Base Arrow
42==============================================
43The option `QWERTY_BASEARROW_HARMONIZE` in `./base_qwerty_basearrow.h` is set
44by default, causing the key ‛/?’ in the _regular_ Qwerty layout to _also_ be
45located in the same spot as in this ‛Qwerty with Arrows on Base’ layout.
46
47See also: ![./base_qwerty_basearrow.h](./base_qwerty_basearrow.h).
48See also: ![./base_qwerty.md](./base_qwerty.md) for the reason behind this.
49
48 50
49Qwerty keymaps 51Qwerty keymaps
50-------------- 52--------------
@@ -54,7 +56,7 @@ Qwerty keymaps
54![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_qwerty_basearrow_va.jpg) 56![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_qwerty_basearrow_va.jpg)
55Layer: `..._BASE` 57Layer: `..._BASE`
56 58
57![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_basearrow_va.jpg) 59![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_basearrow_vb.jpg)
58Layer: `..._NSY` 60Layer: `..._NSY`
59 61
60──────────in common──────────── 62──────────in common────────────
@@ -63,7 +65,7 @@ Layer: `..._NSY`
63 65
64For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅ 66For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
65 67
66![Minivan illustration Overview layers by key, Qwerty arrows on Base](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_qwerty_basearrow_2000_vi.jpg) 68![Minivan illustration Overview layers by key, Qwerty arrows on Base](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_qwerty_basearrow_2000_vj.jpg)
67 69
68Layers (text) 70Layers (text)
69============= 71=============
@@ -118,7 +120,7 @@ Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>)
118 -*- <|> //(toggle) Access on _FUN 120 -*- <|> //(toggle) Access on _FUN
119 BASE ! @ # $ % | ^ & * ( ) Del 121 BASE ! @ # $ % | ^ & * ( ) Del
120 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) /? 122 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) /?
121 -+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht 123 -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht // See _BON for ‛`’
122 ^^ ^ // Only differences with normal version _..._NSY 124 ^^ ^ // Only differences with normal version _..._NSY
123 --------------------------------------------------------------------------- 125 ---------------------------------------------------------------------------
124 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt 126 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.c
index bc157d69e..3a2f4eaa4 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.c
@@ -108,25 +108,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
108 , CHOLTAP_ACCE , DUO_HOLD 108 , CHOLTAP_ACCE , DUO_HOLD
109# endif 109# endif
110 110
111 , LT__MOV__KC_ENT 111 , LEFTCENTER_THUMB
112 112
113# ifdef TRANSMINIVAN_MIDLEFT 113# ifdef TRANSMINIVAN_MIDLEFT
114 , TRANS_MIDLEFT 114 , TRANS_MIDLEFT
115# endif 115# endif
116 116
117 , KC_SPC , DUO_HOLD , KC__YGUI 117 , RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
118 118
119# ifdef TRANSMINIVAN_RIGHTSIDE 119# ifdef TRANSMINIVAN_RIGHTSIDE
120 , MO ( _FUN ) 120 , MO ( _FUN )
121# endif 121# endif
122 122
123# ifdef MORE_KEY__ARROW 123# ifdef MORE_KEY__ARROW
124 , MORE_key2 124 , MORE_key2
125# endif 125# endif
126 126
127 , CHOLTAP_LAYR 127 , CHOLTAP_LAYR
128// , , , <|,> , , , 128// , , , <|,> , , ,
129// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1> 129// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
130 130
131 ), 131 ),
132 132
@@ -151,7 +151,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
151 -*- <|> //(toggle) Access on _FUN 151 -*- <|> //(toggle) Access on _FUN
152 BASE ! @ # $ % | ^ & * ( ) Del 152 BASE ! @ # $ % | ^ & * ( ) Del
153 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl 153 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
154 -+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht // limitation prevents ~ 154 -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
155 ^^ ^ // Only differences with normal version _..._NSY 155 ^^ ^ // Only differences with normal version _..._NSY
156 --------------------------------------------------------------------------- 156 ---------------------------------------------------------------------------
157 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt 157 Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
@@ -166,7 +166,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
166// , -*- , , , , <|,> , , , , , , 166// , -*- , , , , <|,> , , , , , ,
167 CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL , 167 CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
168 LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) , 168 LCTL_T ( KC_TAB ) , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , RCTL_T ( KC_GRV ) ,
169 LSFT_T ( KC_MINS ) , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_T ( KC_TILD ) , 169 LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE ,
170// --------------------------------------------------------------------------------------------------------------------------------------------- 170// ---------------------------------------------------------------------------------------------------------------------------------------------
171 LALT_T ( KC_LEFT ) 171 LALT_T ( KC_LEFT )
172 172
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.md
index 66e7a21bb..2d68e2ea0 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.md
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_workman.md
@@ -16,7 +16,7 @@ Workman keymaps
16![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_workman_va.jpg) 16![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_workman_va.jpg)
17Layer: `..._BASE` 17Layer: `..._BASE`
18 18
19![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vb.jpg) 19![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vc.jpg)
20Layer: `..._NSY` 20Layer: `..._NSY`
21 21
22──────────in common──────────── 22──────────in common────────────
@@ -25,7 +25,7 @@ Layer: `..._NSY`
25 25
26For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅ 26For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
27 27
28![Minivan illustration Overview layers by key, Workman](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_workman_2000_vh.jpg) 28![Minivan illustration Overview layers by key, Workman](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_workman_2000_vi.jpg)
29 29
30Layers (text) 30Layers (text)
31============= 31=============
@@ -80,7 +80,7 @@ Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>)
80 -*- <|> //(toggle) Access on _FUN 80 -*- <|> //(toggle) Access on _FUN
81 BASE ! @ # $ % | ^ & * ( ) Del 81 BASE ! @ # $ % | ^ & * ( ) Del
82 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl 82 Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
83 -+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht // limitation prevents ~ 83 -+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
84 ^^ ^ // Only differences with Dvorak version _DEF_NSY 84 ^^ ^ // Only differences with Dvorak version _DEF_NSY
85 --------------------------------------------------------------------------- 85 ---------------------------------------------------------------------------
86 Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt 86 Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h
index eff0c2fa6..809842278 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/config.h
@@ -19,20 +19,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
19 19
20 20
21#pragma once 21#pragma once
22#define LAYER_STATE_16BIT // This saves more than 400 bytes on the hex file
22 23
23// place overrides here 24// place overrides here
24 25
25// Some defines meant to decrease the firmware size. The firmware is otherwise over the maximum (atmega32u4) 26// Some defines meant to decrease the firmware size. The firmware is otherwise over the maximum (atmega32u4)
26# ifndef LINK_TIME_OPTIMIZATION_ENABLE 27//# ifndef LINK_TIME_OPTIMIZATION_ENABLE
27 //Disable old style macro handling: MACRO() & action_get_macro 28 //Disable old style macro handling: MACRO() & action_get_macro
28# define NO_ACTION_MACRO // This saves 320 bytes 29//# define NO_ACTION_MACRO // This saves 320 bytes
29 //disable calling of action_function() from the fn_actions array (deprecated) 30 //disable calling of action_function() from the fn_actions array (deprecated)
30# define NO_ACTION_FUNCTION // This saves 96 bytes 31//# define NO_ACTION_FUNCTION // This saves 96 bytes
31# endif 32//# endif
32 33
33#define PERMISSIVE_HOLD 34#define PERMISSIVE_HOLD
34#define RGBLIGHT_EFFECT_BREATHING
35#define RGBLIGHT_SLEEP // QMK docs: "If defined, the RGB lighting will be switched off when the host goes to sleep" 35#define RGBLIGHT_SLEEP // QMK docs: "If defined, the RGB lighting will be switched off when the host goes to sleep"
36#define RGBLIGHT_EFFECT_BREATHING
36 37
37// Layer switch TT(layer) tapping amount to make it toggle 38// Layer switch TT(layer) tapping amount to make it toggle
38#define TAPPING_TERM_HOLTAP 225 // 175 ms proved unreliable, 225 ms seems ok (personal preference) 39#define TAPPING_TERM_HOLTAP 225 // 175 ms proved unreliable, 225 ms seems ok (personal preference)
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
index 035cdfdb3..09a9b7d93 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
@@ -118,8 +118,8 @@ enum {
118enum { 118enum {
119 _NORMAL_, // BASE layer is _DEF_BASE 119 _NORMAL_, // BASE layer is _DEF_BASE
120 _FULL_, // BASE layer is _ALT_BASE 120 _FULL_, // BASE layer is _ALT_BASE
121# ifdef DVORAK_DESCRAMBLE_HALF // not used with other keymaps 121# ifdef DVORAK_DESCRAMBLE // not used with other keymaps
122 _HALF_, // BASE layer is _ALT_BASE For DVORAK_DESCRAMBLE_HALF keymap: does *not* re-compute letters in Unicode 122 _HALF_, // BASE layer is _ALT_BASE For DVORAK_DESCRAMBLE keymap: does *not* re-compute letters in Unicode
123 // This is for different Unicode encodings than “Control+U+HEX” (Linux). It will go through what is set on _RAR 123 // This is for different Unicode encodings than “Control+U+HEX” (Linux). It will go through what is set on _RAR
124# endif 124# endif
125}; 125};
@@ -350,7 +350,8 @@ void indicate_base (void) {
350 led2r = 100; // purple 350 led2r = 100; // purple
351 led2b = 100; 351 led2b = 100;
352 } 352 }
353# ifdef DVORAK_DESCRAMBLE_HALF // not used with other keymaps 353
354# ifdef DVORAK_DESCRAMBLE // not used with other keymaps
354 else if (_HALF_ == alternate) { // alternate mode, 1 (normal unicode) 355 else if (_HALF_ == alternate) { // alternate mode, 1 (normal unicode)
355 led0r = 100; // purple 356 led0r = 100; // purple
356 led0b = 100; 357 led0b = 100;
@@ -359,6 +360,7 @@ void indicate_base (void) {
359 led2b = 100; 360 led2b = 100;
360 } 361 }
361# endif 362# endif
363
362 else if (_FULL_ == alternate) { // alternate mode, 1 (recomputed unicode for DVORAK_DESCRAMBLE) 364 else if (_FULL_ == alternate) { // alternate mode, 1 (recomputed unicode for DVORAK_DESCRAMBLE)
363 led0r = 100; // purple 365 led0r = 100; // purple
364 led0b = 100; 366 led0b = 100;
@@ -471,7 +473,13 @@ void set_led_colors_ (layer_state_t state) {
471 // Alternate BASE layer (alternate) 473 // Alternate BASE layer (alternate)
472 else if (layer_state_cmp (state, _ALT_BASE)) { 474 else if (layer_state_cmp (state, _ALT_BASE)) {
473 475
474# if !defined(BASE_NUMPAD__ALT_BASE) // Normal led colors for ‛regular’ base layers like Dvorak, Qwerty. 476# ifdef LEDS_OFF_BASE_ALT // Alternative Base leds off (always)
477
478 rgblight_disable_noeeprom ();
479
480# else // do use leds on Alternative Base layer
481
482# if !defined(BASE_NUMPAD__ALT_BASE) // Normal led colors for ‛regular’ base layers like Dvorak, Qwerty.
475 483
476 if (capslock) { 484 if (capslock) {
477 led2r = 255; // Brighter version to indicate capslock 485 led2r = 255; // Brighter version to indicate capslock
@@ -482,32 +490,34 @@ void set_led_colors_ (layer_state_t state) {
482 led2g = color_ddl; // 490 led2g = color_ddl; //
483 led2b = color_ddl; // 491 led2b = color_ddl; //
484 } 492 }
493 middle_led_control (HSV_TEAL); // seems to be the same as CYAN/AZURE, conflicts with _ACC
485 494
486# else // BASE_NUMPAD__ALT_BASE: numpad on Alternate Base, which should show the state of NumLock 495# else // Numpad configured on Alternate Base, which should show the state of NumLock
487 496
488 // This is a copy of the _PAD led colors, but less bright 497 // This is a copy of the _PAD led colors, but less bright
489 if (numlock) { 498 if (numlock) {
490 led0b = 80; // Blue for the numbers part 499 led0b = 80; // Blue for the numbers part
491 led2g = 80; // Green for the navigation part 500 led2g = 80; // Green for the navigation part
492 }else{ 501 }else{
493 led0g = 80; // reversed 502 led2b = 80; // reversed
494 led2b = 80; // 503 led0g = 80; //
495 } 504 }
496 middle_led_control (60, 20, 100); // yellow (low saturation) 505 middle_led_control (60, 20, 100); // light-blue
497 506
498# endif 507# endif // BASE_NUMPAD__ALT_BASE
508
509# endif // LEDS_OFF_BASE_ALT
499 510
500 middle_led_control (HSV_TEAL); // seems to be the same as CYAN/AZURE, conflicts with _ACC
501 } 511 }
502 // Default layer (generally), normal BASE layer 512 // Default layer (generally), normal BASE layer
503 else if (layer_state_cmp (state, _DEF_BASE)) { // letters 513 else if (layer_state_cmp (state, _DEF_BASE)) { // letters
504 514
505# ifdef LEDS_OFF_BASE_DEF 515# ifdef LEDS_OFF_BASE_DEF // Default Base leds off (always)
506 led0r = 0; // All leds off when in Default Base 516
507 led0g = 0; //
508 led0b = 0; //
509 rgblight_disable_noeeprom (); 517 rgblight_disable_noeeprom ();
510# else 518
519# else // Do use leds on Default Base
520
511 if (capslock) { 521 if (capslock) {
512 led0r = 255; // Brighter version to indicate capslock 522 led0r = 255; // Brighter version to indicate capslock
513 led0g = 255; // 523 led0g = 255; //
@@ -517,16 +527,18 @@ void set_led_colors_ (layer_state_t state) {
517 led0g = 28; // 527 led0g = 28; //
518 led0b = 28; // 528 led0b = 28; //
519 } 529 }
520
521 middle_led_control (HSV_TEAL); 530 middle_led_control (HSV_TEAL);
531
522# endif // LEDS_OFF_BASE_DEF 532# endif // LEDS_OFF_BASE_DEF
533
523 } 534 }
524 //--- 535 //---
525 536
537 // pushes the configuration
526 setrgb (led0r, led0g, led0b, (LED_TYPE *)&led[0]); // Led 0 538 setrgb (led0r, led0g, led0b, (LED_TYPE *)&led[0]); // Led 0
527 setrgb (led2r, led2g, led2b, (LED_TYPE *)&led[2]); // Led 2 539 setrgb (led2r, led2g, led2b, (LED_TYPE *)&led[2]); // Led 2
528 540
529 isolate_rgblight_set (); 541 isolate_rgblight_set (); // Activates the led color change, after on/off check.
530 542
531# endif //RGBLIGHT_ENABLE 543# endif //RGBLIGHT_ENABLE
532} 544}
@@ -1090,13 +1102,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
1090 , MORE_key1 1102 , MORE_key1
1091# endif 1103# endif
1092 1104
1093 , KC_DEL , KC_ENT , _______ 1105 , KC_DEL , KC_ENT
1106
1107# ifndef SPACE_LEFT__ENTER_RIGHT // standard, layer switch on Base
1108 , _______
1109# else // reversed
1110 , KC_PGUP
1111# endif
1112
1094 1113
1095# ifdef TRANSMINIVAN_MIDLEFT 1114# ifdef TRANSMINIVAN_MIDLEFT
1096 , TRANS_MIDLEFT 1115 , TRANS_MIDLEFT
1097# endif 1116# endif
1098 1117
1118
1119# ifndef SPACE_LEFT__ENTER_RIGHT // standard
1099 , KC_PGUP 1120 , KC_PGUP
1121# else // reversed, layer switch on Base
1122 , _______
1123# endif
1124
1100 1125
1101# ifdef TRANSMINIVAN_RIGHTSIDE 1126# ifdef TRANSMINIVAN_RIGHTSIDE
1102 , TRANS_RIGHT 1127 , TRANS_RIGHT
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h
index a48095f51..89d426b14 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h
@@ -27,12 +27,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27//#define BASE_QWERTY_BASEARROW__ALT_BASE 27//#define BASE_QWERTY_BASEARROW__ALT_BASE
28 #define BASE_DVORAK__DEF_BASE 28 #define BASE_DVORAK__DEF_BASE
29//#define BASE_DVORAK__ALT_BASE 29//#define BASE_DVORAK__ALT_BASE
30//#define BASE_DVORAK_DESCRAMBLE__ALT_BASE 30 #define BASE_DVORAK_DESCRAMBLE__ALT_BASE
31//#define BASE_COLEMAK__DEF_BASE 31//#define BASE_COLEMAK__DEF_BASE
32//#define BASE_COLEMAK__ALT_BASE 32//#define BASE_COLEMAK__ALT_BASE
33//#define BASE_WORKMAN__DEF_BASE 33//#define BASE_WORKMAN__DEF_BASE
34//#define BASE_WORKMAN__ALT_BASE 34//#define BASE_WORKMAN__ALT_BASE
35 #define BASE_NUMPAD__ALT_BASE 35//#define BASE_NUMPAD__ALT_BASE
36 36
37//#define MINIFAN_SINGLE_LAYOUT 37//#define MINIFAN_SINGLE_LAYOUT
38 38
@@ -74,13 +74,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
74 #define WORDS_PER_MINUTE 74 #define WORDS_PER_MINUTE
75 75
76//#define BASE_RIGHT_ALT 76//#define BASE_RIGHT_ALT
77 #define SWITCH_GUIS 77//#define SWITCH_GUIS
78//#define UNICODE_CURRENCY 0x20ac 78//#define UNICODE_CURRENCY 0x20ac
79//#define POINT_ON_CHECKBOXES 79//#define POINT_ON_CHECKBOXES
80//#define SWITCH_BASE_ROW1_23 80//#define SWITCH_BASE_ROW1_23
81//#define SWITCH_HOLD_ACC_NSY 81//#define SWITCH_HOLD_ACC_NSY
82 #define SWITCH_LSHIFT_PAD_MOV 82 #define SWITCH_LSHIFT_PAD_MOV
83 #define SWITCH_RSHIFT_FUN_RAR 83 #define SWITCH_RSHIFT_FUN_RAR
84//#define SPACE_LEFT__ENTER_RIGHT
84 85
85//#define REMOVE_PAD 86//#define REMOVE_PAD
86//#define REMOVE_ACC 87//#define REMOVE_ACC
@@ -100,3 +101,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
100 #define FULL_BON_4THROW 101 #define FULL_BON_4THROW
101 102
102 #define LEDS_OFF_BASE_DEF 103 #define LEDS_OFF_BASE_DEF
104 #define LEDS_OFF_BASE_ALT
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/readme.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/readme.md
index 534f8b30c..1d2ad90fe 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/readme.md
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/readme.md
@@ -1,4 +1,4 @@
1# Minivan 1# Minivan keyboard layout _Minifan_
2A 40% keyboard made first by TheVan Keyboards 2A 40% keyboard made first by TheVan Keyboards
3_https://thevankeyboards.com_ now taken over by TKC 3_https://thevankeyboards.com_ now taken over by TKC
4_https://thekey.company_ 4_https://thekey.company_
@@ -23,12 +23,11 @@ Table of Contents
23 3.2 Special layouts 23 3.2 Special layouts
24 3.2.1 Numbers pad 24 3.2.1 Numbers pad
25 4 The common system 25 4 The common system
26 4.1 Main features 26 4.1 Layer access
27 4.2 Layer access 27 4.2 Layout in graphics
28 4.3 Layout in graphics 28 4.3 Layout in text
29 4.4 Layout in text 29 4.4 Movement layer options
30 4.5 Movement layer options 30 4.5 Numbers pad layer options
31 4.6 Numbers pad layer options
32 5 Led colors for layers 31 5 Led colors for layers
33 6 Compile options 32 6 Compile options
34 7 Language support 33 7 Language support
@@ -39,8 +38,9 @@ Table of Contents
39 9 Text size measuring 38 9 Text size measuring
40 9.1 Text size Usage 39 9.1 Text size Usage
41 10 Making your own base layer(s) 40 10 Making your own base layer(s)
42 11 Eviscerations 41 11 Evisceration
43 12 Key associations 42 12 Key associations
43 12.1 Compared to regular keyboard
44 13 Trouble shooting 44 13 Trouble shooting
45 • Compiling 45 • Compiling
46 • Unicode 46 • Unicode
@@ -54,19 +54,33 @@ Table of Contents
54 54
551 Overview 551 Overview
56========== 56==========
57_A layout for the demanding keyboard user (10 fingers / blind)._
58Designed for intuitive key placement, more symbols than standard English
59keyboard, speed and text size measuring.
60*400%* _the capability in_ *40%* _the size_ (by key function count).
61 57
62For some ‛common layers’ (numbers pad, movement), different versions 58☑ _Intuitive:_ Key placement follows what a 10 finger typist is used
63can be chosen than shown just below in this by layer view: 59 to on a regular keyboard. Similar keys meanings are on the same
60 key in different layers, or the same finger, etc. See also chapter
61 12, _Key associations._ Thumbs control the most used layer access.
64 62
65![Minivan illustration Overview layers](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization_1500_vf.jpg) 63☑ _Feature rich:_ Dual layout, with several standard layouts to choose
64 from. Expanded character set. Measure typing speed and/or amount of text
65 typed. Mouse control, media control, power control, Unicode encoding for
66 several platforms. In total there are about 4 times as many key functions
67 than on a regular keyboard.
68
69☑ _Configurable:_ Choose between standard layouts (Qwerty, Dvorak, etc);
70 additional hardware keys ‛command/south-paw’ and/or ‛arrow’; movement
71 layer WASD or flat arrows/mouse; numbers pad similar to regular numbers
72 and/or like a regular numbers pad; and other settings. Easy to add your
73 own layers. See ![./user_config.h](./user_config.h)
74
75☒ What it does *not* do: work on a computer set to a non-English language,
76 such as German or French. (To add such functionality requires some work,
77 but it seems it should be possible. See ![./todo.md](./todo.md).)
78
79![Minivan illustration Overview layers](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization_1500_vg.jpg)
66 80
67By key view: 81By key view:
68 82
69![Minivan illustration Overview layers by key](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_2000_vh.jpg) 83![Minivan illustration Overview layers by key](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_2000_vi.jpg)
70 84
711.1 Hardware compatibility 851.1 Hardware compatibility
72========================== 86==========================
@@ -99,7 +113,7 @@ See also chapter 6 _Language support_.
992 'make' example 1132 'make' example
100================ 114================
101 … Download the repository, resolve software dependencies etc.. 115 … Download the repository, resolve software dependencies etc..
102 … To change compile options: edit user_config.h (or `minifan_config_compact.h`) 116 … To change compile options: edit ./user_config.h (or `./minifan_config_compact.h`)
103 > cd […]/qmk_firmware 117 > cd […]/qmk_firmware
104 > make thevankeyboards/minivan:josjoha 118 > make thevankeyboards/minivan:josjoha
105 > su 119 > su
@@ -112,11 +126,11 @@ links to the others files in this readme. The common system is explained
112in this readme.md file. The options for the letters and number/symbol 126in this readme.md file. The options for the letters and number/symbol
113layer pairs (two pairs in the dual layout) are explained in their 127layer pairs (two pairs in the dual layout) are explained in their
114separate readme file, see immediately below. Compile options are detailed 128separate readme file, see immediately below. Compile options are detailed
115in `./user_config.h`. 129in ![./user_config.h](./user_config.h)
116 130
1173 Base layouts 1313 Base layouts
118============== 132==============
119Layouts are presented here in a sort of simplified keycaps view. If a 133Layouts are presented here in a sort of simplified key caps view. If a
120base layer pair has its own user configuration options, they are located 134base layer pair has its own user configuration options, they are located
121in `./base_NAME.h`. 135in `./base_NAME.h`.
122 136
@@ -134,7 +148,7 @@ For the readme about the Qwerty version, see ➡ ![base_qwerty.md](./base_qwerty
1343.1.2 Qwerty with arrows on Base 1483.1.2 Qwerty with arrows on Base
135-------------------------------- 149--------------------------------
136 150
137![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_qwerty_basearrow_vd.jpg) 151![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_qwerty_basearrow_ve.jpg)
138 152
139For the readme about this Qwerty variation, see ➡ ![base_qwerty_basearrow.md](./base_qwerty_basearrow.md) ⬅ 153For the readme about this Qwerty variation, see ➡ ![base_qwerty_basearrow.md](./base_qwerty_basearrow.md) ⬅
140 154
@@ -186,33 +200,23 @@ For the readme about the Numpad version, see ➡ ![base_numpad.md](./base_numpad
186 200
187![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_common_vc.jpg) 201![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_common_vc.jpg)
188 202
1894.1 Main features 2034.1 Layer access
190-----------------
191 • Dual layout. Several layouts to choose from (example: Qwerty
192 and Dvorak dual layout). Easy to add more layouts.
193 • Expanded character set with western European accented characters
194 (ëøßœç…); sub- super-script numbers (¹₂…) quite a few additional
195 symbols such as 《 ± • ☑ ❦ √ ┣ ≠ 》…
196 • Typing speed measuring. Led changes color with your speed. You can
197 ask for a report on your current and average typing speeds.
198 • Text size measuring. If you want to type some amount of words or
199 characters, the middle led will go from green to red as you go,
200 and prevent you going over the limit.
201
2024.2 Layer access
203---------------- 204----------------
204This graphic shows how layers are reached from the ‛Default base’ layer. 205The graphic below shows how layers are reached from the ‛Default base’ layer.
205 206
206![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-default-base-layer-activation_1500_vf.jpg) 207This seems to be the place where one is supposed to say: “This is simple”.
208It may look more confusing than it is. If you write down an alphabet A,B, ➡ Z,
209made arrows from every key on a keyboard picture to one of the letters, it could
210look just as confusing. When switching to a layer, you only think about where you
211want to go.
207 212
208You can switch between the default base layer (typically letters), and 213![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-default-base-layer-activation_2000_vi.jpg)
209another base layer, the alternate base layer (also typically letters),
210on the `_RAR` layer with key ‛Other Base’. Each base layer comes
211with its own second layer, typically numbers-symbols. The other
212layers are used common between the default and alternate base layers.
213 214
214The Base layers and their numbers layer are detailed in files beginning 215Each of the two base layers comes with its own second layer, typically
215with `./base_…` (links below). 216numbers-symbols. The other layers are used common between the default and
217alternate base layers. You can switch between the default base layer
218(typically letters), and another base layer, the alternate base layer
219(also typically letters), on the `_RAR` layer with key ‛Other Base’.
216 220
217 Layer overview: Defined in: 221 Layer overview: Defined in:
218 222
@@ -230,23 +234,19 @@ with `./base_…` (links below).
230 • Function keys / layer toggles ┃ 234 • Function keys / layer toggles ┃
231 • Power, media, Speed, Text size, etc. ┛ 235 • Power, media, Speed, Text size, etc. ┛
232 236
233There are some additional layer switching keys due to key transparency 2374.2 Layout in graphics
234artefacts, allowing for example to go back to ‛Base’ from a toggled `_MOV`
235layer with what is the ‛Enter’ key on Base.
236
2374.3 Layout in graphics
238---------------------- 238----------------------
239 239
240![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_hide_def_base_ve.jpg) 240![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_hide_def_base_ve.jpg)
241Layer: `DEF_BASE` 241Layer: `DEF_BASE`
242 242
243![Minivan layout Image NSYdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_hide_def_base_vb.jpg) 243![Minivan layout Image NSYdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_hide_def_base_vc.jpg)
244Layer: `DEF_NSY` 244Layer: `DEF_NSY`
245 245
246![Minivan layout Image BASEalt](http://socialism.nl/misc/minivan/minivan_base_layer_hide_alt_base_ve.jpg) 246![Minivan layout Image BASEalt](http://socialism.nl/misc/minivan/minivan_base_layer_hide_alt_base_ve.jpg)
247Layer: `ALT_BASE` 247Layer: `ALT_BASE`
248 248
249![Minivan layout Image NSYalt](http://socialism.nl/misc/minivan/minivan_nsy_layer_hide_alt_base_vb.jpg) 249![Minivan layout Image NSYalt](http://socialism.nl/misc/minivan/minivan_nsy_layer_hide_alt_base_vc.jpg)
250Layer: `ALT_NSY` 250Layer: `ALT_NSY`
251 251
252![Minivan layout Image PAD](http://socialism.nl/misc/minivan/minivan_pad_layer_vc.jpg) 252![Minivan layout Image PAD](http://socialism.nl/misc/minivan/minivan_pad_layer_vc.jpg)
@@ -275,8 +275,10 @@ and options to compile with the 'arrow' hardware layout.
275![Minivan layout Image RAR](http://socialism.nl/misc/minivan/minivan_rar_layer_vc.jpg) 275![Minivan layout Image RAR](http://socialism.nl/misc/minivan/minivan_rar_layer_vc.jpg)
276Layer: `_RAR` 276Layer: `_RAR`
277 277
2784.4 Layout in text 2784.3 Layout in text
279------------------ 279------------------
280 What comes on “___” is to be defined by the Base layers choice.
281
280 Layer _DEF_BASE (Letters layer, see ./base* files for what comes on ‛__’) 282 Layer _DEF_BASE (Letters layer, see ./base* files for what comes on ‛__’)
281 | Right hand 283 | Right hand
282 <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger 284 <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
@@ -596,7 +598,7 @@ Remarks. ☐ ☒ ☑ 🗹 or ⮘ ⮙ ⮚ ⮛
596 598
597- - - 599- - -
598 600
5994.5 Movement layer options 6014.4 Movement layer options
600-------------------------- 602--------------------------
601The movement layer (`_MOV`) has several configuration options. You 603The movement layer (`_MOV`) has several configuration options. You
602can either have _triangle_ configuration arrows on the _left_ hand 604can either have _triangle_ configuration arrows on the _left_ hand
@@ -640,7 +642,7 @@ can compile this second arrow cluster to be completed with navigation keys
640 642
641^ `#define` \[`MORE_KEY__ARROW`, `MOREKEY2_ARROW_CLUSTER`\] `VI_SWITCHERYDOO`, `#undef ARROWS_TRIANGLE` 643^ `#define` \[`MORE_KEY__ARROW`, `MOREKEY2_ARROW_CLUSTER`\] `VI_SWITCHERYDOO`, `#undef ARROWS_TRIANGLE`
642 644
6434.6 Numbers pad layer options 6454.5 Numbers pad layer options
644----------------------------- 646-----------------------------
645This concerns the numbers pad layer, the one that is part of the common layers. 647This concerns the numbers pad layer, the one that is part of the common layers.
646 648
@@ -669,7 +671,7 @@ This concerns the numbers pad layer, the one that is part of the common layers.
669 show the color of the last layer that was active. 671 show the color of the last layer that was active.
670 • ⁽²⁾ The colors are reversed blue/low-white/green when numlock is on. 672 • ⁽²⁾ The colors are reversed blue/low-white/green when numlock is on.
671 Left led color memory aid: same as either numbers or movement layer for numlock on/off. 673 Left led color memory aid: same as either numbers or movement layer for numlock on/off.
672 • ⁽³⁾ The colors are reversed to orange/red/red when set to de-activate after one F-key press. 674 • ⁽³⁾ The colors are reversed to orange/red/red when set to deactivate after one F-key press.
673 • ⁽⁴⁾ The colors are reversed purple/purple/white, indicating which of the two base layers 675 • ⁽⁴⁾ The colors are reversed purple/purple/white, indicating which of the two base layers
674 is active (see below). 676 is active (see below).
675 • Middle led: Breathing effect. When not breathing, keyboard is not working normally with the computer. 677 • Middle led: Breathing effect. When not breathing, keyboard is not working normally with the computer.
@@ -726,7 +728,7 @@ This concerns the numbers pad layer, the one that is part of the common layers.
726 728
727 • Reduce firmware size/bloat: remove or eviscerate Unicode layer(s). 729 • Reduce firmware size/bloat: remove or eviscerate Unicode layer(s).
728 730
729 For the complete list, see `./user_config.h`. 731 For the complete list, see ![./user_config.h](./user_config.h)
730 732
7317 Language support 7337 Language support
732================== 734==================
@@ -770,7 +772,7 @@ The following quotation marks are available, which seems it would cover these la
770 772
771 ¹) Left side is a basic comma. 773 ¹) Left side is a basic comma.
772 774
773See the `_ACC` _accented characters_ layer for all characters with diacretic markings. 775See the `_ACC` _accented characters_ layer for all characters with diacritic markings.
774If you miss a symbol, you could replace one you don't use and add it yourself (by 776If you miss a symbol, you could replace one you don't use and add it yourself (by
775reprogramming the source code). 777reprogramming the source code).
776 778
@@ -784,7 +786,7 @@ reprogramming the source code).
784 when a maximum is set, over layer colors or speed measurement. 786 when a maximum is set, over layer colors or speed measurement.
785 787
786With the key ‛Speed’ on the `_RAR` layer, the speed of your latest 788With the key ‛Speed’ on the `_RAR` layer, the speed of your latest
787completed batch of 25 keypresses is computed, as well as the average of 789completed batch of 25 key presses is computed, as well as the average of
788all your batches of 25 keys. The speed is displayed as the color of the 790all your batches of 25 keys. The speed is displayed as the color of the
789middle led, which otherwise shows the layer color. A bright white middle 791middle led, which otherwise shows the layer color. A bright white middle
790led indicates ‛Speed’ has just been activated. 792led indicates ‛Speed’ has just been activated.
@@ -949,7 +951,7 @@ Now you have integrated your base layers alternative. To compile it:
949 _Remove_ any other base layers from being defined on the 951 _Remove_ any other base layers from being defined on the
950 same spot _DEF_BASE or _ALT_BASE to prevent a conflict. 952 same spot _DEF_BASE or _ALT_BASE to prevent a conflict.
951 953
952 ⑤ Check Pre-processing with: 954 ⑤ Check Preprocessing with:
953 > gcc -E keymap.c | less 955 > gcc -E keymap.c | less
954 956
955 ⑥ Compile and flash to your keyboard. 957 ⑥ Compile and flash to your keyboard.
@@ -979,7 +981,7 @@ You can re-define `_ACC` in your own file.
979 ⑨ Compile and flash to your keyboard. 981 ⑨ Compile and flash to your keyboard.
980 982
981Now we will look at a more complicated keymap, where you are also altering 983Now we will look at a more complicated keymap, where you are also altering
982preprocessor constants defined in `./user_config.h`. (Warning, perhaps this 984preprocessor constants defined in ![./user_config.h](./user_config.h) (Warning, perhaps this
983is overkill … ;-) 985is overkill … ;-)
984 986
985Example: the `./base_numpad.c` has an option to entirely eviscerate the 987Example: the `./base_numpad.c` has an option to entirely eviscerate the
@@ -998,7 +1000,7 @@ need to reverse Left GUI and Right GUI.
998 1000
999 ① ⓪ Write the necessary code to set and unset the constant 1001 ① ⓪ Write the necessary code to set and unset the constant
1000 `SWITCH_GUIS` in your `./base_YOUR_KEYMAP.h` file You are encouraged 1002 `SWITCH_GUIS` in your `./base_YOUR_KEYMAP.h` file You are encouraged
1001 to write code which overrides any setting in `./user_config.h, for 1003 to write code which overrides any setting in `./user_config.h,` for
1002 those constants which you choose to affect, for simplicity sake. 1004 those constants which you choose to affect, for simplicity sake.
1003 (This is not a C programming manual, so it won't get into this.) 1005 (This is not a C programming manual, so it won't get into this.)
1004 1006
@@ -1017,14 +1019,14 @@ need to reverse Left GUI and Right GUI.
1017 * ⚠ Note: ./base_YOUR_KEYMAP.h can overrides this setting, if compiled with that ‛Base’ layer. 1019 * ⚠ Note: ./base_YOUR_KEYMAP.h can overrides this setting, if compiled with that ‛Base’ layer.
1018 */ 1020 */
1019 1021
1020Putting your `*.h` header file in `./user_config.h` isn't strictly 1022Putting your `*.h` header file in ![./user_config.h](./user_config.h) isn't strictly
1021necessary, unless you alter “general preprocessor constants” 1023necessary, unless you alter “general preprocessor constants”
1022defined in `./user_config` (not local constants for your keymap only). 1024defined in ![./user_config.h](./user_config.h) (not local constants for your keymap only).
1023 1025
1024Perhaps a separate header file is overkill. On the other hand, whatever 1026Perhaps a separate header file is overkill. On the other hand, whatever
1025preprocessor logic is necessary after user configuration has been given, 1027preprocessor logic is necessary after user configuration has been given,
1026can be handled in one place, if #included as suggested. It allows you 1028can be handled in one place, if #included as suggested. It allows you
1027to override the settings in `./user_config.h` from your header file 1029to override the settings in ![./user_config.h](./user_config.h) from your header file
1028(because it is #included immediately below those). If a user is playing with 1030(because it is #included immediately below those). If a user is playing with
1029keymaps Base compile choices, it could be convenient to play with 1031keymaps Base compile choices, it could be convenient to play with
1030`./base_YOUR_KEYMAP.h` settings, have everything that could be relevant 1032`./base_YOUR_KEYMAP.h` settings, have everything that could be relevant
@@ -1036,18 +1038,18 @@ You can also just #include your header file at the top of your
1036`./base_YOUR_KEYMAP.h` file, if it does not touch anything else but your 1038`./base_YOUR_KEYMAP.h` file, if it does not touch anything else but your
1037local keymap. 1039local keymap.
1038 1040
103911 Eviscerations 104111 Evisceration
1040================ 1042===============
1041Cutting down the keymap reduces the firmware size, and helps reducing 1043Cutting down the keymap reduces the firmware size, and helps reducing
1042mental clutter from having masses of symbols you might never want to use. 1044mental clutter from having masses of symbols you might never want to use.
1043 1045
1044You can compile as a single layout. Define only a ‛Default’ base pair, 1046You can compile as a single layout. Define only a ‛Default’ base pair,
1045and set `MINIFAN_SINGLE_LAYOUT` (`./user_config.h`). The leds for the 1047and set `MINIFAN_SINGLE_LAYOUT` (![./user_config.h](./user_config.h)). The leds for the
1046base layers letters and numbers&symbols, will show up as they would for 1048base layers letters and numbers&symbols, will show up as they would for
1047the ‛Alternate’ layer in a dual layout compilation. 1049the ‛Alternate’ layer in a dual layout compilation.
1048 1050
1049You can remove the layers `_ACC`, `_DRA` and/or `_BON` (see 1051You can remove the layers `_ACC`, `_DRA` and/or `_BON` (see
1050`./user_config.h` around `REMOVE_ACC`). 1052![./user_config.h](./user_config.h) around `REMOVE_ACC`).
1051 1053
1052You can remove a set of symbols from one or more of Unicode layers, 1054You can remove a set of symbols from one or more of Unicode layers,
1053such as not having box drawing characters on `_BON`, or no sub-script 1055such as not having box drawing characters on `_BON`, or no sub-script
@@ -1061,7 +1063,43 @@ what finger is used, and/or on what row. For example the symbol ‛(’
1061on the numbers-symbols layer (`_NSY`), becomes the symbol ‛⁽’ on 1063on the numbers-symbols layer (`_NSY`), becomes the symbol ‛⁽’ on
1062another layer. 1064another layer.
1063 1065
1064![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_common_1500_vd.jpg) 1066![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_common_1500_ve.jpg)
1067
106812.1 Compared to regular keyboard
1069=================================
1070The main advantage compared to a regular keyboard is to never have to
1071leave the homerow.
1072
1073Basic trade-off examples are: (①) on a regular keyboard you need to
1074reach two rows up to press a number like ‛4’; (②) three rows up to reach
1075an F-key like ‛F4’; (③) or move your hand entirely to reach the navigation
1076cluster for ‛Up-Arrow’. On this Minivan 40% keyboard with this ‛Minifan’
1077layout you (①) move either thumb sideways a little to hold down the
1078number/symbols layer key, and then press down left index finger for ‛4’;
1079(②) press and let go ‛Right-Shift’ to toggle the F-keys layer and then
1080press down left index finger for ‛F4’; (③) press down left thumb on where
1081it probably is resting, and then move left ring finger one row up to reach
1082‛Up-Arrow’.
1083
1084A downside is that you would be typing a non-standard keyboard, making
1085it harder to adapt to regular keyboards. On the upside, this keyboard is
1086small enough to take it with you. Plugging it into some other computer
1087is only going to work, if that other computer is not using a language
1088setting which changes too many keycodes, or if changing the language
1089setting is not a problem.
1090
1091In total the differences are probably marginal. It can be worth it if
1092you are doing a lot of 10 finger typing. The change in efficiency might
1093be similar to changing from Qwerty to Dvorak or another such optimized
1094layout, although incomparably much easier to learn than changing from
1095Qwerty to Dvorak (in author's personal experience). If the latter can
1096take years, the former could take weeks to months. Keep in mind that
1097you have the whole standard letters keymap where it used to be, plus the
1098numbers with their shifted symbols are in predictable locations.
1099
1100The hardest to learn out of the standard symbols, will be: /\=+|?, and
1101to a lesser degree {}[]. These are now evenly spread out, rather than this
1102mess you have under right little finger on regular keyboards.
1065 1103
106613 Trouble shooting 110413 Trouble shooting
1067=================== 1105===================
@@ -1100,7 +1138,11 @@ another layer.
1100 1138
110114 Why you want this layout 113914 Why you want this layout
1102=========================== 1140===========================
1103☞ This layout seems easy to learn and predictable. 1141☞ This layout seems easy to learn and predictable. It is not personalized
1142 or idiosyncratic, but rather based on existing keyboards, typewriters
1143 and commonly used symbols in the supported languages. The key placement
1144 is as close to a regular keyboard as possible, unless there are clearly
1145 better placement choices.
1104 1146
1105☞ The normally most used layer after letters is “numbers & symbols” 1147☞ The normally most used layer after letters is “numbers & symbols”
1106 (123…, !@#…, []/…, called `_NSY`). This layer you can access by either 1148 (123…, !@#…, []/…, called `_NSY`). This layer you can access by either
@@ -1145,39 +1187,37 @@ another layer.
1145 ┇ ④ 1187 ┇ ④
1146 1188
1147☞ Speed and text size measuring, including to set a maximum on your text input. 1189☞ Speed and text size measuring, including to set a maximum on your text input.
1148 These are features not part off regular keyboards. 1190 These are features not part of regular keyboards.
1149 1191
1150☞ Easy to create your own dual layout for letters / numbers. 1192☞ Easy to create your own dual layout for letters / numbers.
1151 1193
1152☞ If you do want to reprogram the code, it has a lot of comments to make 1194☞ If you do want to reprogram the code, it has a lot of comments to make
1153 it easier to follow. 1195 it easier to follow, and over the top much documentation as you can see.
1154
1155 1196
115615 BUGS 119715 BUGS
1157======= 1198=======
1158 No real bugs known currently. Just some minor issues … 1199 No real bugs known currently. Just some minor issues …
1159 1200
1160 The tilde ~ on the numbers-symbols layer should logically be reached on the second
1161 row without the need for _shift,_ however there seems to be a QMK limitation
1162 with this. No work around has been attempted as of yet. (It seems to be a minor issue;
1163 using shift for once seems OK.)
1164
1165 `LCTL_T` `( KC_TAB )` is not seen as a blank by word counting, use as Control is not 1201 `LCTL_T` `( KC_TAB )` is not seen as a blank by word counting, use as Control is not
1166 ignored in character counting. (This minor issue is ignored for now. Tab is not 1202 ignored in character counting. (This minor issue is ignored for now. Tab is not
1167 normally used in text writing.) 1203 normally used in text writing.)
1168 1204
1169 The eviscerations may not have been worked out yet into the ultimate scrubbing of 1205 The evisceration may not have been worked out yet into the ultimate scrubbing of
1170 everything that may have become redundent, because it does complicate the code with 1206 everything that may have become redundant, because it does complicate the code with
1171 a lot of #defines. Perhaps it should be done eventually, if there is an actual need. 1207 a lot of #defines. Perhaps it should be done eventually, if there is an actual need.
1172 1208
1209 ➡ You can send bug reports to what seem useful channels, and/or contact e-mail. Thanks
1173 1210
117416 Resources 121116 Resources
1175============ 1212============
1176This links to an external file, with some development resources like 1213This links to an external file, with some additional resources.
1177Gimp .xcf files, pre-compiled hex files, …
1178
1179[Resources](http://socialism.nl/misc/minivan/ "Additional resources") 1214[Resources](http://socialism.nl/misc/minivan/ "Additional resources")
1180 1215
1216 ☞ Gimp .xcf files.
1217 ☞ Some precompiled hex files.
1218 ☞ Documentation in other formats.
1219
1220
118117 Author(s) 122117 Author(s)
1182============ 1222============
1183 This keymap.c was edited from the Minivan default, original LED 1223 This keymap.c was edited from the Minivan default, original LED
@@ -1187,11 +1227,10 @@ Gimp .xcf files, pre-compiled hex files, …
1187 _Personal note:_ This keymap came about because of a sudden need 1227 _Personal note:_ This keymap came about because of a sudden need
1188 for a replacement keyboard. It took over a year to make (≈ 1.5 h/day). 1228 for a replacement keyboard. It took over a year to make (≈ 1.5 h/day).
1189 The goal became to make a good keymap for everyone without the time to 1229 The goal became to make a good keymap for everyone without the time to
1190 make one, in the best keyboard format: “40%”. 1230 make one.
1191
1192![Keycaps blanks](http://socialism.nl/misc/minivan/keycaps_blanks_va.jpg)
1193 1231
1194 Written on the Minivan: Jos Boersema. [contact](https://market.socialism.nl/author/ "get e-mail address there") 1232 Written on the Minivan: Jos Boersema. [contact](https://market.socialism.nl/author/ "get e-mail address there")
1233 If anyone forks this or whatever, feel free to drop me a note.
1195 1234
1196 Contributions to this key map: 1235 Contributions to this key map:
1197 - … 1236 - …
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.c
index f21379248..d711c86f9 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.c
@@ -38,74 +38,70 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
38 38
39#define DIV10POINT TRUE // suggest to function write_number, to divide by 10 and print as a fraction: N.N 39#define DIV10POINT TRUE // suggest to function write_number, to divide by 10 and print as a fraction: N.N
40 40
41// Converts integer value to Unicode. Also handles 'descramble' Unicode mode for DVORAK_DESCRAMBLE_HALF. 41// Gives Unicode code points to the relevant QMK functions.
42// Unicode is a hexadecimal string (character) representation of the value, with a pre- and post-fix. 42// Handles Dvorak 'descramble' Unicode mode, if compiled (only tested on Linux).
43void unicode_hex2output (long unsigned int unshifted, long unsigned int shifted) { 43void unicode_hex2output (long unsigned int unshifted, long unsigned int shifted) {
44 44
45 long unsigned int input; // which argument to work on 45 long unsigned int input; // which argument to work on
46 char output[10] ; // will hold the ascii for output 46
47# ifdef DVORAK_DESCRAMBLE // Do the letter descramble if needed.
48
49 char output[10]; // will hold the ascii for output
47 int index; // count backwards 'to left' in the string 50 int index; // count backwards 'to left' in the string
48 long unsigned int bitmove; // move computation to next digit. 51 long unsigned int bitmove; // move computation to next digit.
49 long unsigned int work; // temporary value for computation 52 long unsigned int work; // temporary value for computation
50 53
54# endif
51 55
52 // What to work on 56 // What to work on
53 if(shift_ison) input = shifted; // Trying to get everything possible here in this function, to reduce firmware size. 57 if(shift_ison) input = shifted; // Trying to get everything possible here in this function, to reduce firmware size.
54 else input = unshifted; 58 else input = unshifted;
55 59
56 //if (input < 0) input *= -1; // positive value 60# ifndef DVORAK_DESCRAMBLE // Only normal mode
57 61
58 // Take the hex value 4 bits at a time, starting with the least significant, convert to ascii, store 62 register_unicode ( (uint32_t) input ) ;
59 index = 9; 63
60 output[index] = '\0'; // terminator 64# else
61 bitmove = 0x1; 65
62 while ((work = (input / bitmove)) && (index >= 0)) { 66 if(_FULL_ != alternate){
63 index --; 67
64 work &= 0xF; 68 register_unicode ( (uint32_t) input ) ; // normal Unicode mode
65 if (work < 0xA){ // numbers 69
66 output[index] = work + 0x30; // pad to ASCII 70 }else{ // Special Dvorak-descramble mode: 0-9=0-9, a=a, b=n, c=i, d=h, e=d, f=y
67 }else{ // alphas 71
68# ifdef DVORAK_DESCRAMBLE_HALF // Do the letter descramble if needed. 72 // Take the hex value 4 bits at a time, starting with the least significant, convert to ascii, store
69 if(_FULL_ == alternate){ // 0-9=0-9, a=a, b=n, c=i, d=h, e=d, f=y 73 index = 9;
74 output[index] = '\0'; // terminator
75 bitmove = 0x1;
76 while ((work = (input / bitmove)) && (index >= 0)) {
77 index --;
78 work &= 0xF;
79 if (work < 0xA){ // numbers
80 output[index] = work + 0x30; // pad to ASCII
81 }else{ // alphas
70 if (0xA == work) output[index] = 'a'; 82 if (0xA == work) output[index] = 'a';
71 if (0xB == work) output[index] = 'n'; 83 if (0xB == work) output[index] = 'n';
72 if (0xC == work) output[index] = 'i'; 84 if (0xC == work) output[index] = 'i';
73 if (0xD == work) output[index] = 'h'; 85 if (0xD == work) output[index] = 'h';
74 if (0xE == work) output[index] = 'd'; 86 if (0xE == work) output[index] = 'd';
75 if (0xF == work) output[index] = 'y'; 87 if (0xF == work) output[index] = 'y';
76 }else{
77 output[index] = work - 9 + 0x40; // normal mode
78 } 88 }
79# else // The above is not relevant for anything else. 89 bitmove *= 0x10; // next digit
80 output[index] = work - 9 + 0x40; // normal mode
81# endif
82 } 90 }
83 bitmove *= 0x10; // next digit 91
84 } 92 SEND_STRING ( SS_DOWN(X_LCTRL) SS_DOWN(X_LSHIFT) "f" SS_UP(X_LSHIFT) SS_UP(X_LCTRL) ); // lead-in for Unicode on Linux, 'descramble' mode
85
86 // Put character(s) out in correct mode
87# ifdef DVORAK_DESCRAMBLE_HALF // Do the letter descramble if needed.
88 if (_FULL_ == alternate) { // This is the special 'descramble' output mode for a computer already set to Dvorak
89
90 SEND_STRING ( SS_DOWN(X_LCTRL) SS_DOWN(X_LSHIFT) "f" SS_UP(X_LSHIFT) SS_UP(X_LCTRL) ) ; // lead-in for Unicode on Linux, 'descramble' mode
91 send_string (output + index); // pointer to argument with formatted string 93 send_string (output + index); // pointer to argument with formatted string
92 SEND_STRING ( " " ) ; // Ends the Unicode numerical input mode, replacing input with desired character (Linux) 94 SEND_STRING ( " " ); // Ends the Unicode numerical input mode
93
94 }else{
95 // normal QMK Unicode output mode
96 send_unicode_hex_string (output + index); // pointer argument
97 } 95 }
98 96
99# else 97# endif // DVORAK_DESCRAMBLE mode for that Base layer & mode setting is compiled in
100 send_unicode_hex_string (output + index); // pointer argument
101# endif
102 98
103} 99}
104 100
105 101
106// Wrapper for unicode keys that do have the same on shift. 102// Wrapper for unicode keys that do have the same on shift.
107void unicode_hex2output_single (long unsigned int either) { 103void unicode_hex2output_single (long unsigned int either) {
108 unicode_hex2output (either, either) ; 104 unicode_hex2output (either, either);
109} 105}
110 106
111 107
@@ -144,6 +140,11 @@ enum custom_keycodes {
144 CHOLTAP_LSHFT, // Go to <configurable> layer, or shift modifier. 140 CHOLTAP_LSHFT, // Go to <configurable> layer, or shift modifier.
145 CHOLTAP_LAYR, // Go to _RAR layer, or right arrow 141 CHOLTAP_LAYR, // Go to _RAR layer, or right arrow
146 142
143// Shifts which on tap produce a key
144
145 RSFT_TILDE,
146 LSFT_DASH,
147
147// Special macro to make F-keys one-shot or not. 148// Special macro to make F-keys one-shot or not.
148 _FUN_STAY, 149 _FUN_STAY,
149 150
@@ -378,7 +379,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
378 && 379 &&
379 (keycode != CHOLTAP_ACCE) // _ACC layer (and others) 380 (keycode != CHOLTAP_ACCE) // _ACC layer (and others)
380 && 381 &&
381 (keycode != CHOLTAP_LAYR)) { // _RAR layer, or RAlt/Alt-Gr 382 (keycode != RSFT_TILDE) // Shift on _NSY
383 &&
384 (keycode != LSFT_DASH) // Shift on _NSY
385 &&
386 (keycode != CHOLTAP_LAYR))
387 { // _RAR layer, or RAlt/Alt-Gr
382 isolate_trigger = FALSE; // another key was pressed 388 isolate_trigger = FALSE; // another key was pressed
383 } 389 }
384 } 390 }
@@ -437,7 +443,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
437 added += write_number ((long int)((speed*12)/10), FALSE); // writes the speed 443 added += write_number ((long int)((speed*12)/10), FALSE); // writes the speed
438 send_string ("wpm"); // +3 character written 444 send_string ("wpm"); // +3 character written
439 if (0 != speed_batches) { 445 if (0 != speed_batches) {
440 long int average_times_ten ; 446 long int average_times_ten;
441 average_times_ten =(long int) ((speed_add * 12) / speed_batches); // *12 converts k/s to wpm 447 average_times_ten =(long int) ((speed_add * 12) / speed_batches); // *12 converts k/s to wpm
442 448
443 send_string (";"); // +① '' 449 send_string (";"); // +① ''
@@ -458,7 +464,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
458 added += write_number ((long int)(speed/10), FALSE); // writes the speed 464 added += write_number ((long int)(speed/10), FALSE); // writes the speed
459 send_string ("k/s"); // +3 character written 465 send_string ("k/s"); // +3 character written
460 if (0 != speed_batches) { 466 if (0 != speed_batches) {
461 long int average_times_ten ; 467 long int average_times_ten;
462 average_times_ten =(long int) (speed_add / speed_batches); 468 average_times_ten =(long int) (speed_add / speed_batches);
463 469
464 send_string (";"); // +① '' 470 send_string (";"); // +① ''
@@ -625,7 +631,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
625 }else{ // key up 631 }else{ // key up
626 632
627 // Cycles through the modes 633 // Cycles through the modes
628# ifdef DVORAK_DESCRAMBLE_HALF // version Dvorak+Dvorak-descramble has 3 modes 634# ifdef DVORAK_DESCRAMBLE // version Dvorak+Dvorak-descramble has 3 modes
629 if (_NORMAL_ == alternate) { 635 if (_NORMAL_ == alternate) {
630 alternate = _FULL_;// alternate layers 636 alternate = _FULL_;// alternate layers
631 default_layer_set (_ALT_BASE_MASK); // This is needed only for a rare case, 637 default_layer_set (_ALT_BASE_MASK); // This is needed only for a rare case,
@@ -662,7 +668,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
662 }else{ // key up 668 }else{ // key up
663 669
664 // Cycles through the modes 670 // Cycles through the modes
665# ifdef DVORAK_DESCRAMBLE_HALF // version Dvorak+Dvorak-descramble has 3 modes 671# ifdef DVORAK_DESCRAMBLE // version Dvorak+Dvorak-descramble has 3 modes
666 if (_NORMAL_ == alternate) { 672 if (_NORMAL_ == alternate) {
667 alternate = _FULL_;// alternate layers 673 alternate = _FULL_;// alternate layers
668 default_layer_set (_ALT_BASE_MASK); 674 default_layer_set (_ALT_BASE_MASK);
@@ -701,8 +707,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
701 // On BASE itself, that key is <Escape>. 707 // On BASE itself, that key is <Escape>.
702 if (record->event.pressed) { // key down 708 if (record->event.pressed) { // key down
703 ; 709 ;
704 } 710 }else{ // key up
705 else { // key up
706 if (alternate) { // go to the alternate version (bit of a hack maybe, but all alternate 711 if (alternate) { // go to the alternate version (bit of a hack maybe, but all alternate
707 // ... modes are non-zero) 712 // ... modes are non-zero)
708 layer_move (_ALT_BASE); 713 layer_move (_ALT_BASE);
@@ -715,8 +720,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
715 case CTO_NUMS: // activates number-symbols layer 720 case CTO_NUMS: // activates number-symbols layer
716 if (record->event.pressed) { // key down 721 if (record->event.pressed) { // key down
717 ; 722 ;
718 } 723 }else{ // key up, so that upon key down the target layer isn't already activated, triggering that key on up
719 else { // key up, so that upon key down the target layer isn't already activated, triggering that key on up
720 if (alternate) { // go to the alternate version 724 if (alternate) { // go to the alternate version
721 layer_move (_ALT_NSY); 725 layer_move (_ALT_NSY);
722 }else{ 726 }else{
@@ -728,8 +732,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
728 case CTO_ACCE: // Unicode layer 732 case CTO_ACCE: // Unicode layer
729 if (record->event.pressed) { // key down 733 if (record->event.pressed) { // key down
730 ; 734 ;
731 } 735 }else{ // key up
732 else { // key up
733 736
734# ifndef REMOVE_ACC // This cuts out the whole _ACC layer. 737# ifndef REMOVE_ACC // This cuts out the whole _ACC layer.
735 layer_move (_ACC); // activates normal accented layer 738 layer_move (_ACC); // activates normal accented layer
@@ -745,8 +748,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
745 case CTO_DRAW: // Unicode layer 748 case CTO_DRAW: // Unicode layer
746 if (record->event.pressed) { // key down 749 if (record->event.pressed) { // key down
747 ; 750 ;
748 } 751 }else{ // key up
749 else { // key up
750 752
751# ifndef REMOVE_DRA // This cuts out the whole _DRA layer. 753# ifndef REMOVE_DRA // This cuts out the whole _DRA layer.
752 layer_move (_DRA); // activates normal accented layer 754 layer_move (_DRA); // activates normal accented layer
@@ -1011,7 +1013,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
1011 // Held medium long: _PAD, long: _MOV. 1013 // Held medium long: _PAD, long: _MOV.
1012 // The reason to have a switch to _MOV on the left hand, is to be able to reach arrows on a toggle, 1014 // The reason to have a switch to _MOV on the left hand, is to be able to reach arrows on a toggle,
1013 // all by the left hand, when the right hand is on the mouse. 1015 // all by the left hand, when the right hand is on the mouse.
1014 if ((timer_elapsed (key_timer) <= 200)) { // tapped medium-long (milliseconds) 1016 if ((timer_elapsed (key_timer) <= 200)) { // tapped short (milliseconds)
1015 1017
1016# ifndef SWITCH_RSHIFT_FUN_RAR // user config to reverse what this key its timing toggles to 1018# ifndef SWITCH_RSHIFT_FUN_RAR // user config to reverse what this key its timing toggles to
1017 1019
@@ -1100,6 +1102,81 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
1100 } 1102 }
1101 break; 1103 break;
1102 1104
1105/*
1106 case RSFT_TILDE:
1107
1108 if (record->event.pressed) { // key down
1109
1110 SEND_STRING (SS_DOWN (X_RSFT));
1111 shift_ison = 1; // shift depressed
1112
1113 key_timer = timer_read ();
1114 isolate_trigger = TRUE; // keep track of whether another key gets pressed until key-up
1115
1116 }else{ // key up
1117
1118 SEND_STRING (SS_UP (X_RSFT));
1119 shift_ison = 0; // shift released
1120
1121 if (isolate_trigger) { // no other key was hit since key down
1122
1123
1124 // Held medium long: _PAD, long: _MOV.
1125 // The reason to have a switch to _MOV on the left hand, is to be able to reach arrows on a toggle,
1126 // all by the left hand, when the right hand is on the mouse.
1127 if ((timer_elapsed (key_timer) <= 200)) { // tapped short (milliseconds)
1128
1129 SEND_STRING ("~");
1130
1131 }
1132 }
1133 }
1134 break;
1135*/
1136
1137 case RSFT_TILDE: // firmware size optimization, saves 36 bytes
1138 case LSFT_DASH:
1139
1140 if (record->event.pressed) { // key down
1141
1142 if (RSFT_TILDE == keycode) { // this is probably not needed, both can be left or right shift
1143 SEND_STRING (SS_DOWN (X_RSFT));
1144 }else{
1145 SEND_STRING (SS_DOWN (X_LSFT));
1146 }
1147 shift_ison = 1; // shift depressed
1148
1149 key_timer = timer_read ();
1150 isolate_trigger = TRUE; // keep track of whether another key gets pressed until key-up
1151
1152 }else{ // key up
1153
1154 if (RSFT_TILDE == keycode) {
1155 SEND_STRING (SS_UP (X_RSFT));
1156 }else{
1157 SEND_STRING (SS_UP (X_LSFT));
1158 }
1159
1160 shift_ison = 0; // shift released
1161
1162 if (isolate_trigger) { // no other key was hit since key down
1163
1164
1165 // Held medium long: _PAD, long: _MOV.
1166 // The reason to have a switch to _MOV on the left hand, is to be able to reach arrows on a toggle,
1167 // all by the left hand, when the right hand is on the mouse.
1168 if ((timer_elapsed (key_timer) <= 200)) { // tapped short (milliseconds)
1169
1170 if (RSFT_TILDE == keycode) {
1171 SEND_STRING ("~");
1172 }else{
1173 SEND_STRING ("-");
1174 }
1175 }
1176 }
1177 }
1178 break;
1179
1103 case _FUN_STAY: // toggles if the f-keys return _FUN layer to BASE after one press 1180 case _FUN_STAY: // toggles if the f-keys return _FUN layer to BASE after one press
1104 if (record->event.pressed) { // key down 1181 if (record->event.pressed) { // key down
1105 1182
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h
index aad9ec233..293fd15a0 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h
@@ -23,11 +23,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
23// Configuration: 23// Configuration:
24// ------------------------------------- ⬇ -------------------------------------- 24// ------------------------------------- ⬇ --------------------------------------
25 25
26 // (For the non-coders: “_Remove_” means to place ‛//’ in front of a line. The rest of the line becomes a comment. 26 // (For the non-coders:
27 // Placing ‛//’ in front of a line, means whatever follows it will be ignored during compilation. 27 // “_Remove_” means to place ‛//’ in front of a line. The rest of the line becomes a comment.
28 // “_Activate_” means to *delete* the two ‛//’ in front. Now the rest of the line *will* be compiled 28 // Placing ‛//’ in front of a line, means whatever follows it will be ignored during compilation.
29 // /* ... */ is another a way to turn “...” into being a comment which is ignored during compilation. 29 // “_Activate_” means to *delete* the two ‛//’ in front. Now the rest of the line *will* be compiled
30 // (The documentation here is geared toward people who have no understanding about programming.) 30 // /* ... */ is another a way to turn “...” into being a comment which is ignored during compilation.
31 // (The documentation here is geared toward people who have no understanding about programming.)
31 32
32 /* 33 /*
33 -------------------------------------------------------------------------------------- 34 --------------------------------------------------------------------------------------
@@ -77,9 +78,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
77 • GUI left/right 78 • GUI left/right
78 • Alternate currency symbol 79 • Alternate currency symbol
79 • Check boxes or Pointers 80 • Check boxes or Pointers
80 • Switch _ACC/_BON and *left* side _NSY/_DRA hold keys 81 • Switch _ACC/_BON ⬅➡ *left* side _NSY/_DRA hold keys
81 • Switch _PAD and _MOV on Left Shift toggle 82 • Switch _PAD ⬅➡ _MOV on Left Shift toggle
82 • Switch _FUN and _RAR on Right Shift toggle 83 • Switch _FUN ⬅➡ _RAR on Right Shift toggle
84 • “Switch spacebars”: ‛Space-bar’ ⬅➡ “‛Enter’ + ‛layer-hold _MOV’”
83 85
84 -11- ➡ Eviscerations ( ② / ② ) ⬅ 86 -11- ➡ Eviscerations ( ② / ② ) ⬅
85 • Removing the numbers pad _PAD layer 87 • Removing the numbers pad _PAD layer
@@ -104,7 +106,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
104 * when uploaded to QMK, so that it gives the most commonly used layout: Qwerty with Numpad, 106 * when uploaded to QMK, so that it gives the most commonly used layout: Qwerty with Numpad,
105 * basic 44 Minivan keys. The compact version its state is whatever it is.) 107 * basic 44 Minivan keys. The compact version its state is whatever it is.)
106 */ 108 */
107 #define MINIFAN_CONFIG_COMPACT // _Activate_ this, to load the configuration in ./minifan_config_compact.h (note: mini‛f’an). 109//#define MINIFAN_CONFIG_COMPACT // _Activate_ this, to load the configuration in ./minifan_config_compact.h (note: mini‛f’an).
108#ifndef MINIFAN_CONFIG_COMPACT // (don't alter this) 110#ifndef MINIFAN_CONFIG_COMPACT // (don't alter this)
109 111
110 112
@@ -444,6 +446,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
444 * Recommended if you use _RAR more than _FUN 446 * Recommended if you use _RAR more than _FUN
445 */ 447 */
446//#define SWITCH_RSHIFT_FUN_RAR // _Activate_ to make _RAR layer be on the fast tap, and _FUN on a short hold toggle 448//#define SWITCH_RSHIFT_FUN_RAR // _Activate_ to make _RAR layer be on the fast tap, and _FUN on a short hold toggle
449 /*
450 * • “Switch spacebars”: ‛Space-bar’ ⬅➡ “‛Enter’ + ‛layer-hold _MOV’”
451 *
452 * Recommended if you usually type ‛Space-bar’ with your left hand.
453 * These keys also switch on _MOV (movement) layer. Page-Up goes one spot to the left.
454 */
455//#define SPACE_LEFT__ENTER_RIGHT // _Activate_ for ‛Space bar’ left, ‛Enter’ and ‛_MOV hold’ right hand.
447 456
448 457
449 /* -11- ➡ Eviscerations ( ② / ② ) ⬅ 458 /* -11- ➡ Eviscerations ( ② / ② ) ⬅
@@ -521,11 +530,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
521 530
522 /* -12- ➡ Leds ⬅ 531 /* -12- ➡ Leds ⬅
523 * 532 *
524 * Leds off for the Default Base Layer. 533 * Leds off for the Default or Alternative Base Layer.
525 * Implies: no indication on Default Base for: Caps-lock, typing speed, typing amount done of a limit. 534 * Implies: no indication on Default Base for: Caps-lock, typing speed,
526 * Speed / typing amount will be visible by going to another layer. 535 * typing amount done of a limit.
536 * Speed / typing amount indicated by led will be visible by going to another layer.
527 */ 537 */
528//#define LEDS_OFF_BASE_DEF // _Activate_ to make leds dark when in ‛Default Base’ layer. 538//#define LEDS_OFF_BASE_DEF // _Activate_ to make leds dark when in ‛Default Base’ layer.
539 //
540//#define LEDS_OFF_BASE_ALT // _Activate_ to make leds dark when in ‛Alternative Base’ layer.
529 541
530// ------------------------------------- ⬆ -------------------------------------- 542// ------------------------------------- ⬆ --------------------------------------
531// Below here no more comfortable configuration options..... 543// Below here no more comfortable configuration options.....
@@ -581,11 +593,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
581# define _ALT_NSY _DEF_NSY 593# define _ALT_NSY _DEF_NSY
582# endif 594# endif
583 595
584// This triggers the compilation of special _HALF_ descramble mode, where you access 596// This triggers the compilation of Dvorak descramble mode.
585// the Unicode layers without passing them through the descramble system (middle led
586// lit on _RAR_ when cycling through the base layers with ‛Other Base’ key).
587# ifdef BASE_DVORAK_DESCRAMBLE__ALT_BASE 597# ifdef BASE_DVORAK_DESCRAMBLE__ALT_BASE
588# define DVORAK_DESCRAMBLE_HALF 598# define DVORAK_DESCRAMBLE
589# endif 599# endif
590 600
591// Prevent likely erroneous configuration. If no 'Arrow' hardware layout, then not patching in an arrow cluster. 601// Prevent likely erroneous configuration. If no 'Arrow' hardware layout, then not patching in an arrow cluster.
@@ -611,13 +621,19 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
611# ifndef SWITCH_GUIS 621# ifndef SWITCH_GUIS
612# define KC__XGUI KC_LGUI // Name logic is alphabetic order left to right …X (…) …Y in layout definitions.. 622# define KC__XGUI KC_LGUI // Name logic is alphabetic order left to right …X (…) …Y in layout definitions..
613# define KC__YGUI KC_RGUI // .. meaning KC__XGUI is left on the keymap, KC__YGUI is right. 623# define KC__YGUI KC_RGUI // .. meaning KC__XGUI is left on the keymap, KC__YGUI is right.
614# endif 624# else
615
616# ifdef SWITCH_GUIS
617# define KC__XGUI KC_RGUI 625# define KC__XGUI KC_RGUI
618# define KC__YGUI KC_LGUI 626# define KC__YGUI KC_LGUI
619# endif 627# endif
620 628
629// Switch “spacebars”:
630# ifndef SPACE_LEFT__ENTER_RIGHT // standard
631# define LEFTCENTER_THUMB LT__MOV__KC_ENT
632# define RIGHTCENTER_THUMB KC_SPC
633# else
634# define LEFTCENTER_THUMB KC_SPC // reversed
635# define RIGHTCENTER_THUMB LT__MOV__KC_ENT
636# endif
621 637
622// Define the layout macro for the amount of hardware keys. 638// Define the layout macro for the amount of hardware keys.
623// These for Minivan are defined up in the code tree. 639// These for Minivan are defined up in the code tree.