Merge remote-tracking branch 'origin/master' into develop
commit
49efd6abb0
|
@ -106,25 +106,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
# else
|
# else
|
||||||
, CHOLTAP_ACCE , DUO_HOLD
|
, CHOLTAP_ACCE , DUO_HOLD
|
||||||
# endif
|
# endif
|
||||||
, LT__MOV__KC_ENT
|
, LEFTCENTER_THUMB
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_MIDLEFT
|
# ifdef TRANSMINIVAN_MIDLEFT
|
||||||
, TRANS_MIDLEFT
|
, TRANS_MIDLEFT
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, KC_SPC , DUO_HOLD , KC__YGUI
|
, RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||||
, MO ( _FUN )
|
, MO ( _FUN )
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef MORE_KEY__ARROW
|
# ifdef MORE_KEY__ARROW
|
||||||
, MORE_key2
|
, MORE_key2
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, CHOLTAP_LAYR
|
, CHOLTAP_LAYR
|
||||||
// , , , <|,> , , ,
|
// , , , <|,> , , ,
|
||||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
-*- <|> //(toggle) Access on _FUN
|
-*- <|> //(toggle) Access on _FUN
|
||||||
BASE ! @ # $ % | ^ & * ( ) Del
|
BASE ! @ # $ % | ^ & * ( ) Del
|
||||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||||
-+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht // limitation prevents ~
|
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
|
||||||
^^ ^ // Only differences with normal version _..._NSY
|
^^ ^ // Only differences with normal version _..._NSY
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||||
|
@ -164,7 +164,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
// , -*- , , , , <|,> , , , , , ,
|
// , -*- , , , , <|,> , , , , , ,
|
||||||
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
||||||
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 ) ,
|
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 ) ,
|
||||||
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 ) ,
|
LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE ,
|
||||||
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
LALT_T ( KC_LEFT )
|
LALT_T ( KC_LEFT )
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ Colemak keymaps
|
||||||
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_colemak_ve.jpg)
|
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_colemak_ve.jpg)
|
||||||
Layer: `..._BASE`
|
Layer: `..._BASE`
|
||||||
|
|
||||||
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vb.jpg)
|
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vc.jpg)
|
||||||
Layer: `..._NSY`
|
Layer: `..._NSY`
|
||||||
|
|
||||||
──────────in common────────────
|
──────────in common────────────
|
||||||
|
@ -25,7 +25,7 @@ Layer: `..._NSY`
|
||||||
|
|
||||||
For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
|
For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
|
||||||
|
|
||||||
![Minivan illustration Overview layers by key, Colemak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_colemak_2000_vh.jpg)
|
![Minivan illustration Overview layers by key, Colemak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_colemak_2000_vi.jpg)
|
||||||
|
|
||||||
Layers (text)
|
Layers (text)
|
||||||
=============
|
=============
|
||||||
|
@ -79,7 +79,7 @@ Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>)
|
||||||
-*- <|> //(toggle) Access on _FUN
|
-*- <|> //(toggle) Access on _FUN
|
||||||
BASE ! @ # $ % | ^ & * ( ) Del
|
BASE ! @ # $ % | ^ & * ( ) Del
|
||||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||||
-+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht // limitation prevents ~
|
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
|
||||||
^^ ^ // Only differences with Dvorak version _DEF_NSY
|
^^ ^ // Only differences with Dvorak version _DEF_NSY
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
||||||
|
|
|
@ -107,25 +107,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
, CHOLTAP_ACCE , DUO_HOLD
|
, CHOLTAP_ACCE , DUO_HOLD
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, LT__MOV__KC_ENT
|
, LEFTCENTER_THUMB
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_MIDLEFT
|
# ifdef TRANSMINIVAN_MIDLEFT
|
||||||
, TRANS_MIDLEFT
|
, TRANS_MIDLEFT
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, KC_SPC , DUO_HOLD , KC__YGUI
|
, RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||||
, MO ( _FUN )
|
, MO ( _FUN )
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef MORE_KEY__ARROW
|
# ifdef MORE_KEY__ARROW
|
||||||
, MORE_key2
|
, MORE_key2
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, CHOLTAP_LAYR
|
, CHOLTAP_LAYR
|
||||||
// , , , <|,> , , ,
|
// , , , <|,> , , ,
|
||||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
-*- <|> //(toggle) Access on _FUN
|
-*- <|> //(toggle) Access on _FUN
|
||||||
BASE ! @ # $ % | ^ & * ( ) Del
|
BASE ! @ # $ % | ^ & * ( ) Del
|
||||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||||
-+LSht [{ ]} /? \| =+ | + | ? { } `~+RSht // limitation prevents ~
|
-+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||||
-*- <|> -*- //(hold) Access on _..._BASE
|
-*- <|> -*- //(hold) Access on _..._BASE
|
||||||
|
@ -163,7 +163,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
// , -*- , , , , <|,> , , , , , ,
|
// , -*- , , , , <|,> , , , , , ,
|
||||||
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
||||||
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 ) ,
|
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 ) ,
|
||||||
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 ) ,
|
LSFT_DASH , KC_LBRC , KC_RBRC , KC_SLSH , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_QUES , KC_LCBR , KC_RCBR , RSFT_TILDE ,
|
||||||
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
LALT_T ( KC_LEFT )
|
LALT_T ( KC_LEFT )
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ Dvorak keymaps
|
||||||
![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_dvorak_ve.jpg)
|
![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_dvorak_ve.jpg)
|
||||||
Layer: `..._BASE`
|
Layer: `..._BASE`
|
||||||
|
|
||||||
![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_dvorak_vb.jpg)
|
![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_dvorak_vc.jpg)
|
||||||
Layer: `..._NSY`
|
Layer: `..._NSY`
|
||||||
|
|
||||||
──────────in common────────────
|
──────────in common────────────
|
||||||
|
@ -23,7 +23,7 @@ Layer: `..._NSY`
|
||||||
|
|
||||||
For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
|
For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
|
||||||
|
|
||||||
![Minivan illustration Overview layers by key, Dvorak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_dvorak_2000_vh.jpg)
|
![Minivan illustration Overview layers by key, Dvorak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_dvorak_2000_vi.jpg)
|
||||||
|
|
||||||
Layers (text)
|
Layers (text)
|
||||||
=============
|
=============
|
||||||
|
@ -74,7 +74,7 @@ Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>)
|
||||||
-*- <|> //(toggle) Access on _FUN
|
-*- <|> //(toggle) Access on _FUN
|
||||||
BASE ! @ # $ % | ^ & * ( ) Del
|
BASE ! @ # $ % | ^ & * ( ) Del
|
||||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||||
-+LSht [{ ]} /? \| =+ | + | ? { } `~+RSht // limitation prevents ~
|
-+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
||||||
-*- <|> -*- //(hold) Access on _DEF_BASE
|
-*- <|> -*- //(hold) Access on _DEF_BASE
|
||||||
|
@ -88,5 +88,5 @@ Key associations
|
||||||
----------------
|
----------------
|
||||||
Key placement associations between layers for Dvorak.
|
Key placement associations between layers for Dvorak.
|
||||||
|
|
||||||
![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_dvorak_1500_vd.jpg)
|
![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_dvorak_1500_ve.jpg)
|
||||||
|
|
||||||
|
|
|
@ -149,25 +149,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
, CHOLTAP_ACCE , DUO_HOLD
|
, CHOLTAP_ACCE , DUO_HOLD
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, LT__MOV__KC_ENT
|
, LEFTCENTER_THUMB
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_MIDLEFT
|
# ifdef TRANSMINIVAN_MIDLEFT
|
||||||
, TRANS_MIDLEFT
|
, TRANS_MIDLEFT
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, KC_SPC , DUO_HOLD , KC__YGUI
|
, RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||||
, MO ( _FUN )
|
, MO ( _FUN )
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef MORE_KEY__ARROW
|
# ifdef MORE_KEY__ARROW
|
||||||
, MORE_key2
|
, MORE_key2
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, CHOLTAP_LAYR
|
, CHOLTAP_LAYR
|
||||||
// , , , <|,> , , ,
|
// , , , <|,> , , ,
|
||||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
|
@ -188,7 +188,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
-*- <|> //(toggle) Access on _FUN
|
-*- <|> //(toggle) Access on _FUN
|
||||||
BASE ! @ # $ % | ^ & * ( ) Del
|
BASE ! @ # $ % | ^ & * ( ) Del
|
||||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||||
-+LSht -_ =+ [{ \| ]} | } | { _ + `~+RSht // row 2, raw
|
-+LSht -_ =+ [{ \| ]} | } | { _ + ~+RSht // row 2, raw
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||||
-*- <|> -*- //(hold) Access on _DEF_BASE
|
-*- <|> -*- //(hold) Access on _DEF_BASE
|
||||||
|
@ -205,7 +205,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
// , -*- , , , , <|,> , , , , -*- , ,
|
// , -*- , , , , <|,> , , , , -*- , ,
|
||||||
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
||||||
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 ) ,
|
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 ) ,
|
||||||
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 ) ,
|
LSFT_DASH , KC_MINS , KC_EQL , KC_LBRC , KC_BSLS , KC_RBRC , KC_RCBR , KC_PIPE , KC_LCBR , KC_UNDS , KC_PLUS , RSFT_TILDE ,
|
||||||
// --------------------------------------------------------------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
LALT_T ( KC_LEFT )
|
LALT_T ( KC_LEFT )
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ Dvorak² keymaps
|
||||||
![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_dvorak_ve.jpg)
|
![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_dvorak_ve.jpg)
|
||||||
Layer: `..._BASE`
|
Layer: `..._BASE`
|
||||||
|
|
||||||
![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_dvorak_vb.jpg)
|
![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_dvorak_vc.jpg)
|
||||||
Layer: `..._NSY`
|
Layer: `..._NSY`
|
||||||
|
|
||||||
──────────in common────────────
|
──────────in common────────────
|
||||||
|
@ -27,7 +27,7 @@ Layer: `..._NSY`
|
||||||
|
|
||||||
For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
|
For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
|
||||||
|
|
||||||
![Minivan illustration Overview layers by key, Dvorak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_dvorak_2000_vh.jpg)
|
![Minivan illustration Overview layers by key, Dvorak](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_dvorak_2000_vi.jpg)
|
||||||
|
|
||||||
Layers (text)
|
Layers (text)
|
||||||
=============
|
=============
|
||||||
|
@ -78,7 +78,7 @@ Layers (text)
|
||||||
-*- <|> //(toggle) Access on _FUN
|
-*- <|> //(toggle) Access on _FUN
|
||||||
BASE ! @ # $ % | ^ & * ( ) Del
|
BASE ! @ # $ % | ^ & * ( ) Del
|
||||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||||
-+LSht -_ =+ [{ \| ]} | } | { _ + `~+RSht // row 2, raw
|
-+LSht -_ =+ [{ \| ]} | } | { _ + ~+RSht // row 2, raw
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
||||||
-*- <|> -*- //(hold) Access on _DEF_BASE
|
-*- <|> -*- //(hold) Access on _DEF_BASE
|
||||||
|
@ -131,5 +131,5 @@ Key associations
|
||||||
----------------
|
----------------
|
||||||
Key placement associations between layers for Dvorak.
|
Key placement associations between layers for Dvorak.
|
||||||
|
|
||||||
![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_dvorak-descramble_1500_vd.jpg)
|
![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_dvorak-descramble_1500_ve.jpg)
|
||||||
|
|
||||||
|
|
|
@ -107,25 +107,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
, CHOLTAP_ACCE , DUO_HOLD
|
, CHOLTAP_ACCE , DUO_HOLD
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, LT__MOV__KC_ENT
|
, LEFTCENTER_THUMB
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_MIDLEFT
|
# ifdef TRANSMINIVAN_MIDLEFT
|
||||||
, TRANS_MIDLEFT
|
, TRANS_MIDLEFT
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, KC_SPC , DUO_HOLD , KC__YGUI
|
, RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||||
, MO ( _FUN )
|
, MO ( _FUN )
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef MORE_KEY__ARROW
|
# ifdef MORE_KEY__ARROW
|
||||||
, MORE_key2
|
, MORE_key2
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, CHOLTAP_LAYR
|
, CHOLTAP_LAYR
|
||||||
// , , , <|,> , , ,
|
// , , , <|,> , , ,
|
||||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
-*- <|> //(toggle) Access on _FUN
|
-*- <|> //(toggle) Access on _FUN
|
||||||
BASE ! @ # $ % | ^ & * ( ) Del
|
BASE ! @ # $ % | ^ & * ( ) Del
|
||||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||||
-+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht // limitation prevents ~
|
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
|
||||||
^^ ^ // Only differences with normal version _..._NSY
|
^^ ^ // Only differences with normal version _..._NSY
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||||
|
@ -168,11 +168,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
// Harmonizes with ‛Qwerty Base Arrow’, so that if both are compiled, the user isn't
|
// Harmonizes with ‛Qwerty Base Arrow’, so that if both are compiled, the user isn't
|
||||||
// messing up this key on this Qwerty layout, which has to be different in the other Qwerty.
|
// messing up this key on this Qwerty layout, which has to be different in the other Qwerty.
|
||||||
# ifdef QWERTY_BASEARROW_HARMONIZE
|
# ifdef QWERTY_BASEARROW_HARMONIZE
|
||||||
, KC_SLSH , // Same as in ‛Qwerty Base Arrow’
|
, KC_SLSH , // Same as in ‛Qwerty Base Arrow’. A ‛`’ exists on _BON also.
|
||||||
# else
|
# else
|
||||||
, RCTL_T ( KC_GRV ) , // Default
|
, RCTL_T ( KC_GRV ) , // Default
|
||||||
# endif
|
# endif
|
||||||
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 ) ,
|
LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE ,
|
||||||
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
LALT_T ( KC_LEFT )
|
LALT_T ( KC_LEFT )
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,34 @@ Compiled for: Qwerty
|
||||||
This file details the compile version `#define BASE_QWERTY__DEF_BASE, BASE_QWERTY__ALT_BASE`.
|
This file details the compile version `#define BASE_QWERTY__DEF_BASE, BASE_QWERTY__ALT_BASE`.
|
||||||
This is a Qwerty layout.
|
This is a Qwerty layout.
|
||||||
|
|
||||||
|
Dual layout combination with Qwerty Base Arrow
|
||||||
|
==============================================
|
||||||
|
⚠ If you also compile `base_qwerty_basearrow`, the key for `/?` on `_NSY` layer in that
|
||||||
|
`base_qwerty_basearrow` layout, will be replicated in _this_ Qwerty layout on the `_NSY`
|
||||||
|
layer. It will displace the key `RCTL_T ( KC_GRV )`. Right Control, unless tapped for
|
||||||
|
‛\`’ or tapped with shift for ‛~’ ➡ becomes `/?` (slash/questionmark).
|
||||||
|
|
||||||
|
The reason for this is that when you switch from one or the other Qwerty variation
|
||||||
|
(with or without arrows on ‛Base’ layer), it will likely be confusing to type ‛/?’
|
||||||
|
on that key in one version of Qwerty, and suddenly get a ‛\`~’ in the other. The reason
|
||||||
|
it is not in the normal position on ‛Qwerty Base Arrow’, is because it gets displaced
|
||||||
|
by ‛Up Arrow’.
|
||||||
|
|
||||||
|
You will likely switch from the Base Arrow variation to the regular version, due to a need
|
||||||
|
for the row of keys displaced by the arrow cluster, or the other way around to get Base
|
||||||
|
access to the arrows, rather than a need for this side effect: ‛/?’ being substituted for
|
||||||
|
‛\`~’.
|
||||||
|
|
||||||
|
This means you will loose `_NSY` layer access to ‛\`’, in both versions of Qwerty. You will
|
||||||
|
have to use the key for ‛\`~’ on the `_BON` layer, which is an uncluttered version of this
|
||||||
|
key (it repeats). It also means that you have two keys toward ‛/?’ in standard Qwerty: the
|
||||||
|
default position for Qwerty, and this additional one to harmonize with ‛Qwerty Base Arrow’.
|
||||||
|
|
||||||
|
This harmonization can be disabled in ![./base_qwerty_basearrow.h](./base_qwerty_basearrow.h),
|
||||||
|
with `QWERTY_BASEARROW_HARMONIZE`.
|
||||||
|
|
||||||
|
See also: ![./base_qwerty_basearrow.md](./base_qwerty_basearrow.md)
|
||||||
|
|
||||||
Qwerty keymaps
|
Qwerty keymaps
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
@ -14,7 +42,7 @@ Qwerty keymaps
|
||||||
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_qwerty_ve.jpg)
|
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_qwerty_ve.jpg)
|
||||||
Layer: `..._BASE`
|
Layer: `..._BASE`
|
||||||
|
|
||||||
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vb.jpg)
|
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vc.jpg)
|
||||||
Layer: `..._NSY`
|
Layer: `..._NSY`
|
||||||
|
|
||||||
──────────in common────────────
|
──────────in common────────────
|
||||||
|
@ -23,7 +51,7 @@ Layer: `..._NSY`
|
||||||
|
|
||||||
For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
|
For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
|
||||||
|
|
||||||
![Minivan illustration Overview layers by key, Qwerty](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_qwerty_2000_vh.jpg)
|
![Minivan illustration Overview layers by key, Qwerty](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_qwerty_2000_vi.jpg)
|
||||||
|
|
||||||
Layers (text)
|
Layers (text)
|
||||||
=============
|
=============
|
||||||
|
@ -77,9 +105,8 @@ Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>)
|
||||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
|
||||||
-*- <|> //(toggle) Access on _FUN
|
-*- <|> //(toggle) Access on _FUN
|
||||||
BASE ! @ # $ % | ^ & * ( ) Del
|
BASE ! @ # $ % | ^ & * ( ) Del
|
||||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl // `~+RCtl becomes /? in dual …
|
||||||
-+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht // limitation prevents ~
|
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht // … layout with Qwerty Base Arrow
|
||||||
^^ ^ // Only differences with Dvorak version _DEF_NSY
|
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
||||||
-*- <|> -*- u //(hold) Access on _DEF_BASE
|
-*- <|> -*- u //(hold) Access on _DEF_BASE
|
||||||
|
@ -95,6 +122,6 @@ Key associations
|
||||||
----------------
|
----------------
|
||||||
Key placement associations between layers for Qwerty.
|
Key placement associations between layers for Qwerty.
|
||||||
|
|
||||||
![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_qwerty_1500_vd.jpg)
|
![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_qwerty_1500_ve.jpg)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -141,30 +141,30 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
, CHOLTAP_ACCE , DUO_HOLD
|
, CHOLTAP_ACCE , DUO_HOLD
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, LT__MOV__KC_ENT
|
, LEFTCENTER_THUMB
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_MIDLEFT
|
# ifdef TRANSMINIVAN_MIDLEFT
|
||||||
, TRANS_MIDLEFT
|
, TRANS_MIDLEFT
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, KC_SPC , DUO_HOLD
|
, RIGHTCENTER_THUMB , DUO_HOLD
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||||
, MO ( _FUN )
|
, MO ( _FUN )
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, KC_LEFT
|
, KC_LEFT
|
||||||
// , KC__YGUI
|
// , KC__YGUI
|
||||||
|
|
||||||
# ifdef MORE_KEY__ARROW
|
# ifdef MORE_KEY__ARROW
|
||||||
, KC_DOWN
|
, KC_DOWN
|
||||||
// , MORE_key2
|
// , MORE_key2
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, KC_RIGHT
|
, KC_RIGHT
|
||||||
// , CHOLTAP_LAYR
|
// , CHOLTAP_LAYR
|
||||||
// , , , <|,> , , ,
|
// , , , <|,> , , ,
|
||||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
|
@ -189,7 +189,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
-*- <|> //(toggle) Access on _FUN
|
-*- <|> //(toggle) Access on _FUN
|
||||||
BASE ! @ # $ % | ^ & * ( ) Del
|
BASE ! @ # $ % | ^ & * ( ) Del
|
||||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) /?
|
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) /?
|
||||||
-+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht
|
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht // `~ on _BON
|
||||||
^^ ^ // Only differences with normal version _..._NSY
|
^^ ^ // Only differences with normal version _..._NSY
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||||
|
@ -203,10 +203,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
|
// <pink2 , <pinky , <ring , <middl , <index , <indx2 |, indx2> , index> , middl> , ring> , pinky> , pink2> ,
|
||||||
// , -*- , , , , <|,> , , , , , ,
|
// , -*- , , , , <|,> , , , , , ,
|
||||||
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
||||||
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.
|
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 ,
|
||||||
// RCTL_T ( KC_GRV ) ,
|
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¹
|
||||||
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.
|
|
||||||
// RSFT_T ( KC_TILD ) ,
|
|
||||||
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
LALT_T ( KC_LEFT )
|
LALT_T ( KC_LEFT )
|
||||||
|
|
||||||
|
@ -238,6 +236,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
// , , -*- , <|,> , -*- , ,
|
// , , -*- , <|,> , -*- , ,
|
||||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||||
|
|
||||||
|
// note¹
|
||||||
|
// Sacrificing RCTL, because ‛/’ is a major much used symbol,
|
||||||
|
// which seem to warrant being uncluttered. ‛`’ exists also on _BON
|
||||||
|
// (uncluttered). This breaks the logic that all these standard symbols
|
||||||
|
// exist on this layer _NSY. However, ` and ~ are often in a diminutive
|
||||||
|
// placement on mini keyboards, and ‛arrows on top’ was always going to
|
||||||
|
// be a stretch for a keyboard like this. The other option is to have a
|
||||||
|
// special macro to put tilde ‛~’ and accent grave ‛`’ both on Shift,
|
||||||
|
// but it doesn't seem to make much difference, and makes the firmware
|
||||||
|
// even larger.
|
||||||
),
|
),
|
||||||
|
|
||||||
/* ⬆⬇ */
|
/* ⬆⬇ */
|
||||||
|
|
|
@ -25,16 +25,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
/* • Harmonize regular Qwerty
|
/* • Harmonize regular Qwerty
|
||||||
*
|
*
|
||||||
* If compiling this ‛Qwerty Base Arrow’ base pair with regular Qwerty on
|
* If compiling this ‛Qwerty Base Arrow’ base pair with regular Qwerty on
|
||||||
* the other base pair (dual layout), the key ‛/?’ is on a different key
|
* the other base pair (dual layout), the key ‛/?’ on the _NSY layer in
|
||||||
* in these two layouts. This is bound to cause typing errors. With this
|
* Qwerty Base Arrow, will be replicated in the same spot in regular Qwerty.
|
||||||
* option you can cause the regular Qwerty to also have a ‛/?’ in the same
|
|
||||||
* spot as ‛Qwerty Base Arrow’ has it, sacrificing Right Control/‛`~’ there.
|
|
||||||
*
|
*
|
||||||
* Regular Qwerty will still also have a ‛/?’ key in the normal Qwerty location.
|
* Regular Qwerty will still also have a ‛/?’ key in the normal Qwerty location.
|
||||||
*
|
* See ./base_qwerty_basearrow.md and ./base_qwerty.md for details.
|
||||||
* The key ‛`~’ can be reached through other means: just below on numbers &
|
|
||||||
* symbols _NSY layer, or on the bonus Unicode layer _BON (on the far left, home row).
|
|
||||||
* This is so by default, it remains unchanged.
|
|
||||||
*/
|
*/
|
||||||
#define QWERTY_BASEARROW_HARMONIZE // _Activate_ to harmonize the ‛/?’ key in the regular Qwerty layout.
|
#define QWERTY_BASEARROW_HARMONIZE // _Activate_ to harmonize the ‛/?’ key in the regular Qwerty layout.
|
||||||
// _Remove_ leave regular Qwerty layout unchanged from default.
|
// _Remove_ leave regular Qwerty layout unchanged from default.
|
||||||
|
|
|
@ -2,23 +2,17 @@
|
||||||
|
|
||||||
Compiled for: Qwerty with arrows on Base
|
Compiled for: Qwerty with arrows on Base
|
||||||
========================================
|
========================================
|
||||||
|
|
||||||
This version of Qwerty puts arrows on Base, and assumes the 'arrow' hardware key.
|
This version of Qwerty puts arrows on Base, and assumes the 'arrow' hardware key.
|
||||||
|
|
||||||
You have to manually set *#define `MORE_KEY__ARROW`* in `./user_config.h`,
|
You have to manually set *#define `MORE_KEY__ARROW`* in `./user_config.h`,
|
||||||
|
to let compilation know you have that additional hardware key.
|
||||||
|
|
||||||
If not compiled with ‛Arrow’ hardware key, Base will not contain ‛Down arrow’.
|
If not compiled with ‛Arrow’ hardware key, Base will not contain ‛Down arrow’.
|
||||||
You do not have to worry about what to set the additional hardware key to, on
|
You do not have to worry about what to set the additional hardware key to, on
|
||||||
the Base layer. This will be set to Down Arrow, to complete that arrow cluster.
|
the Base layer. This will be set to Down Arrow, to complete that arrow cluster.
|
||||||
|
|
||||||
The option `QWERTY_BASEARROW_HARMONIZE` in `./base_qwerty_basearrow.h` is set
|
|
||||||
by default, causing the key ‛/?’ in the _regular_ Qwerty layout to _also_ be
|
|
||||||
located in the same spot as in this ‛Qwerty with Arrows on Base’ layout. See
|
|
||||||
the header file `./base_qwerty_basearrow.h` for more details.
|
|
||||||
|
|
||||||
|
|
||||||
Is arrows on Base efficient ?
|
Is arrows on Base efficient ?
|
||||||
=============================
|
=============================
|
||||||
|
|
||||||
This variation of Qwerty is not necessarily the recommended version of
|
This variation of Qwerty is not necessarily the recommended version of
|
||||||
Qwerty for a board with the additional ‛Arrow’ hardware key.
|
Qwerty for a board with the additional ‛Arrow’ hardware key.
|
||||||
The regular Qwerty compile option can provide good arrow access.
|
The regular Qwerty compile option can provide good arrow access.
|
||||||
|
@ -39,12 +33,20 @@ GUI, and ‛/?’.
|
||||||
|
|
||||||
Have it both ways
|
Have it both ways
|
||||||
=================
|
=================
|
||||||
|
|
||||||
You could compile regular Qwerty on one of the Base pairs (‛Default’ or
|
You could compile regular Qwerty on one of the Base pairs (‛Default’ or
|
||||||
‛Alternate’), and Qwerty _with Arrows on Base_ on the other. That way
|
‛Alternate’), and Qwerty _with Arrows on Base_ on the other. That way
|
||||||
you can switch to see what works for you. You could leave it like
|
you can switch to see what works for you. You could leave it like
|
||||||
that, and choose what you want depending on what you are doing.
|
that, and choose what you want depending on what you are doing.
|
||||||
|
|
||||||
|
Dual layout combination with Qwerty Base Arrow
|
||||||
|
==============================================
|
||||||
|
The option `QWERTY_BASEARROW_HARMONIZE` in `./base_qwerty_basearrow.h` is set
|
||||||
|
by default, causing the key ‛/?’ in the _regular_ Qwerty layout to _also_ be
|
||||||
|
located in the same spot as in this ‛Qwerty with Arrows on Base’ layout.
|
||||||
|
|
||||||
|
See also: ![./base_qwerty_basearrow.h](./base_qwerty_basearrow.h).
|
||||||
|
See also: ![./base_qwerty.md](./base_qwerty.md) for the reason behind this.
|
||||||
|
|
||||||
|
|
||||||
Qwerty keymaps
|
Qwerty keymaps
|
||||||
--------------
|
--------------
|
||||||
|
@ -54,7 +56,7 @@ Qwerty keymaps
|
||||||
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_qwerty_basearrow_va.jpg)
|
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_qwerty_basearrow_va.jpg)
|
||||||
Layer: `..._BASE`
|
Layer: `..._BASE`
|
||||||
|
|
||||||
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_basearrow_va.jpg)
|
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_basearrow_vb.jpg)
|
||||||
Layer: `..._NSY`
|
Layer: `..._NSY`
|
||||||
|
|
||||||
──────────in common────────────
|
──────────in common────────────
|
||||||
|
@ -63,7 +65,7 @@ Layer: `..._NSY`
|
||||||
|
|
||||||
For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
|
For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
|
||||||
|
|
||||||
![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)
|
![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)
|
||||||
|
|
||||||
Layers (text)
|
Layers (text)
|
||||||
=============
|
=============
|
||||||
|
@ -118,7 +120,7 @@ Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>)
|
||||||
-*- <|> //(toggle) Access on _FUN
|
-*- <|> //(toggle) Access on _FUN
|
||||||
BASE ! @ # $ % | ^ & * ( ) Del
|
BASE ! @ # $ % | ^ & * ( ) Del
|
||||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) /?
|
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) /?
|
||||||
-+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht
|
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht // See _BON for ‛`’
|
||||||
^^ ^ // Only differences with normal version _..._NSY
|
^^ ^ // Only differences with normal version _..._NSY
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||||
|
|
|
@ -108,25 +108,25 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
, CHOLTAP_ACCE , DUO_HOLD
|
, CHOLTAP_ACCE , DUO_HOLD
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, LT__MOV__KC_ENT
|
, LEFTCENTER_THUMB
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_MIDLEFT
|
# ifdef TRANSMINIVAN_MIDLEFT
|
||||||
, TRANS_MIDLEFT
|
, TRANS_MIDLEFT
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, KC_SPC , DUO_HOLD , KC__YGUI
|
, RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||||
, MO ( _FUN )
|
, MO ( _FUN )
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef MORE_KEY__ARROW
|
# ifdef MORE_KEY__ARROW
|
||||||
, MORE_key2
|
, MORE_key2
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, CHOLTAP_LAYR
|
, CHOLTAP_LAYR
|
||||||
// , , , <|,> , , ,
|
// , , , <|,> , , ,
|
||||||
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
|
||||||
|
|
||||||
),
|
),
|
||||||
|
|
||||||
|
@ -151,7 +151,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
-*- <|> //(toggle) Access on _FUN
|
-*- <|> //(toggle) Access on _FUN
|
||||||
BASE ! @ # $ % | ^ & * ( ) Del
|
BASE ! @ # $ % | ^ & * ( ) Del
|
||||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||||
-+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht // limitation prevents ~
|
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
|
||||||
^^ ^ // Only differences with normal version _..._NSY
|
^^ ^ // Only differences with normal version _..._NSY
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
|
||||||
|
@ -166,7 +166,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
// , -*- , , , , <|,> , , , , , ,
|
// , -*- , , , , <|,> , , , , , ,
|
||||||
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
CTO_BASE , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_LPRN , KC_RPRN , KC_DEL ,
|
||||||
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 ) ,
|
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 ) ,
|
||||||
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 ) ,
|
LSFT_DASH , KC_LBRC , KC_RBRC , KC_MINS , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE , KC_UNDS , KC_LCBR , KC_RCBR , RSFT_TILDE ,
|
||||||
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
LALT_T ( KC_LEFT )
|
LALT_T ( KC_LEFT )
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ Workman keymaps
|
||||||
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_workman_va.jpg)
|
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_workman_va.jpg)
|
||||||
Layer: `..._BASE`
|
Layer: `..._BASE`
|
||||||
|
|
||||||
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vb.jpg)
|
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_qwerty_vc.jpg)
|
||||||
Layer: `..._NSY`
|
Layer: `..._NSY`
|
||||||
|
|
||||||
──────────in common────────────
|
──────────in common────────────
|
||||||
|
@ -25,7 +25,7 @@ Layer: `..._NSY`
|
||||||
|
|
||||||
For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
|
For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
|
||||||
|
|
||||||
![Minivan illustration Overview layers by key, Workman](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_workman_2000_vh.jpg)
|
![Minivan illustration Overview layers by key, Workman](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_workman_2000_vi.jpg)
|
||||||
|
|
||||||
Layers (text)
|
Layers (text)
|
||||||
=============
|
=============
|
||||||
|
@ -80,7 +80,7 @@ Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>)
|
||||||
-*- <|> //(toggle) Access on _FUN
|
-*- <|> //(toggle) Access on _FUN
|
||||||
BASE ! @ # $ % | ^ & * ( ) Del
|
BASE ! @ # $ % | ^ & * ( ) Del
|
||||||
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
|
||||||
-+LSht [{ ]} -_ \| =+ | + | _ { } `~+RSht // limitation prevents ~
|
-+LSht [{ ]} -_ \| =+ | + | _ { } ~+RSht
|
||||||
^^ ^ // Only differences with Dvorak version _DEF_NSY
|
^^ ^ // Only differences with Dvorak version _DEF_NSY
|
||||||
---------------------------------------------------------------------------
|
---------------------------------------------------------------------------
|
||||||
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
|
||||||
|
|
|
@ -19,20 +19,21 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
#define LAYER_STATE_16BIT // This saves more than 400 bytes on the hex file
|
||||||
|
|
||||||
// place overrides here
|
// place overrides here
|
||||||
|
|
||||||
// Some defines meant to decrease the firmware size. The firmware is otherwise over the maximum (atmega32u4)
|
// Some defines meant to decrease the firmware size. The firmware is otherwise over the maximum (atmega32u4)
|
||||||
# ifndef LINK_TIME_OPTIMIZATION_ENABLE
|
//# ifndef LINK_TIME_OPTIMIZATION_ENABLE
|
||||||
//Disable old style macro handling: MACRO() & action_get_macro
|
//Disable old style macro handling: MACRO() & action_get_macro
|
||||||
# define NO_ACTION_MACRO // This saves 320 bytes
|
//# define NO_ACTION_MACRO // This saves 320 bytes
|
||||||
//disable calling of action_function() from the fn_actions array (deprecated)
|
//disable calling of action_function() from the fn_actions array (deprecated)
|
||||||
# define NO_ACTION_FUNCTION // This saves 96 bytes
|
//# define NO_ACTION_FUNCTION // This saves 96 bytes
|
||||||
# endif
|
//# endif
|
||||||
|
|
||||||
#define PERMISSIVE_HOLD
|
#define PERMISSIVE_HOLD
|
||||||
#define RGBLIGHT_EFFECT_BREATHING
|
|
||||||
#define RGBLIGHT_SLEEP // QMK docs: "If defined, the RGB lighting will be switched off when the host goes to sleep"
|
#define RGBLIGHT_SLEEP // QMK docs: "If defined, the RGB lighting will be switched off when the host goes to sleep"
|
||||||
|
#define RGBLIGHT_EFFECT_BREATHING
|
||||||
|
|
||||||
// Layer switch TT(layer) tapping amount to make it toggle
|
// Layer switch TT(layer) tapping amount to make it toggle
|
||||||
#define TAPPING_TERM_HOLTAP 225 // 175 ms proved unreliable, 225 ms seems ok (personal preference)
|
#define TAPPING_TERM_HOLTAP 225 // 175 ms proved unreliable, 225 ms seems ok (personal preference)
|
||||||
|
|
|
@ -118,8 +118,8 @@ enum {
|
||||||
enum {
|
enum {
|
||||||
_NORMAL_, // BASE layer is _DEF_BASE
|
_NORMAL_, // BASE layer is _DEF_BASE
|
||||||
_FULL_, // BASE layer is _ALT_BASE
|
_FULL_, // BASE layer is _ALT_BASE
|
||||||
# ifdef DVORAK_DESCRAMBLE_HALF // not used with other keymaps
|
# ifdef DVORAK_DESCRAMBLE // not used with other keymaps
|
||||||
_HALF_, // BASE layer is _ALT_BASE For DVORAK_DESCRAMBLE_HALF keymap: does *not* re-compute letters in Unicode
|
_HALF_, // BASE layer is _ALT_BASE For DVORAK_DESCRAMBLE keymap: does *not* re-compute letters in Unicode
|
||||||
// This is for different Unicode encodings than “Control+U+HEX” (Linux). It will go through what is set on _RAR
|
// This is for different Unicode encodings than “Control+U+HEX” (Linux). It will go through what is set on _RAR
|
||||||
# endif
|
# endif
|
||||||
};
|
};
|
||||||
|
@ -350,7 +350,8 @@ void indicate_base (void) {
|
||||||
led2r = 100; // purple
|
led2r = 100; // purple
|
||||||
led2b = 100;
|
led2b = 100;
|
||||||
}
|
}
|
||||||
# ifdef DVORAK_DESCRAMBLE_HALF // not used with other keymaps
|
|
||||||
|
# ifdef DVORAK_DESCRAMBLE // not used with other keymaps
|
||||||
else if (_HALF_ == alternate) { // alternate mode, 1 (normal unicode)
|
else if (_HALF_ == alternate) { // alternate mode, 1 (normal unicode)
|
||||||
led0r = 100; // purple
|
led0r = 100; // purple
|
||||||
led0b = 100;
|
led0b = 100;
|
||||||
|
@ -359,6 +360,7 @@ void indicate_base (void) {
|
||||||
led2b = 100;
|
led2b = 100;
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
else if (_FULL_ == alternate) { // alternate mode, 1 (recomputed unicode for DVORAK_DESCRAMBLE)
|
else if (_FULL_ == alternate) { // alternate mode, 1 (recomputed unicode for DVORAK_DESCRAMBLE)
|
||||||
led0r = 100; // purple
|
led0r = 100; // purple
|
||||||
led0b = 100;
|
led0b = 100;
|
||||||
|
@ -471,7 +473,13 @@ void set_led_colors_ (layer_state_t state) {
|
||||||
// Alternate BASE layer (alternate)
|
// Alternate BASE layer (alternate)
|
||||||
else if (layer_state_cmp (state, _ALT_BASE)) {
|
else if (layer_state_cmp (state, _ALT_BASE)) {
|
||||||
|
|
||||||
# if !defined(BASE_NUMPAD__ALT_BASE) // Normal led colors for ‛regular’ base layers like Dvorak, Qwerty.
|
# ifdef LEDS_OFF_BASE_ALT // Alternative Base leds off (always)
|
||||||
|
|
||||||
|
rgblight_disable_noeeprom ();
|
||||||
|
|
||||||
|
# else // do use leds on Alternative Base layer
|
||||||
|
|
||||||
|
# if !defined(BASE_NUMPAD__ALT_BASE) // Normal led colors for ‛regular’ base layers like Dvorak, Qwerty.
|
||||||
|
|
||||||
if (capslock) {
|
if (capslock) {
|
||||||
led2r = 255; // Brighter version to indicate capslock
|
led2r = 255; // Brighter version to indicate capslock
|
||||||
|
@ -482,32 +490,34 @@ void set_led_colors_ (layer_state_t state) {
|
||||||
led2g = color_ddl; //
|
led2g = color_ddl; //
|
||||||
led2b = color_ddl; //
|
led2b = color_ddl; //
|
||||||
}
|
}
|
||||||
|
middle_led_control (HSV_TEAL); // seems to be the same as CYAN/AZURE, conflicts with _ACC
|
||||||
|
|
||||||
# else // BASE_NUMPAD__ALT_BASE: numpad on Alternate Base, which should show the state of NumLock
|
# else // Numpad configured on Alternate Base, which should show the state of NumLock
|
||||||
|
|
||||||
// This is a copy of the _PAD led colors, but less bright
|
// This is a copy of the _PAD led colors, but less bright
|
||||||
if (numlock) {
|
if (numlock) {
|
||||||
led0b = 80; // Blue for the numbers part
|
led0b = 80; // Blue for the numbers part
|
||||||
led2g = 80; // Green for the navigation part
|
led2g = 80; // Green for the navigation part
|
||||||
}else{
|
}else{
|
||||||
led0g = 80; // reversed
|
led2b = 80; // reversed
|
||||||
led2b = 80; //
|
led0g = 80; //
|
||||||
}
|
}
|
||||||
middle_led_control (60, 20, 100); // yellow (low saturation)
|
middle_led_control (60, 20, 100); // light-blue
|
||||||
|
|
||||||
# endif
|
# endif // BASE_NUMPAD__ALT_BASE
|
||||||
|
|
||||||
|
# endif // LEDS_OFF_BASE_ALT
|
||||||
|
|
||||||
middle_led_control (HSV_TEAL); // seems to be the same as CYAN/AZURE, conflicts with _ACC
|
|
||||||
}
|
}
|
||||||
// Default layer (generally), normal BASE layer
|
// Default layer (generally), normal BASE layer
|
||||||
else if (layer_state_cmp (state, _DEF_BASE)) { // letters
|
else if (layer_state_cmp (state, _DEF_BASE)) { // letters
|
||||||
|
|
||||||
# ifdef LEDS_OFF_BASE_DEF
|
# ifdef LEDS_OFF_BASE_DEF // Default Base leds off (always)
|
||||||
led0r = 0; // All leds off when in Default Base
|
|
||||||
led0g = 0; //
|
|
||||||
led0b = 0; //
|
|
||||||
rgblight_disable_noeeprom ();
|
rgblight_disable_noeeprom ();
|
||||||
# else
|
|
||||||
|
# else // Do use leds on Default Base
|
||||||
|
|
||||||
if (capslock) {
|
if (capslock) {
|
||||||
led0r = 255; // Brighter version to indicate capslock
|
led0r = 255; // Brighter version to indicate capslock
|
||||||
led0g = 255; //
|
led0g = 255; //
|
||||||
|
@ -517,16 +527,18 @@ void set_led_colors_ (layer_state_t state) {
|
||||||
led0g = 28; //
|
led0g = 28; //
|
||||||
led0b = 28; //
|
led0b = 28; //
|
||||||
}
|
}
|
||||||
|
|
||||||
middle_led_control (HSV_TEAL);
|
middle_led_control (HSV_TEAL);
|
||||||
|
|
||||||
# endif // LEDS_OFF_BASE_DEF
|
# endif // LEDS_OFF_BASE_DEF
|
||||||
|
|
||||||
}
|
}
|
||||||
//---
|
//---
|
||||||
|
|
||||||
|
// pushes the configuration
|
||||||
setrgb (led0r, led0g, led0b, (LED_TYPE *)&led[0]); // Led 0
|
setrgb (led0r, led0g, led0b, (LED_TYPE *)&led[0]); // Led 0
|
||||||
setrgb (led2r, led2g, led2b, (LED_TYPE *)&led[2]); // Led 2
|
setrgb (led2r, led2g, led2b, (LED_TYPE *)&led[2]); // Led 2
|
||||||
|
|
||||||
isolate_rgblight_set ();
|
isolate_rgblight_set (); // Activates the led color change, after on/off check.
|
||||||
|
|
||||||
# endif //RGBLIGHT_ENABLE
|
# endif //RGBLIGHT_ENABLE
|
||||||
}
|
}
|
||||||
|
@ -1090,13 +1102,26 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
, MORE_key1
|
, MORE_key1
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
, KC_DEL , KC_ENT , _______
|
, KC_DEL , KC_ENT
|
||||||
|
|
||||||
|
# ifndef SPACE_LEFT__ENTER_RIGHT // standard, layer switch on Base
|
||||||
|
, _______
|
||||||
|
# else // reversed
|
||||||
|
, KC_PGUP
|
||||||
|
# endif
|
||||||
|
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_MIDLEFT
|
# ifdef TRANSMINIVAN_MIDLEFT
|
||||||
, TRANS_MIDLEFT
|
, TRANS_MIDLEFT
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
|
||||||
|
# ifndef SPACE_LEFT__ENTER_RIGHT // standard
|
||||||
, KC_PGUP
|
, KC_PGUP
|
||||||
|
# else // reversed, layer switch on Base
|
||||||
|
, _______
|
||||||
|
# endif
|
||||||
|
|
||||||
|
|
||||||
# ifdef TRANSMINIVAN_RIGHTSIDE
|
# ifdef TRANSMINIVAN_RIGHTSIDE
|
||||||
, TRANS_RIGHT
|
, TRANS_RIGHT
|
||||||
|
|
|
@ -27,12 +27,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
//#define BASE_QWERTY_BASEARROW__ALT_BASE
|
//#define BASE_QWERTY_BASEARROW__ALT_BASE
|
||||||
#define BASE_DVORAK__DEF_BASE
|
#define BASE_DVORAK__DEF_BASE
|
||||||
//#define BASE_DVORAK__ALT_BASE
|
//#define BASE_DVORAK__ALT_BASE
|
||||||
//#define BASE_DVORAK_DESCRAMBLE__ALT_BASE
|
#define BASE_DVORAK_DESCRAMBLE__ALT_BASE
|
||||||
//#define BASE_COLEMAK__DEF_BASE
|
//#define BASE_COLEMAK__DEF_BASE
|
||||||
//#define BASE_COLEMAK__ALT_BASE
|
//#define BASE_COLEMAK__ALT_BASE
|
||||||
//#define BASE_WORKMAN__DEF_BASE
|
//#define BASE_WORKMAN__DEF_BASE
|
||||||
//#define BASE_WORKMAN__ALT_BASE
|
//#define BASE_WORKMAN__ALT_BASE
|
||||||
#define BASE_NUMPAD__ALT_BASE
|
//#define BASE_NUMPAD__ALT_BASE
|
||||||
|
|
||||||
//#define MINIFAN_SINGLE_LAYOUT
|
//#define MINIFAN_SINGLE_LAYOUT
|
||||||
|
|
||||||
|
@ -74,13 +74,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#define WORDS_PER_MINUTE
|
#define WORDS_PER_MINUTE
|
||||||
|
|
||||||
//#define BASE_RIGHT_ALT
|
//#define BASE_RIGHT_ALT
|
||||||
#define SWITCH_GUIS
|
//#define SWITCH_GUIS
|
||||||
//#define UNICODE_CURRENCY 0x20ac
|
//#define UNICODE_CURRENCY 0x20ac
|
||||||
//#define POINT_ON_CHECKBOXES
|
//#define POINT_ON_CHECKBOXES
|
||||||
//#define SWITCH_BASE_ROW1_23
|
//#define SWITCH_BASE_ROW1_23
|
||||||
//#define SWITCH_HOLD_ACC_NSY
|
//#define SWITCH_HOLD_ACC_NSY
|
||||||
#define SWITCH_LSHIFT_PAD_MOV
|
#define SWITCH_LSHIFT_PAD_MOV
|
||||||
#define SWITCH_RSHIFT_FUN_RAR
|
#define SWITCH_RSHIFT_FUN_RAR
|
||||||
|
//#define SPACE_LEFT__ENTER_RIGHT
|
||||||
|
|
||||||
//#define REMOVE_PAD
|
//#define REMOVE_PAD
|
||||||
//#define REMOVE_ACC
|
//#define REMOVE_ACC
|
||||||
|
@ -100,3 +101,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#define FULL_BON_4THROW
|
#define FULL_BON_4THROW
|
||||||
|
|
||||||
#define LEDS_OFF_BASE_DEF
|
#define LEDS_OFF_BASE_DEF
|
||||||
|
#define LEDS_OFF_BASE_ALT
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Minivan
|
# Minivan keyboard layout _Minifan_
|
||||||
A 40% keyboard made first by TheVan Keyboards
|
A 40% keyboard made first by TheVan Keyboards
|
||||||
_https://thevankeyboards.com_ now taken over by TKC
|
_https://thevankeyboards.com_ now taken over by TKC
|
||||||
_https://thekey.company_
|
_https://thekey.company_
|
||||||
|
@ -23,12 +23,11 @@ Table of Contents
|
||||||
3.2 Special layouts
|
3.2 Special layouts
|
||||||
3.2.1 Numbers pad
|
3.2.1 Numbers pad
|
||||||
4 The common system
|
4 The common system
|
||||||
4.1 Main features
|
4.1 Layer access
|
||||||
4.2 Layer access
|
4.2 Layout in graphics
|
||||||
4.3 Layout in graphics
|
4.3 Layout in text
|
||||||
4.4 Layout in text
|
4.4 Movement layer options
|
||||||
4.5 Movement layer options
|
4.5 Numbers pad layer options
|
||||||
4.6 Numbers pad layer options
|
|
||||||
5 Led colors for layers
|
5 Led colors for layers
|
||||||
6 Compile options
|
6 Compile options
|
||||||
7 Language support
|
7 Language support
|
||||||
|
@ -39,8 +38,9 @@ Table of Contents
|
||||||
9 Text size measuring
|
9 Text size measuring
|
||||||
9.1 Text size Usage
|
9.1 Text size Usage
|
||||||
10 Making your own base layer(s)
|
10 Making your own base layer(s)
|
||||||
11 Eviscerations
|
11 Evisceration
|
||||||
12 Key associations
|
12 Key associations
|
||||||
|
12.1 Compared to regular keyboard
|
||||||
13 Trouble shooting
|
13 Trouble shooting
|
||||||
• Compiling
|
• Compiling
|
||||||
• Unicode
|
• Unicode
|
||||||
|
@ -54,19 +54,33 @@ Table of Contents
|
||||||
|
|
||||||
1 Overview
|
1 Overview
|
||||||
==========
|
==========
|
||||||
_A layout for the demanding keyboard user (10 fingers / blind)._
|
|
||||||
Designed for intuitive key placement, more symbols than standard English
|
|
||||||
keyboard, speed and text size measuring.
|
|
||||||
*400%* _the capability in_ *40%* _the size_ (by key function count).
|
|
||||||
|
|
||||||
For some ‛common layers’ (numbers pad, movement), different versions
|
☑ _Intuitive:_ Key placement follows what a 10 finger typist is used
|
||||||
can be chosen than shown just below in this by layer view:
|
to on a regular keyboard. Similar keys meanings are on the same
|
||||||
|
key in different layers, or the same finger, etc. See also chapter
|
||||||
|
12, _Key associations._ Thumbs control the most used layer access.
|
||||||
|
|
||||||
![Minivan illustration Overview layers](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization_1500_vf.jpg)
|
☑ _Feature rich:_ Dual layout, with several standard layouts to choose
|
||||||
|
from. Expanded character set. Measure typing speed and/or amount of text
|
||||||
|
typed. Mouse control, media control, power control, Unicode encoding for
|
||||||
|
several platforms. In total there are about 4 times as many key functions
|
||||||
|
than on a regular keyboard.
|
||||||
|
|
||||||
|
☑ _Configurable:_ Choose between standard layouts (Qwerty, Dvorak, etc);
|
||||||
|
additional hardware keys ‛command/south-paw’ and/or ‛arrow’; movement
|
||||||
|
layer WASD or flat arrows/mouse; numbers pad similar to regular numbers
|
||||||
|
and/or like a regular numbers pad; and other settings. Easy to add your
|
||||||
|
own layers. See ![./user_config.h](./user_config.h)
|
||||||
|
|
||||||
|
☒ What it does *not* do: work on a computer set to a non-English language,
|
||||||
|
such as German or French. (To add such functionality requires some work,
|
||||||
|
but it seems it should be possible. See ![./todo.md](./todo.md).)
|
||||||
|
|
||||||
|
![Minivan illustration Overview layers](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization_1500_vg.jpg)
|
||||||
|
|
||||||
By key view:
|
By key view:
|
||||||
|
|
||||||
![Minivan illustration Overview layers by key](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_2000_vh.jpg)
|
![Minivan illustration Overview layers by key](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_2000_vi.jpg)
|
||||||
|
|
||||||
1.1 Hardware compatibility
|
1.1 Hardware compatibility
|
||||||
==========================
|
==========================
|
||||||
|
@ -99,7 +113,7 @@ See also chapter 6 _Language support_.
|
||||||
2 'make' example
|
2 'make' example
|
||||||
================
|
================
|
||||||
… Download the repository, resolve software dependencies etc..
|
… Download the repository, resolve software dependencies etc..
|
||||||
… To change compile options: edit user_config.h (or `minifan_config_compact.h`)
|
… To change compile options: edit ./user_config.h (or `./minifan_config_compact.h`)
|
||||||
> cd […]/qmk_firmware
|
> cd […]/qmk_firmware
|
||||||
> make thevankeyboards/minivan:josjoha
|
> make thevankeyboards/minivan:josjoha
|
||||||
> su
|
> su
|
||||||
|
@ -112,11 +126,11 @@ links to the others files in this readme. The common system is explained
|
||||||
in this readme.md file. The options for the letters and number/symbol
|
in this readme.md file. The options for the letters and number/symbol
|
||||||
layer pairs (two pairs in the dual layout) are explained in their
|
layer pairs (two pairs in the dual layout) are explained in their
|
||||||
separate readme file, see immediately below. Compile options are detailed
|
separate readme file, see immediately below. Compile options are detailed
|
||||||
in `./user_config.h`.
|
in ![./user_config.h](./user_config.h)
|
||||||
|
|
||||||
3 Base layouts
|
3 Base layouts
|
||||||
==============
|
==============
|
||||||
Layouts are presented here in a sort of simplified keycaps view. If a
|
Layouts are presented here in a sort of simplified key caps view. If a
|
||||||
base layer pair has its own user configuration options, they are located
|
base layer pair has its own user configuration options, they are located
|
||||||
in `./base_NAME.h`.
|
in `./base_NAME.h`.
|
||||||
|
|
||||||
|
@ -134,7 +148,7 @@ For the readme about the Qwerty version, see ➡ ![base_qwerty.md](./base_qwerty
|
||||||
3.1.2 Qwerty with arrows on Base
|
3.1.2 Qwerty with arrows on Base
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_qwerty_basearrow_vd.jpg)
|
![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_qwerty_basearrow_ve.jpg)
|
||||||
|
|
||||||
For the readme about this Qwerty variation, see ➡ ![base_qwerty_basearrow.md](./base_qwerty_basearrow.md) ⬅
|
For the readme about this Qwerty variation, see ➡ ![base_qwerty_basearrow.md](./base_qwerty_basearrow.md) ⬅
|
||||||
|
|
||||||
|
@ -186,33 +200,23 @@ For the readme about the Numpad version, see ➡ ![base_numpad.md](./base_numpad
|
||||||
|
|
||||||
![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_common_vc.jpg)
|
![Minivan layout impression](http://socialism.nl/misc/minivan/minivan_keycapview_common_vc.jpg)
|
||||||
|
|
||||||
4.1 Main features
|
4.1 Layer access
|
||||||
-----------------
|
|
||||||
• Dual layout. Several layouts to choose from (example: Qwerty
|
|
||||||
and Dvorak dual layout). Easy to add more layouts.
|
|
||||||
• Expanded character set with western European accented characters
|
|
||||||
(ëøßœç…); sub- super-script numbers (¹₂…) quite a few additional
|
|
||||||
symbols such as 《 ± • ☑ ❦ √ ┣ ≠ 》…
|
|
||||||
• Typing speed measuring. Led changes color with your speed. You can
|
|
||||||
ask for a report on your current and average typing speeds.
|
|
||||||
• Text size measuring. If you want to type some amount of words or
|
|
||||||
characters, the middle led will go from green to red as you go,
|
|
||||||
and prevent you going over the limit.
|
|
||||||
|
|
||||||
4.2 Layer access
|
|
||||||
----------------
|
----------------
|
||||||
This graphic shows how layers are reached from the ‛Default base’ layer.
|
The graphic below shows how layers are reached from the ‛Default base’ layer.
|
||||||
|
|
||||||
![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-default-base-layer-activation_1500_vf.jpg)
|
This seems to be the place where one is supposed to say: “This is simple”.
|
||||||
|
It may look more confusing than it is. If you write down an alphabet A,B, ➡ Z,
|
||||||
|
made arrows from every key on a keyboard picture to one of the letters, it could
|
||||||
|
look just as confusing. When switching to a layer, you only think about where you
|
||||||
|
want to go.
|
||||||
|
|
||||||
You can switch between the default base layer (typically letters), and
|
![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-default-base-layer-activation_2000_vi.jpg)
|
||||||
another base layer, the alternate base layer (also typically letters),
|
|
||||||
on the `_RAR` layer with key ‛Other Base’. Each base layer comes
|
|
||||||
with its own second layer, typically numbers-symbols. The other
|
|
||||||
layers are used common between the default and alternate base layers.
|
|
||||||
|
|
||||||
The Base layers and their numbers layer are detailed in files beginning
|
Each of the two base layers comes with its own second layer, typically
|
||||||
with `./base_…` (links below).
|
numbers-symbols. The other layers are used common between the default and
|
||||||
|
alternate base layers. You can switch between the default base layer
|
||||||
|
(typically letters), and another base layer, the alternate base layer
|
||||||
|
(also typically letters), on the `_RAR` layer with key ‛Other Base’.
|
||||||
|
|
||||||
Layer overview: Defined in:
|
Layer overview: Defined in:
|
||||||
|
|
||||||
|
@ -230,23 +234,19 @@ with `./base_…` (links below).
|
||||||
• Function keys / layer toggles ┃
|
• Function keys / layer toggles ┃
|
||||||
• Power, media, Speed, Text size, etc. ┛
|
• Power, media, Speed, Text size, etc. ┛
|
||||||
|
|
||||||
There are some additional layer switching keys due to key transparency
|
4.2 Layout in graphics
|
||||||
artefacts, allowing for example to go back to ‛Base’ from a toggled `_MOV`
|
|
||||||
layer with what is the ‛Enter’ key on Base.
|
|
||||||
|
|
||||||
4.3 Layout in graphics
|
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_hide_def_base_ve.jpg)
|
![Minivan layout Image BASEdef](http://socialism.nl/misc/minivan/minivan_base_layer_hide_def_base_ve.jpg)
|
||||||
Layer: `DEF_BASE`
|
Layer: `DEF_BASE`
|
||||||
|
|
||||||
![Minivan layout Image NSYdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_hide_def_base_vb.jpg)
|
![Minivan layout Image NSYdef](http://socialism.nl/misc/minivan/minivan_nsy_layer_hide_def_base_vc.jpg)
|
||||||
Layer: `DEF_NSY`
|
Layer: `DEF_NSY`
|
||||||
|
|
||||||
![Minivan layout Image BASEalt](http://socialism.nl/misc/minivan/minivan_base_layer_hide_alt_base_ve.jpg)
|
![Minivan layout Image BASEalt](http://socialism.nl/misc/minivan/minivan_base_layer_hide_alt_base_ve.jpg)
|
||||||
Layer: `ALT_BASE`
|
Layer: `ALT_BASE`
|
||||||
|
|
||||||
![Minivan layout Image NSYalt](http://socialism.nl/misc/minivan/minivan_nsy_layer_hide_alt_base_vb.jpg)
|
![Minivan layout Image NSYalt](http://socialism.nl/misc/minivan/minivan_nsy_layer_hide_alt_base_vc.jpg)
|
||||||
Layer: `ALT_NSY`
|
Layer: `ALT_NSY`
|
||||||
|
|
||||||
![Minivan layout Image PAD](http://socialism.nl/misc/minivan/minivan_pad_layer_vc.jpg)
|
![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.
|
||||||
![Minivan layout Image RAR](http://socialism.nl/misc/minivan/minivan_rar_layer_vc.jpg)
|
![Minivan layout Image RAR](http://socialism.nl/misc/minivan/minivan_rar_layer_vc.jpg)
|
||||||
Layer: `_RAR`
|
Layer: `_RAR`
|
||||||
|
|
||||||
4.4 Layout in text
|
4.3 Layout in text
|
||||||
------------------
|
------------------
|
||||||
|
What comes on “___” is to be defined by the Base layers choice.
|
||||||
|
|
||||||
Layer _DEF_BASE (Letters layer, see ./base* files for what comes on ‛__’)
|
Layer _DEF_BASE (Letters layer, see ./base* files for what comes on ‛__’)
|
||||||
| Right hand
|
| Right hand
|
||||||
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
<pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
|
||||||
|
@ -596,7 +598,7 @@ Remarks. ☐ ☒ ☑ 🗹 or ⮘ ⮙ ⮚ ⮛
|
||||||
|
|
||||||
- - -
|
- - -
|
||||||
|
|
||||||
4.5 Movement layer options
|
4.4 Movement layer options
|
||||||
--------------------------
|
--------------------------
|
||||||
The movement layer (`_MOV`) has several configuration options. You
|
The movement layer (`_MOV`) has several configuration options. You
|
||||||
can either have _triangle_ configuration arrows on the _left_ hand
|
can 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
|
||||||
|
|
||||||
^ `#define` \[`MORE_KEY__ARROW`, `MOREKEY2_ARROW_CLUSTER`\] `VI_SWITCHERYDOO`, `#undef ARROWS_TRIANGLE`
|
^ `#define` \[`MORE_KEY__ARROW`, `MOREKEY2_ARROW_CLUSTER`\] `VI_SWITCHERYDOO`, `#undef ARROWS_TRIANGLE`
|
||||||
|
|
||||||
4.6 Numbers pad layer options
|
4.5 Numbers pad layer options
|
||||||
-----------------------------
|
-----------------------------
|
||||||
This concerns the numbers pad layer, the one that is part of the common layers.
|
This concerns the numbers pad layer, the one that is part of the common layers.
|
||||||
|
|
||||||
|
@ -669,7 +671,7 @@ This concerns the numbers pad layer, the one that is part of the common layers.
|
||||||
show the color of the last layer that was active.
|
show the color of the last layer that was active.
|
||||||
• ⁽²⁾ The colors are reversed blue/low-white/green when numlock is on.
|
• ⁽²⁾ The colors are reversed blue/low-white/green when numlock is on.
|
||||||
Left led color memory aid: same as either numbers or movement layer for numlock on/off.
|
Left led color memory aid: same as either numbers or movement layer for numlock on/off.
|
||||||
• ⁽³⁾ The colors are reversed to orange/red/red when set to de-activate after one F-key press.
|
• ⁽³⁾ The colors are reversed to orange/red/red when set to deactivate after one F-key press.
|
||||||
• ⁽⁴⁾ The colors are reversed purple/purple/white, indicating which of the two base layers
|
• ⁽⁴⁾ The colors are reversed purple/purple/white, indicating which of the two base layers
|
||||||
is active (see below).
|
is active (see below).
|
||||||
• Middle led: Breathing effect. When not breathing, keyboard is not working normally with the computer.
|
• 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.
|
||||||
|
|
||||||
• Reduce firmware size/bloat: remove or eviscerate Unicode layer(s).
|
• Reduce firmware size/bloat: remove or eviscerate Unicode layer(s).
|
||||||
|
|
||||||
For the complete list, see `./user_config.h`.
|
For the complete list, see ![./user_config.h](./user_config.h)
|
||||||
|
|
||||||
7 Language support
|
7 Language support
|
||||||
==================
|
==================
|
||||||
|
@ -770,7 +772,7 @@ The following quotation marks are available, which seems it would cover these la
|
||||||
|
|
||||||
¹) Left side is a basic comma.
|
¹) Left side is a basic comma.
|
||||||
|
|
||||||
See the `_ACC` _accented characters_ layer for all characters with diacretic markings.
|
See the `_ACC` _accented characters_ layer for all characters with diacritic markings.
|
||||||
If you miss a symbol, you could replace one you don't use and add it yourself (by
|
If you miss a symbol, you could replace one you don't use and add it yourself (by
|
||||||
reprogramming the source code).
|
reprogramming the source code).
|
||||||
|
|
||||||
|
@ -784,7 +786,7 @@ reprogramming the source code).
|
||||||
when a maximum is set, over layer colors or speed measurement.
|
when a maximum is set, over layer colors or speed measurement.
|
||||||
|
|
||||||
With the key ‛Speed’ on the `_RAR` layer, the speed of your latest
|
With the key ‛Speed’ on the `_RAR` layer, the speed of your latest
|
||||||
completed batch of 25 keypresses is computed, as well as the average of
|
completed batch of 25 key presses is computed, as well as the average of
|
||||||
all your batches of 25 keys. The speed is displayed as the color of the
|
all your batches of 25 keys. The speed is displayed as the color of the
|
||||||
middle led, which otherwise shows the layer color. A bright white middle
|
middle led, which otherwise shows the layer color. A bright white middle
|
||||||
led indicates ‛Speed’ has just been activated.
|
led indicates ‛Speed’ has just been activated.
|
||||||
|
@ -949,7 +951,7 @@ Now you have integrated your base layers alternative. To compile it:
|
||||||
_Remove_ any other base layers from being defined on the
|
_Remove_ any other base layers from being defined on the
|
||||||
same spot _DEF_BASE or _ALT_BASE to prevent a conflict.
|
same spot _DEF_BASE or _ALT_BASE to prevent a conflict.
|
||||||
|
|
||||||
⑤ Check Pre-processing with:
|
⑤ Check Preprocessing with:
|
||||||
> gcc -E keymap.c | less
|
> gcc -E keymap.c | less
|
||||||
|
|
||||||
⑥ Compile and flash to your keyboard.
|
⑥ Compile and flash to your keyboard.
|
||||||
|
@ -979,7 +981,7 @@ You can re-define `_ACC` in your own file.
|
||||||
⑨ Compile and flash to your keyboard.
|
⑨ Compile and flash to your keyboard.
|
||||||
|
|
||||||
Now we will look at a more complicated keymap, where you are also altering
|
Now we will look at a more complicated keymap, where you are also altering
|
||||||
preprocessor constants defined in `./user_config.h`. (Warning, perhaps this
|
preprocessor constants defined in ![./user_config.h](./user_config.h) (Warning, perhaps this
|
||||||
is overkill … ;-)
|
is overkill … ;-)
|
||||||
|
|
||||||
Example: the `./base_numpad.c` has an option to entirely eviscerate the
|
Example: the `./base_numpad.c` has an option to entirely eviscerate the
|
||||||
|
@ -998,7 +1000,7 @@ need to reverse Left GUI and Right GUI.
|
||||||
|
|
||||||
① ⓪ Write the necessary code to set and unset the constant
|
① ⓪ Write the necessary code to set and unset the constant
|
||||||
`SWITCH_GUIS` in your `./base_YOUR_KEYMAP.h` file You are encouraged
|
`SWITCH_GUIS` in your `./base_YOUR_KEYMAP.h` file You are encouraged
|
||||||
to write code which overrides any setting in `./user_config.h, for
|
to write code which overrides any setting in `./user_config.h,` for
|
||||||
those constants which you choose to affect, for simplicity sake.
|
those constants which you choose to affect, for simplicity sake.
|
||||||
(This is not a C programming manual, so it won't get into this.)
|
(This is not a C programming manual, so it won't get into this.)
|
||||||
|
|
||||||
|
@ -1017,14 +1019,14 @@ need to reverse Left GUI and Right GUI.
|
||||||
* ⚠ Note: ./base_YOUR_KEYMAP.h can overrides this setting, if compiled with that ‛Base’ layer.
|
* ⚠ Note: ./base_YOUR_KEYMAP.h can overrides this setting, if compiled with that ‛Base’ layer.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Putting your `*.h` header file in `./user_config.h` isn't strictly
|
Putting your `*.h` header file in ![./user_config.h](./user_config.h) isn't strictly
|
||||||
necessary, unless you alter “general preprocessor constants”
|
necessary, unless you alter “general preprocessor constants”
|
||||||
defined in `./user_config` (not local constants for your keymap only).
|
defined in ![./user_config.h](./user_config.h) (not local constants for your keymap only).
|
||||||
|
|
||||||
Perhaps a separate header file is overkill. On the other hand, whatever
|
Perhaps a separate header file is overkill. On the other hand, whatever
|
||||||
preprocessor logic is necessary after user configuration has been given,
|
preprocessor logic is necessary after user configuration has been given,
|
||||||
can be handled in one place, if #included as suggested. It allows you
|
can be handled in one place, if #included as suggested. It allows you
|
||||||
to override the settings in `./user_config.h` from your header file
|
to override the settings in ![./user_config.h](./user_config.h) from your header file
|
||||||
(because it is #included immediately below those). If a user is playing with
|
(because it is #included immediately below those). If a user is playing with
|
||||||
keymaps Base compile choices, it could be convenient to play with
|
keymaps Base compile choices, it could be convenient to play with
|
||||||
`./base_YOUR_KEYMAP.h` settings, have everything that could be relevant
|
`./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
|
||||||
`./base_YOUR_KEYMAP.h` file, if it does not touch anything else but your
|
`./base_YOUR_KEYMAP.h` file, if it does not touch anything else but your
|
||||||
local keymap.
|
local keymap.
|
||||||
|
|
||||||
11 Eviscerations
|
11 Evisceration
|
||||||
================
|
===============
|
||||||
Cutting down the keymap reduces the firmware size, and helps reducing
|
Cutting down the keymap reduces the firmware size, and helps reducing
|
||||||
mental clutter from having masses of symbols you might never want to use.
|
mental clutter from having masses of symbols you might never want to use.
|
||||||
|
|
||||||
You can compile as a single layout. Define only a ‛Default’ base pair,
|
You can compile as a single layout. Define only a ‛Default’ base pair,
|
||||||
and set `MINIFAN_SINGLE_LAYOUT` (`./user_config.h`). The leds for the
|
and set `MINIFAN_SINGLE_LAYOUT` (![./user_config.h](./user_config.h)). The leds for the
|
||||||
base layers letters and numbers&symbols, will show up as they would for
|
base layers letters and numbers&symbols, will show up as they would for
|
||||||
the ‛Alternate’ layer in a dual layout compilation.
|
the ‛Alternate’ layer in a dual layout compilation.
|
||||||
|
|
||||||
You can remove the layers `_ACC`, `_DRA` and/or `_BON` (see
|
You can remove the layers `_ACC`, `_DRA` and/or `_BON` (see
|
||||||
`./user_config.h` around `REMOVE_ACC`).
|
![./user_config.h](./user_config.h) around `REMOVE_ACC`).
|
||||||
|
|
||||||
You can remove a set of symbols from one or more of Unicode layers,
|
You can remove a set of symbols from one or more of Unicode layers,
|
||||||
such as not having box drawing characters on `_BON`, or no sub-script
|
such 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 ‛(’
|
||||||
on the numbers-symbols layer (`_NSY`), becomes the symbol ‛⁽’ on
|
on the numbers-symbols layer (`_NSY`), becomes the symbol ‛⁽’ on
|
||||||
another layer.
|
another layer.
|
||||||
|
|
||||||
![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_common_1500_vd.jpg)
|
![Minivan layout Image associations](http://socialism.nl/misc/minivan/minivan-relationships_common_1500_ve.jpg)
|
||||||
|
|
||||||
|
12.1 Compared to regular keyboard
|
||||||
|
=================================
|
||||||
|
The main advantage compared to a regular keyboard is to never have to
|
||||||
|
leave the homerow.
|
||||||
|
|
||||||
|
Basic trade-off examples are: (①) on a regular keyboard you need to
|
||||||
|
reach two rows up to press a number like ‛4’; (②) three rows up to reach
|
||||||
|
an F-key like ‛F4’; (③) or move your hand entirely to reach the navigation
|
||||||
|
cluster for ‛Up-Arrow’. On this Minivan 40% keyboard with this ‛Minifan’
|
||||||
|
layout you (①) move either thumb sideways a little to hold down the
|
||||||
|
number/symbols layer key, and then press down left index finger for ‛4’;
|
||||||
|
(②) press and let go ‛Right-Shift’ to toggle the F-keys layer and then
|
||||||
|
press down left index finger for ‛F4’; (③) press down left thumb on where
|
||||||
|
it probably is resting, and then move left ring finger one row up to reach
|
||||||
|
‛Up-Arrow’.
|
||||||
|
|
||||||
|
A downside is that you would be typing a non-standard keyboard, making
|
||||||
|
it harder to adapt to regular keyboards. On the upside, this keyboard is
|
||||||
|
small enough to take it with you. Plugging it into some other computer
|
||||||
|
is only going to work, if that other computer is not using a language
|
||||||
|
setting which changes too many keycodes, or if changing the language
|
||||||
|
setting is not a problem.
|
||||||
|
|
||||||
|
In total the differences are probably marginal. It can be worth it if
|
||||||
|
you are doing a lot of 10 finger typing. The change in efficiency might
|
||||||
|
be similar to changing from Qwerty to Dvorak or another such optimized
|
||||||
|
layout, although incomparably much easier to learn than changing from
|
||||||
|
Qwerty to Dvorak (in author's personal experience). If the latter can
|
||||||
|
take years, the former could take weeks to months. Keep in mind that
|
||||||
|
you have the whole standard letters keymap where it used to be, plus the
|
||||||
|
numbers with their shifted symbols are in predictable locations.
|
||||||
|
|
||||||
|
The hardest to learn out of the standard symbols, will be: /\=+|?, and
|
||||||
|
to a lesser degree {}[]. These are now evenly spread out, rather than this
|
||||||
|
mess you have under right little finger on regular keyboards.
|
||||||
|
|
||||||
13 Trouble shooting
|
13 Trouble shooting
|
||||||
===================
|
===================
|
||||||
|
@ -1100,7 +1138,11 @@ another layer.
|
||||||
|
|
||||||
14 Why you want this layout
|
14 Why you want this layout
|
||||||
===========================
|
===========================
|
||||||
☞ This layout seems easy to learn and predictable.
|
☞ This layout seems easy to learn and predictable. It is not personalized
|
||||||
|
or idiosyncratic, but rather based on existing keyboards, typewriters
|
||||||
|
and commonly used symbols in the supported languages. The key placement
|
||||||
|
is as close to a regular keyboard as possible, unless there are clearly
|
||||||
|
better placement choices.
|
||||||
|
|
||||||
☞ The normally most used layer after letters is “numbers & symbols”
|
☞ The normally most used layer after letters is “numbers & symbols”
|
||||||
(123…, !@#…, []/…, called `_NSY`). This layer you can access by either
|
(123…, !@#…, []/…, called `_NSY`). This layer you can access by either
|
||||||
|
@ -1145,39 +1187,37 @@ another layer.
|
||||||
┇ ④
|
┇ ④
|
||||||
|
|
||||||
☞ Speed and text size measuring, including to set a maximum on your text input.
|
☞ Speed and text size measuring, including to set a maximum on your text input.
|
||||||
These are features not part off regular keyboards.
|
These are features not part of regular keyboards.
|
||||||
|
|
||||||
☞ Easy to create your own dual layout for letters / numbers.
|
☞ Easy to create your own dual layout for letters / numbers.
|
||||||
|
|
||||||
☞ If you do want to reprogram the code, it has a lot of comments to make
|
☞ If you do want to reprogram the code, it has a lot of comments to make
|
||||||
it easier to follow.
|
it easier to follow, and over the top much documentation as you can see.
|
||||||
|
|
||||||
|
|
||||||
15 BUGS
|
15 BUGS
|
||||||
=======
|
=======
|
||||||
No real bugs known currently. Just some minor issues …
|
No real bugs known currently. Just some minor issues …
|
||||||
|
|
||||||
The tilde ~ on the numbers-symbols layer should logically be reached on the second
|
|
||||||
row without the need for _shift,_ however there seems to be a QMK limitation
|
|
||||||
with this. No work around has been attempted as of yet. (It seems to be a minor issue;
|
|
||||||
using shift for once seems OK.)
|
|
||||||
|
|
||||||
`LCTL_T` `( KC_TAB )` is not seen as a blank by word counting, use as Control is not
|
`LCTL_T` `( KC_TAB )` is not seen as a blank by word counting, use as Control is not
|
||||||
ignored in character counting. (This minor issue is ignored for now. Tab is not
|
ignored in character counting. (This minor issue is ignored for now. Tab is not
|
||||||
normally used in text writing.)
|
normally used in text writing.)
|
||||||
|
|
||||||
The eviscerations may not have been worked out yet into the ultimate scrubbing of
|
The evisceration may not have been worked out yet into the ultimate scrubbing of
|
||||||
everything that may have become redundent, because it does complicate the code with
|
everything that may have become redundant, because it does complicate the code with
|
||||||
a lot of #defines. Perhaps it should be done eventually, if there is an actual need.
|
a lot of #defines. Perhaps it should be done eventually, if there is an actual need.
|
||||||
|
|
||||||
|
➡ You can send bug reports to what seem useful channels, and/or contact e-mail. Thanks
|
||||||
|
|
||||||
16 Resources
|
16 Resources
|
||||||
============
|
============
|
||||||
This links to an external file, with some development resources like
|
This links to an external file, with some additional resources.
|
||||||
Gimp .xcf files, pre-compiled hex files, …
|
|
||||||
|
|
||||||
[Resources](http://socialism.nl/misc/minivan/ "Additional resources")
|
[Resources](http://socialism.nl/misc/minivan/ "Additional resources")
|
||||||
|
|
||||||
|
☞ Gimp .xcf files.
|
||||||
|
☞ Some precompiled hex files.
|
||||||
|
☞ Documentation in other formats.
|
||||||
|
…
|
||||||
|
|
||||||
17 Author(s)
|
17 Author(s)
|
||||||
============
|
============
|
||||||
This keymap.c was edited from the Minivan default, original LED
|
This keymap.c was edited from the Minivan default, original LED
|
||||||
|
@ -1187,11 +1227,10 @@ Gimp .xcf files, pre-compiled hex files, …
|
||||||
_Personal note:_ This keymap came about because of a sudden need
|
_Personal note:_ This keymap came about because of a sudden need
|
||||||
for a replacement keyboard. It took over a year to make (≈ 1.5 h/day).
|
for a replacement keyboard. It took over a year to make (≈ 1.5 h/day).
|
||||||
The goal became to make a good keymap for everyone without the time to
|
The goal became to make a good keymap for everyone without the time to
|
||||||
make one, in the best keyboard format: “40%”.
|
make one.
|
||||||
|
|
||||||
![Keycaps blanks](http://socialism.nl/misc/minivan/keycaps_blanks_va.jpg)
|
|
||||||
|
|
||||||
Written on the Minivan: Jos Boersema. [contact](https://market.socialism.nl/author/ "get e-mail address there")
|
Written on the Minivan: Jos Boersema. [contact](https://market.socialism.nl/author/ "get e-mail address there")
|
||||||
|
If anyone forks this or whatever, feel free to drop me a note.
|
||||||
|
|
||||||
Contributions to this key map:
|
Contributions to this key map:
|
||||||
- …
|
- …
|
||||||
|
|
|
@ -38,74 +38,70 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#define DIV10POINT TRUE // suggest to function write_number, to divide by 10 and print as a fraction: N.N
|
#define DIV10POINT TRUE // suggest to function write_number, to divide by 10 and print as a fraction: N.N
|
||||||
|
|
||||||
// Converts integer value to Unicode. Also handles 'descramble' Unicode mode for DVORAK_DESCRAMBLE_HALF.
|
// Gives Unicode code points to the relevant QMK functions.
|
||||||
// Unicode is a hexadecimal string (character) representation of the value, with a pre- and post-fix.
|
// Handles Dvorak 'descramble' Unicode mode, if compiled (only tested on Linux).
|
||||||
void unicode_hex2output (long unsigned int unshifted, long unsigned int shifted) {
|
void unicode_hex2output (long unsigned int unshifted, long unsigned int shifted) {
|
||||||
|
|
||||||
long unsigned int input; // which argument to work on
|
long unsigned int input; // which argument to work on
|
||||||
char output[10] ; // will hold the ascii for output
|
|
||||||
|
# ifdef DVORAK_DESCRAMBLE // Do the letter descramble if needed.
|
||||||
|
|
||||||
|
char output[10]; // will hold the ascii for output
|
||||||
int index; // count backwards 'to left' in the string
|
int index; // count backwards 'to left' in the string
|
||||||
long unsigned int bitmove; // move computation to next digit.
|
long unsigned int bitmove; // move computation to next digit.
|
||||||
long unsigned int work; // temporary value for computation
|
long unsigned int work; // temporary value for computation
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
// What to work on
|
// What to work on
|
||||||
if(shift_ison) input = shifted; // Trying to get everything possible here in this function, to reduce firmware size.
|
if(shift_ison) input = shifted; // Trying to get everything possible here in this function, to reduce firmware size.
|
||||||
else input = unshifted;
|
else input = unshifted;
|
||||||
|
|
||||||
//if (input < 0) input *= -1; // positive value
|
# ifndef DVORAK_DESCRAMBLE // Only normal mode
|
||||||
|
|
||||||
// Take the hex value 4 bits at a time, starting with the least significant, convert to ascii, store
|
register_unicode ( (uint32_t) input ) ;
|
||||||
index = 9;
|
|
||||||
output[index] = '\0'; // terminator
|
# else
|
||||||
bitmove = 0x1;
|
|
||||||
while ((work = (input / bitmove)) && (index >= 0)) {
|
if(_FULL_ != alternate){
|
||||||
index --;
|
|
||||||
work &= 0xF;
|
register_unicode ( (uint32_t) input ) ; // normal Unicode mode
|
||||||
if (work < 0xA){ // numbers
|
|
||||||
output[index] = work + 0x30; // pad to ASCII
|
}else{ // Special Dvorak-descramble mode: 0-9=0-9, a=a, b=n, c=i, d=h, e=d, f=y
|
||||||
}else{ // alphas
|
|
||||||
# ifdef DVORAK_DESCRAMBLE_HALF // Do the letter descramble if needed.
|
// Take the hex value 4 bits at a time, starting with the least significant, convert to ascii, store
|
||||||
if(_FULL_ == alternate){ // 0-9=0-9, a=a, b=n, c=i, d=h, e=d, f=y
|
index = 9;
|
||||||
|
output[index] = '\0'; // terminator
|
||||||
|
bitmove = 0x1;
|
||||||
|
while ((work = (input / bitmove)) && (index >= 0)) {
|
||||||
|
index --;
|
||||||
|
work &= 0xF;
|
||||||
|
if (work < 0xA){ // numbers
|
||||||
|
output[index] = work + 0x30; // pad to ASCII
|
||||||
|
}else{ // alphas
|
||||||
if (0xA == work) output[index] = 'a';
|
if (0xA == work) output[index] = 'a';
|
||||||
if (0xB == work) output[index] = 'n';
|
if (0xB == work) output[index] = 'n';
|
||||||
if (0xC == work) output[index] = 'i';
|
if (0xC == work) output[index] = 'i';
|
||||||
if (0xD == work) output[index] = 'h';
|
if (0xD == work) output[index] = 'h';
|
||||||
if (0xE == work) output[index] = 'd';
|
if (0xE == work) output[index] = 'd';
|
||||||
if (0xF == work) output[index] = 'y';
|
if (0xF == work) output[index] = 'y';
|
||||||
}else{
|
|
||||||
output[index] = work - 9 + 0x40; // normal mode
|
|
||||||
}
|
}
|
||||||
# else // The above is not relevant for anything else.
|
bitmove *= 0x10; // next digit
|
||||||
output[index] = work - 9 + 0x40; // normal mode
|
|
||||||
# endif
|
|
||||||
}
|
}
|
||||||
bitmove *= 0x10; // next digit
|
|
||||||
}
|
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
|
||||||
|
|
||||||
// Put character(s) out in correct mode
|
|
||||||
# ifdef DVORAK_DESCRAMBLE_HALF // Do the letter descramble if needed.
|
|
||||||
if (_FULL_ == alternate) { // This is the special 'descramble' output mode for a computer already set to Dvorak
|
|
||||||
|
|
||||||
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
|
|
||||||
send_string (output + index); // pointer to argument with formatted string
|
send_string (output + index); // pointer to argument with formatted string
|
||||||
SEND_STRING ( " " ) ; // Ends the Unicode numerical input mode, replacing input with desired character (Linux)
|
SEND_STRING ( " " ); // Ends the Unicode numerical input mode
|
||||||
|
|
||||||
}else{
|
|
||||||
// normal QMK Unicode output mode
|
|
||||||
send_unicode_hex_string (output + index); // pointer argument
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# else
|
# endif // DVORAK_DESCRAMBLE mode for that Base layer & mode setting is compiled in
|
||||||
send_unicode_hex_string (output + index); // pointer argument
|
|
||||||
# endif
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Wrapper for unicode keys that do have the same on shift.
|
// Wrapper for unicode keys that do have the same on shift.
|
||||||
void unicode_hex2output_single (long unsigned int either) {
|
void unicode_hex2output_single (long unsigned int either) {
|
||||||
unicode_hex2output (either, either) ;
|
unicode_hex2output (either, either);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -144,6 +140,11 @@ enum custom_keycodes {
|
||||||
CHOLTAP_LSHFT, // Go to <configurable> layer, or shift modifier.
|
CHOLTAP_LSHFT, // Go to <configurable> layer, or shift modifier.
|
||||||
CHOLTAP_LAYR, // Go to _RAR layer, or right arrow
|
CHOLTAP_LAYR, // Go to _RAR layer, or right arrow
|
||||||
|
|
||||||
|
// Shifts which on tap produce a key
|
||||||
|
|
||||||
|
RSFT_TILDE,
|
||||||
|
LSFT_DASH,
|
||||||
|
|
||||||
// Special macro to make F-keys one-shot or not.
|
// Special macro to make F-keys one-shot or not.
|
||||||
_FUN_STAY,
|
_FUN_STAY,
|
||||||
|
|
||||||
|
@ -378,7 +379,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
&&
|
&&
|
||||||
(keycode != CHOLTAP_ACCE) // _ACC layer (and others)
|
(keycode != CHOLTAP_ACCE) // _ACC layer (and others)
|
||||||
&&
|
&&
|
||||||
(keycode != CHOLTAP_LAYR)) { // _RAR layer, or RAlt/Alt-Gr
|
(keycode != RSFT_TILDE) // Shift on _NSY
|
||||||
|
&&
|
||||||
|
(keycode != LSFT_DASH) // Shift on _NSY
|
||||||
|
&&
|
||||||
|
(keycode != CHOLTAP_LAYR))
|
||||||
|
{ // _RAR layer, or RAlt/Alt-Gr
|
||||||
isolate_trigger = FALSE; // another key was pressed
|
isolate_trigger = FALSE; // another key was pressed
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -437,7 +443,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
added += write_number ((long int)((speed*12)/10), FALSE); // writes the speed
|
added += write_number ((long int)((speed*12)/10), FALSE); // writes the speed
|
||||||
send_string ("wpm"); // +3 character written
|
send_string ("wpm"); // +3 character written
|
||||||
if (0 != speed_batches) {
|
if (0 != speed_batches) {
|
||||||
long int average_times_ten ;
|
long int average_times_ten;
|
||||||
average_times_ten =(long int) ((speed_add * 12) / speed_batches); // *12 converts k/s to wpm
|
average_times_ten =(long int) ((speed_add * 12) / speed_batches); // *12 converts k/s to wpm
|
||||||
|
|
||||||
send_string (";"); // +① ''
|
send_string (";"); // +① ''
|
||||||
|
@ -458,7 +464,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
added += write_number ((long int)(speed/10), FALSE); // writes the speed
|
added += write_number ((long int)(speed/10), FALSE); // writes the speed
|
||||||
send_string ("k/s"); // +3 character written
|
send_string ("k/s"); // +3 character written
|
||||||
if (0 != speed_batches) {
|
if (0 != speed_batches) {
|
||||||
long int average_times_ten ;
|
long int average_times_ten;
|
||||||
average_times_ten =(long int) (speed_add / speed_batches);
|
average_times_ten =(long int) (speed_add / speed_batches);
|
||||||
|
|
||||||
send_string (";"); // +① ''
|
send_string (";"); // +① ''
|
||||||
|
@ -625,7 +631,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
}else{ // key up
|
}else{ // key up
|
||||||
|
|
||||||
// Cycles through the modes
|
// Cycles through the modes
|
||||||
# ifdef DVORAK_DESCRAMBLE_HALF // version Dvorak+Dvorak-descramble has 3 modes
|
# ifdef DVORAK_DESCRAMBLE // version Dvorak+Dvorak-descramble has 3 modes
|
||||||
if (_NORMAL_ == alternate) {
|
if (_NORMAL_ == alternate) {
|
||||||
alternate = _FULL_;// alternate layers
|
alternate = _FULL_;// alternate layers
|
||||||
default_layer_set (_ALT_BASE_MASK); // This is needed only for a rare case,
|
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) {
|
||||||
}else{ // key up
|
}else{ // key up
|
||||||
|
|
||||||
// Cycles through the modes
|
// Cycles through the modes
|
||||||
# ifdef DVORAK_DESCRAMBLE_HALF // version Dvorak+Dvorak-descramble has 3 modes
|
# ifdef DVORAK_DESCRAMBLE // version Dvorak+Dvorak-descramble has 3 modes
|
||||||
if (_NORMAL_ == alternate) {
|
if (_NORMAL_ == alternate) {
|
||||||
alternate = _FULL_;// alternate layers
|
alternate = _FULL_;// alternate layers
|
||||||
default_layer_set (_ALT_BASE_MASK);
|
default_layer_set (_ALT_BASE_MASK);
|
||||||
|
@ -701,8 +707,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
// On BASE itself, that key is <Escape>.
|
// On BASE itself, that key is <Escape>.
|
||||||
if (record->event.pressed) { // key down
|
if (record->event.pressed) { // key down
|
||||||
;
|
;
|
||||||
}
|
}else{ // key up
|
||||||
else { // key up
|
|
||||||
if (alternate) { // go to the alternate version (bit of a hack maybe, but all alternate
|
if (alternate) { // go to the alternate version (bit of a hack maybe, but all alternate
|
||||||
// ... modes are non-zero)
|
// ... modes are non-zero)
|
||||||
layer_move (_ALT_BASE);
|
layer_move (_ALT_BASE);
|
||||||
|
@ -715,8 +720,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
case CTO_NUMS: // activates number-symbols layer
|
case CTO_NUMS: // activates number-symbols layer
|
||||||
if (record->event.pressed) { // key down
|
if (record->event.pressed) { // key down
|
||||||
;
|
;
|
||||||
}
|
}else{ // key up, so that upon key down the target layer isn't already activated, triggering that key on up
|
||||||
else { // key up, so that upon key down the target layer isn't already activated, triggering that key on up
|
|
||||||
if (alternate) { // go to the alternate version
|
if (alternate) { // go to the alternate version
|
||||||
layer_move (_ALT_NSY);
|
layer_move (_ALT_NSY);
|
||||||
}else{
|
}else{
|
||||||
|
@ -728,8 +732,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
case CTO_ACCE: // Unicode layer
|
case CTO_ACCE: // Unicode layer
|
||||||
if (record->event.pressed) { // key down
|
if (record->event.pressed) { // key down
|
||||||
;
|
;
|
||||||
}
|
}else{ // key up
|
||||||
else { // key up
|
|
||||||
|
|
||||||
# ifndef REMOVE_ACC // This cuts out the whole _ACC layer.
|
# ifndef REMOVE_ACC // This cuts out the whole _ACC layer.
|
||||||
layer_move (_ACC); // activates normal accented layer
|
layer_move (_ACC); // activates normal accented layer
|
||||||
|
@ -745,8 +748,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
case CTO_DRAW: // Unicode layer
|
case CTO_DRAW: // Unicode layer
|
||||||
if (record->event.pressed) { // key down
|
if (record->event.pressed) { // key down
|
||||||
;
|
;
|
||||||
}
|
}else{ // key up
|
||||||
else { // key up
|
|
||||||
|
|
||||||
# ifndef REMOVE_DRA // This cuts out the whole _DRA layer.
|
# ifndef REMOVE_DRA // This cuts out the whole _DRA layer.
|
||||||
layer_move (_DRA); // activates normal accented layer
|
layer_move (_DRA); // activates normal accented layer
|
||||||
|
@ -1011,7 +1013,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
// Held medium long: _PAD, long: _MOV.
|
// Held medium long: _PAD, long: _MOV.
|
||||||
// The reason to have a switch to _MOV on the left hand, is to be able to reach arrows on a toggle,
|
// The reason to have a switch to _MOV on the left hand, is to be able to reach arrows on a toggle,
|
||||||
// all by the left hand, when the right hand is on the mouse.
|
// all by the left hand, when the right hand is on the mouse.
|
||||||
if ((timer_elapsed (key_timer) <= 200)) { // tapped medium-long (milliseconds)
|
if ((timer_elapsed (key_timer) <= 200)) { // tapped short (milliseconds)
|
||||||
|
|
||||||
# ifndef SWITCH_RSHIFT_FUN_RAR // user config to reverse what this key its timing toggles to
|
# ifndef SWITCH_RSHIFT_FUN_RAR // user config to reverse what this key its timing toggles to
|
||||||
|
|
||||||
|
@ -1100,6 +1102,81 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/*
|
||||||
|
case RSFT_TILDE:
|
||||||
|
|
||||||
|
if (record->event.pressed) { // key down
|
||||||
|
|
||||||
|
SEND_STRING (SS_DOWN (X_RSFT));
|
||||||
|
shift_ison = 1; // shift depressed
|
||||||
|
|
||||||
|
key_timer = timer_read ();
|
||||||
|
isolate_trigger = TRUE; // keep track of whether another key gets pressed until key-up
|
||||||
|
|
||||||
|
}else{ // key up
|
||||||
|
|
||||||
|
SEND_STRING (SS_UP (X_RSFT));
|
||||||
|
shift_ison = 0; // shift released
|
||||||
|
|
||||||
|
if (isolate_trigger) { // no other key was hit since key down
|
||||||
|
|
||||||
|
|
||||||
|
// Held medium long: _PAD, long: _MOV.
|
||||||
|
// The reason to have a switch to _MOV on the left hand, is to be able to reach arrows on a toggle,
|
||||||
|
// all by the left hand, when the right hand is on the mouse.
|
||||||
|
if ((timer_elapsed (key_timer) <= 200)) { // tapped short (milliseconds)
|
||||||
|
|
||||||
|
SEND_STRING ("~");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
*/
|
||||||
|
|
||||||
|
case RSFT_TILDE: // firmware size optimization, saves 36 bytes
|
||||||
|
case LSFT_DASH:
|
||||||
|
|
||||||
|
if (record->event.pressed) { // key down
|
||||||
|
|
||||||
|
if (RSFT_TILDE == keycode) { // this is probably not needed, both can be left or right shift
|
||||||
|
SEND_STRING (SS_DOWN (X_RSFT));
|
||||||
|
}else{
|
||||||
|
SEND_STRING (SS_DOWN (X_LSFT));
|
||||||
|
}
|
||||||
|
shift_ison = 1; // shift depressed
|
||||||
|
|
||||||
|
key_timer = timer_read ();
|
||||||
|
isolate_trigger = TRUE; // keep track of whether another key gets pressed until key-up
|
||||||
|
|
||||||
|
}else{ // key up
|
||||||
|
|
||||||
|
if (RSFT_TILDE == keycode) {
|
||||||
|
SEND_STRING (SS_UP (X_RSFT));
|
||||||
|
}else{
|
||||||
|
SEND_STRING (SS_UP (X_LSFT));
|
||||||
|
}
|
||||||
|
|
||||||
|
shift_ison = 0; // shift released
|
||||||
|
|
||||||
|
if (isolate_trigger) { // no other key was hit since key down
|
||||||
|
|
||||||
|
|
||||||
|
// Held medium long: _PAD, long: _MOV.
|
||||||
|
// The reason to have a switch to _MOV on the left hand, is to be able to reach arrows on a toggle,
|
||||||
|
// all by the left hand, when the right hand is on the mouse.
|
||||||
|
if ((timer_elapsed (key_timer) <= 200)) { // tapped short (milliseconds)
|
||||||
|
|
||||||
|
if (RSFT_TILDE == keycode) {
|
||||||
|
SEND_STRING ("~");
|
||||||
|
}else{
|
||||||
|
SEND_STRING ("-");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case _FUN_STAY: // toggles if the f-keys return _FUN layer to BASE after one press
|
case _FUN_STAY: // toggles if the f-keys return _FUN layer to BASE after one press
|
||||||
if (record->event.pressed) { // key down
|
if (record->event.pressed) { // key down
|
||||||
|
|
||||||
|
|
|
@ -23,11 +23,12 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
// Configuration:
|
// Configuration:
|
||||||
// ------------------------------------- ⬇ --------------------------------------
|
// ------------------------------------- ⬇ --------------------------------------
|
||||||
|
|
||||||
// (For the non-coders: “_Remove_” means to place ‛//’ in front of a line. The rest of the line becomes a comment.
|
// (For the non-coders:
|
||||||
// Placing ‛//’ in front of a line, means whatever follows it will be ignored during compilation.
|
// “_Remove_” means to place ‛//’ in front of a line. The rest of the line becomes a comment.
|
||||||
// “_Activate_” means to *delete* the two ‛//’ in front. Now the rest of the line *will* be compiled
|
// Placing ‛//’ in front of a line, means whatever follows it will be ignored during compilation.
|
||||||
// /* ... */ is another a way to turn “...” into being a comment which is ignored during compilation.
|
// “_Activate_” means to *delete* the two ‛//’ in front. Now the rest of the line *will* be compiled
|
||||||
// (The documentation here is geared toward people who have no understanding about programming.)
|
// /* ... */ is another a way to turn “...” into being a comment which is ignored during compilation.
|
||||||
|
// (The documentation here is geared toward people who have no understanding about programming.)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
--------------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------------
|
||||||
|
@ -77,9 +78,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
• GUI left/right
|
• GUI left/right
|
||||||
• Alternate currency symbol
|
• Alternate currency symbol
|
||||||
• Check boxes or Pointers
|
• Check boxes or Pointers
|
||||||
• Switch _ACC/_BON and *left* side _NSY/_DRA hold keys
|
• Switch _ACC/_BON ⬅➡ *left* side _NSY/_DRA hold keys
|
||||||
• Switch _PAD and _MOV on Left Shift toggle
|
• Switch _PAD ⬅➡ _MOV on Left Shift toggle
|
||||||
• Switch _FUN and _RAR on Right Shift toggle
|
• Switch _FUN ⬅➡ _RAR on Right Shift toggle
|
||||||
|
• “Switch spacebars”: ‛Space-bar’ ⬅➡ “‛Enter’ + ‛layer-hold _MOV’”
|
||||||
|
|
||||||
-11- ➡ Eviscerations ( ② / ② ) ⬅
|
-11- ➡ Eviscerations ( ② / ② ) ⬅
|
||||||
• Removing the numbers pad _PAD layer
|
• Removing the numbers pad _PAD layer
|
||||||
|
@ -104,7 +106,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* when uploaded to QMK, so that it gives the most commonly used layout: Qwerty with Numpad,
|
* when uploaded to QMK, so that it gives the most commonly used layout: Qwerty with Numpad,
|
||||||
* basic 44 Minivan keys. The compact version its state is whatever it is.)
|
* basic 44 Minivan keys. The compact version its state is whatever it is.)
|
||||||
*/
|
*/
|
||||||
#define MINIFAN_CONFIG_COMPACT // _Activate_ this, to load the configuration in ./minifan_config_compact.h (note: mini‛f’an).
|
//#define MINIFAN_CONFIG_COMPACT // _Activate_ this, to load the configuration in ./minifan_config_compact.h (note: mini‛f’an).
|
||||||
#ifndef MINIFAN_CONFIG_COMPACT // (don't alter this)
|
#ifndef MINIFAN_CONFIG_COMPACT // (don't alter this)
|
||||||
|
|
||||||
|
|
||||||
|
@ -444,6 +446,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
* Recommended if you use _RAR more than _FUN
|
* Recommended if you use _RAR more than _FUN
|
||||||
*/
|
*/
|
||||||
//#define SWITCH_RSHIFT_FUN_RAR // _Activate_ to make _RAR layer be on the fast tap, and _FUN on a short hold toggle
|
//#define SWITCH_RSHIFT_FUN_RAR // _Activate_ to make _RAR layer be on the fast tap, and _FUN on a short hold toggle
|
||||||
|
/*
|
||||||
|
* • “Switch spacebars”: ‛Space-bar’ ⬅➡ “‛Enter’ + ‛layer-hold _MOV’”
|
||||||
|
*
|
||||||
|
* Recommended if you usually type ‛Space-bar’ with your left hand.
|
||||||
|
* These keys also switch on _MOV (movement) layer. Page-Up goes one spot to the left.
|
||||||
|
*/
|
||||||
|
//#define SPACE_LEFT__ENTER_RIGHT // _Activate_ for ‛Space bar’ left, ‛Enter’ and ‛_MOV hold’ right hand.
|
||||||
|
|
||||||
|
|
||||||
/* -11- ➡ Eviscerations ( ② / ② ) ⬅
|
/* -11- ➡ Eviscerations ( ② / ② ) ⬅
|
||||||
|
@ -521,11 +530,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
/* -12- ➡ Leds ⬅
|
/* -12- ➡ Leds ⬅
|
||||||
*
|
*
|
||||||
* Leds off for the Default Base Layer.
|
* Leds off for the Default or Alternative Base Layer.
|
||||||
* Implies: no indication on Default Base for: Caps-lock, typing speed, typing amount done of a limit.
|
* Implies: no indication on Default Base for: Caps-lock, typing speed,
|
||||||
* Speed / typing amount will be visible by going to another layer.
|
* typing amount done of a limit.
|
||||||
|
* Speed / typing amount indicated by led will be visible by going to another layer.
|
||||||
*/
|
*/
|
||||||
//#define LEDS_OFF_BASE_DEF // _Activate_ to make leds dark when in ‛Default Base’ layer.
|
//#define LEDS_OFF_BASE_DEF // _Activate_ to make leds dark when in ‛Default Base’ layer.
|
||||||
|
//
|
||||||
|
//#define LEDS_OFF_BASE_ALT // _Activate_ to make leds dark when in ‛Alternative Base’ layer.
|
||||||
|
|
||||||
// ------------------------------------- ⬆ --------------------------------------
|
// ------------------------------------- ⬆ --------------------------------------
|
||||||
// Below here no more comfortable configuration options.....
|
// Below here no more comfortable configuration options.....
|
||||||
|
@ -581,11 +593,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
# define _ALT_NSY _DEF_NSY
|
# define _ALT_NSY _DEF_NSY
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
// This triggers the compilation of special _HALF_ descramble mode, where you access
|
// This triggers the compilation of Dvorak descramble mode.
|
||||||
// the Unicode layers without passing them through the descramble system (middle led
|
|
||||||
// lit on _RAR_ when cycling through the base layers with ‛Other Base’ key).
|
|
||||||
# ifdef BASE_DVORAK_DESCRAMBLE__ALT_BASE
|
# ifdef BASE_DVORAK_DESCRAMBLE__ALT_BASE
|
||||||
# define DVORAK_DESCRAMBLE_HALF
|
# define DVORAK_DESCRAMBLE
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
// Prevent likely erroneous configuration. If no 'Arrow' hardware layout, then not patching in an arrow cluster.
|
// 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/>.
|
||||||
# ifndef SWITCH_GUIS
|
# ifndef SWITCH_GUIS
|
||||||
# define KC__XGUI KC_LGUI // Name logic is alphabetic order left to right …X (…) …Y in layout definitions..
|
# define KC__XGUI KC_LGUI // Name logic is alphabetic order left to right …X (…) …Y in layout definitions..
|
||||||
# define KC__YGUI KC_RGUI // .. meaning KC__XGUI is left on the keymap, KC__YGUI is right.
|
# define KC__YGUI KC_RGUI // .. meaning KC__XGUI is left on the keymap, KC__YGUI is right.
|
||||||
# endif
|
# else
|
||||||
|
|
||||||
# ifdef SWITCH_GUIS
|
|
||||||
# define KC__XGUI KC_RGUI
|
# define KC__XGUI KC_RGUI
|
||||||
# define KC__YGUI KC_LGUI
|
# define KC__YGUI KC_LGUI
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
// Switch “spacebars”:
|
||||||
|
# ifndef SPACE_LEFT__ENTER_RIGHT // standard
|
||||||
|
# define LEFTCENTER_THUMB LT__MOV__KC_ENT
|
||||||
|
# define RIGHTCENTER_THUMB KC_SPC
|
||||||
|
# else
|
||||||
|
# define LEFTCENTER_THUMB KC_SPC // reversed
|
||||||
|
# define RIGHTCENTER_THUMB LT__MOV__KC_ENT
|
||||||
|
# endif
|
||||||
|
|
||||||
// Define the layout macro for the amount of hardware keys.
|
// Define the layout macro for the amount of hardware keys.
|
||||||
// These for Minivan are defined up in the code tree.
|
// These for Minivan are defined up in the code tree.
|
||||||
|
|
Loading…
Reference in New Issue