summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJos Boersema <56587694+josjoha@users.noreply.github.com>2021-09-16 07:27:44 +0200
committerGitHub <noreply@github.com>2021-09-15 22:27:44 -0700
commitd140e41c93dcf0a429392310858ac905447324ac (patch)
treede643dc0f31c0e450cf7ba0aebf665ca50877090
parentb5cc2bdc34d9091e7b31fcb9676e0d37b0282aad (diff)
Adds optional hebrew layout (Unicode) (#14156)
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.c291
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.h52
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.md198
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.h2
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h2
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c13
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h20
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/readme.md21
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_hebrew.h116
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.c546
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_macros.h2
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/unicode_weurope.h2
-rw-r--r--keyboards/thevankeyboards/minivan/keymaps/josjoha/user_config.h24
13 files changed, 1157 insertions, 132 deletions
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.c
new file mode 100644
index 0000000000..cac77aac60
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.c
@@ -0,0 +1,291 @@
+/*
+ * License (GPL):
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ * Author: © 2021 by Jos Boersema
+ *
+ */
+
+// --------------------------------------v---------------------------------------
+// Configuration:
+// --------------------------------------v---------------------------------------
+
+// See the user configuration file: ./base_hebrew.h
+
+// --------------------------------------^---------------------------------------
+// Below here no more comfortable configuration options.....
+// --------------------------------------^---------------------------------------
+
+ /* ⬇ */
+
+ /* Layer _..._BASE: default BASE layer (Hebrew)
+ *
+ * - Dual use keys create a delay in the key (tap/hold keys), therefore
+ * space is not dual use (most used key), neither is hyphen.
+ */
+
+// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
+# if defined(BASE_HEBREW__DEF_BASE)
+ [ _DEF_BASE ] = LAYOUT_redefined (
+# elif defined(BASE_HEBREW__ALT_BASE)
+ [ _ALT_BASE ] = LAYOUT_redefined (
+# endif
+
+/*
+ Layer _..._BASE (LeTteRs, standard Hebrew as in Israel)
+ ➡ This is a simple hebrew layout. Notice the letter ק is displaced from normal,
+ to retain compatibility with Dvorak-English for ,<.>. There are no niqqud
+ available, because it is far too many unique symbols in Unicode, and it is
+ rarely used.
+
+ HEBREW_ISRAEL
+ | Right hand
+ <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
+ -o- <|> ... //-o- BASE access
+ Esc /; ׳ ק ר א | ט ו ן ם פ Bksp
+ Tab+LCtl ש ד ג/RLM כ₪ ע | י ח ל/LRM ך ף: ,״ //Right-Left-Mark
+ LSht+_PAD ז ס ב ה נ | מ צ ת< ץ> .? RSht+_FUN //<>os side flip?
+ +_MOV⁵ | +_RAR⁶
+ ---------------------------------------------------------------------------------------
+ Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
+ hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
+ hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
+ ┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
+ <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
+ ^³ ^⁴ // Optional more keys
+ … …
+
+ HEBREW_QWERTY
+ | Right hand
+ <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
+ -o- <|> ... //-o- BASE access
+ Esc ת• ץ• ק ר א | ט ו ן ם׳ פ״ Bksp
+ Tab+LCtl ש ד ג/RLM כ₪ ע | י ח ל/LRM ך ף: '" //Right-Left-Mark
+ LSht+_PAD ז ס ב ה נ | מ צ ,< .> /? RSht+_FUN
+ +_MOV⁵ | +_RAR⁶
+ ---------------------------------------------------------------------------------------
+ Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
+ hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
+ hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
+ ┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
+ <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
+ ^³ ^⁴ // Optional more keys
+ … …
+
+ HEBREW_DVORAK
+ | Right hand
+ <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
+ -o- <|> ... //-o- BASE access
+ Esc '" ,< .> ר א | ט ו ן ם׳ פ״ Bksp
+ Tab+LCtl ש ד ג/RLM כ₪ ע | י ח ל/LRM ך ף ־ //Right-Left-Mark
+ LSht+_PAD ז: ס ב ה נ | מ צ ת ץ ק• RSht+_FUN
+ +_MOV⁵ | +_RAR⁶
+ ---------------------------------------------------------------------------------------
+ Left+LAlt Del;_ACC _..._NSY(_DRA) Enter+_MOV| Space _..._NSY(_DRA) LGUI Right;_RAR
+ hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
+ hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
+ ┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
+ <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
+ ^³ ^⁴ // Optional more keys
+ … …
+
+
+ ₁) Dual hold for _DRA, single hold for _..._NSY. Marked by: ^--…--^
+ ₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
+ ³) 'South paw' hardware configuration
+ ⁴) 'Arrow' hardware configuration
+ ³ ⁴) There are two more optional hardware keys, to make it easier to compile for
+ a 12x12x12x11 or 12x12x12x12 layouts.
+ ⁵) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
+ ⁶) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
+ ⁷) Letters marked with • are displaced from standard hebrew layout.
+*/
+//
+// <pink2 , <pinky , <ring , <middl , <indx , <ind|, indx> , inde> , midd> , ring> , pink> , pink2> ,
+// -*!- , , , , , <|,> , , , , , ,
+ KC_ESC
+
+# if defined(HEBREW_ISRAEL)
+ , XP_HEB_AA , XP_HEB_AB , XP_HEB_AC
+# elif defined(HEBREW_QWERTY)
+ , XP_HEB_AA , XP_HEB_AB , XP_HEB_AC
+# elif defined(HEBREW_DVORAK)
+ , KC_QUOT , KC_COMM , KC_DOT
+# endif // HEBREW_DVORAK/QWERTY
+ , XP_HEB_AD , XP_HEB_AE , XP_HEB_AF , XP_HEB_AG , XP_HEB_AH , XP_HEB_AI , XP_HEB_AJ , KC_BSPC ,
+ LCTL_T ( KC_TAB ) , XP_HEB_BA , XP_HEB_BB , XP_HEB_BC , XP_HEB_BD , XP_HEB_BE , XP_HEB_BF , XP_HEB_BG , XP_HEB_BH , XP_HEB_BI , XP_HEB_BJ
+// ^^^^^^^^^ Different in Qwerty (done in macros) with ':'
+
+# if defined(HEBREW_ISRAEL)
+ , XP_HEB_BK , // ,"
+# elif defined(HEBREW_QWERTY)
+ , KC_QUOT , // '"
+# elif defined(HEBREW_DVORAK)
+ , XP_HEB_MQF , // ־
+# endif // HEBREW_*
+
+ CHOLTAP_LSHFT , XP_HEB_CA , XP_HEB_CB , XP_HEB_CC , XP_HEB_CD , XP_HEB_CE , XP_HEB_CF , XP_HEB_CG
+
+# if defined(HEBREW_ISRAEL)
+ , XP_HEB_CH , XP_HEB_CI , XP_HEB_CJ
+# elif defined(HEBREW_QWERTY)
+ , KC_COMM , KC_DOT , KC_SLSH
+# elif defined(HEBREW_DVORAK)
+ , XP_HEB_CH , XP_HEB_CI , XP_HEB_CJ
+# endif // HEBREW_*
+ , CHOLTAP_RSHFT ,
+// -----------------------------------------------------------------------------------------------------------------
+ LALT_T ( KC_LEFT )
+
+# ifdef TRANSMINIVAN_LEFTSIDE
+ , MO ( _PAD )
+# endif
+
+# ifdef MORE_KEY__COMMAND
+ , MORE_key1_BASE
+# endif
+
+# ifdef SWITCH_HOLD_ACC_NSY
+ , DUO_HOLD , CHOLTAP_ACCE
+# else
+ , CHOLTAP_ACCE , DUO_HOLD
+# endif
+
+ , LEFTCENTER_THUMB
+
+# ifdef TRANSMINIVAN_MIDLEFT
+ , TRANS_MIDLEFT
+# endif
+
+ , RIGHTCENTER_THUMB , DUO_HOLD , KC__YGUI
+
+# ifdef TRANSMINIVAN_RIGHTSIDE
+ , MO ( _FUN )
+# endif
+
+# ifdef MORE_KEY__ARROW
+ , MORE_key2
+# endif
+
+ , CHOLTAP_LAYR
+// , , , <|,> , , ,
+// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
+
+ ),
+
+ /* ⬆⬇ */
+
+ /* Layer _..._NSY: Numbers and symbols.
+ * Off hand Number input (-.Bksp ent (shft)tab).
+ */
+ // KC_TILD does not work there, because of a limitation with shifted keys (nov 2019).
+
+// Process user configuration wrt ‛Default’ or ‛Alternative’ spot for this layout.
+# if defined(BASE_HEBREW__DEF_BASE)
+ [ _DEF_NSY ] = LAYOUT_redefined (
+# elif defined(BASE_HEBREW__ALT_BASE)
+ [ _ALT_NSY ] = LAYOUT_redefined (
+# endif
+
+/*
+ Layer _..._NSY (Numbers and SYmbols)
+ ➡ The brace type symbols are *not* reversed as on standard hebrew boards (I find it confusing).
+
+ HEBREW_ISRAEL & HEBREW_QWERTY
+ <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
+ -*- <|> //(toggle) Access on _FUN
+ BASE ! @ # $ % | ^ & * ( ) Del
+ Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
+ -+LSht [{ ]} -_ \| =+ | + | ־ { } ~+RSht
+ ^ // Only difference with Qwerty
+ ---------------------------------------------------------------------------
+ Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
+ -*- <|> -*- //(hold) Access on _..._BASE
+ <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
+ … …
+
+ HEBREW_DVORAK (Same as standard Dvorak)
+ <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
+ -*- <|> //(toggle) Access on _FUN
+ BASE ! @ # $ % | ^ & * ( ) Del
+ Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
+ -+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
+ ---------------------------------------------------------------------------
+ Left+LAlt ___ ___ Ent | . ___ LGUI Right+RAlt
+ -*- <|> -*- //(hold) Access on _..._BASE
+ <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
+ … …
+*/
+//
+//
+// <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 ,
+ 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_DASH , KC_LBRC , KC_RBRC
+
+# if defined(HEBREW_ISRAEL)
+ , KC_MINUS // allows -_, with Maqaf on mirror place right
+# elif defined(HEBREW_QWERTY)
+ , KC_MINUS // same as HEBREW_ISRAEL
+# elif defined(HEBREW_DVORAK)
+ , KC_SLSH
+# endif // HEBREW_*
+
+ , KC_BSLS , KC_EQL , KC_PLUS , KC_PIPE
+
+
+# if defined(HEBREW_ISRAEL)
+ , XP_HEB_MQF // '־' Maqaf
+# elif defined(HEBREW_QWERTY)
+ , XP_HEB_MQF //
+# elif defined(HEBREW_DVORAK)
+ , KC_QUES
+# endif // HEBREW_*
+ , KC_LCBR , KC_RCBR , RSFT_TILDE ,
+// ---------------------------------------------------------------------------------------------------------------------------------------------
+ LALT_T ( KC_LEFT )
+
+# ifdef TRANSMINIVAN_LEFTSIDE
+ , TRANS_LEFT
+# endif
+
+# ifdef MORE_KEY__COMMAND
+ , MORE_key1
+# endif
+
+ , _______ , _______ , KC_ENT
+
+# ifdef TRANSMINIVAN_MIDLEFT
+ , TRANS_MIDLEFT
+# endif
+ , KC_DOT , DUO_HOLD , KC__YGUI
+
+# ifdef TRANSMINIVAN_RIGHTSIDE
+ , TRANS_RIGHT
+# endif
+
+# ifdef MORE_KEY__ARROW
+ , MORE_key2
+# endif
+
+ , RALT_T ( KC_RIGHT )
+// , , -*- , <|,> , -*- , ,
+// <1 ± ± , <2 , <3 , <4 |, 4> , 3> , 2> , ± ± 1>
+
+ ),
+
+
+ /* ⬆⬇ */
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.h
new file mode 100644
index 0000000000..f5604b8f1e
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.h
@@ -0,0 +1,52 @@
+/*
+ * License (GPL):
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ * Author: © 2021 by Jos Boersema
+ *
+ */
+
+#pragma once
+
+// --------------------------------------v---------------------------------------
+// Configuration:
+// --------------------------------------v---------------------------------------
+
+ /* Harmonize layout with a Latin layout
+ *
+ * See base_hebrew.md for design objectives.
+ */
+ #define HEBREW_ISRAEL // Close to standard Israeli hebrew.
+//#define HEBREW_QWERTY // Harmonize punctuation symbols with Qwerty.
+//#define HEBREW_DVORAK // Harmonize punctuation symbols with Dvorak.
+
+// --------------------------------------^---------------------------------------
+// Below here no more comfortable configuration options.....
+// --------------------------------------^---------------------------------------
+
+ /* Redefine a layer in this file
+ *
+ * _Activate_ one or more of the below BASESFILE_LAYER_..., to redefine the layer
+ * in this file. The version in ./keymap.c will be ignored. Keep in mind to use
+ * transparent keys (_______) for “hold” layer switch keys on the BASE map, for
+ * your new layer.
+ */
+// #define BASESFILE_LAYER_ACC
+// #define BASESFILE_LAYER_DRA
+// #define BASESFILE_LAYER_BON
+// #define BASESFILE_LAYER_PAD
+// #define BASESFILE_LAYER_MOV
+// #define BASESFILE_LAYER_RAR
+// #define BASESFILE_LAYER_FUN
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.md b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.md
new file mode 100644
index 0000000000..0e7adc40c8
--- /dev/null
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.md
@@ -0,0 +1,198 @@
+# Minifan layout
+
+Compiled for: Hebrew
+====================
+
+This file details the compile version `#define BASE_HEBREW__DEF_BASE,
+BASE_HEBREW__ALT_BASE`. This is a basic Hebrew layout, without niqqud.
+
+Only the most common symbols are implemented. Hebrew symbols are all
+done in Unicode.
+
+See also ![./readme.md](./readme.md) chapter 7 _Language support_.
+
+Parenthesis/braces/etc direction seems to be dealt with at the computer
+side, depending on the surrounding symbols. The keyboard is printing
+these symbols unchanged from what they are in standard Latin layouts,
+and are represented that way in the manual.
+
+Options
+=======
+
+You can compile the hebrew to be like a common Israeli layout, or to harmonize the
+punctuation symbols with either Dvorak or Qwerty. See the configuration file
+![./base_hebrew.h](./base_hebrew.h)
+
+☞ Israeli Hebrew
+
+As close to a simple standard hebrew layout as possible.
+A little larger memory cost than the other options. No `'"` ASCII quotes symbols,
+but proper ׳ and ״ (in Unicode).
+
+☞ Qwerty with Hebrew
+
+The letters ת, ץ get displaced from the standard hebrew layout.
+Numerical layer is the same as standard Qwerty, except the symbol
+`_` symbol becomes `־` (Maqaf). No `;` symbol.
+
+☞ Qwerty derivatives with Hebrew
+
+It is adviced to use Qwerty with Hebrew in this case, and adjust by hand
+coding if needed. “Workman” should harmonize the same as Qwerty.
+Colemak displaces the “;:” key relative to Qwerty, therefore you may
+like to change the “:” shifted symbol (by hand). The obscurity of this
+use case gets extreme, there will not be options for this.
+
+☞ Dvorak with Hebrew
+
+The letter ק gets displaced from the standard hebrew layout.
+Numerical layer is the same as standard Dvorak. No `;` symbol.
+
+
+Flash memory cost
+-----------------
+
+This layout adds several dozen new Unicode symbols, which takes up a certain
+amount of additional space in keyboard memory. If you end up going over
+the limit, you may need to change your compilation software setup, and/or
+you can look into the “Eviscerations” chapters in ![./user_config.h](./user_config.h)
+
+Hebrew keymaps
+--------------
+
+──────────Hebrew Israel────────
+
+![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_hebrew-israel_ve.jpg)
+Layer: `..._BASE`
+
+![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_hebrew-israel_vd.jpg)
+Layer: `..._NSY`
+
+──────────in common────────────
+
+(…)
+
+──────────Hebrew Qwerty────────
+
+![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_hebrew-qwerty_ve.jpg)
+Layer: `..._BASE`
+
+![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_hebrew-israel_vd.jpg)
+Layer: `..._NSY`
+
+──────────in common────────────
+
+(…)
+
+──────────Hebrew Dvorak────────
+
+![Minivan layout Image BASEdef-alt](http://socialism.nl/misc/minivan/minivan_base_layer_hebrew-dvorak_ve.jpg)
+Layer: `..._BASE`
+
+![Minivan layout Image NSYdef-alt](http://socialism.nl/misc/minivan/minivan_nsy_layer_dvorak_vc.jpg)
+Layer: `..._NSY` (Same as Dvorak.)
+
+──────────in common────────────
+
+(…)
+
+For more about the other layers, see ➡ ![readme.md](./readme.md) ⬅
+
+![Minivan illustration Overview layers by key, Hebrew](http://socialism.nl/misc/minivan/minivan-all-layers-clear-visualization-by-key_hebrew_2000_vk.jpg)
+
+Layers (text)
+=============
+
+(The “x” padding was necessary to undo the direction of these characters being reversed.
+This layout might still not be represenetd correctly on your system. See the graphics instead.)
+
+ HEBREW_ISRAEL
+ | Right hand
+ <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
+ -o- <|> ... //-o- BASE access
+ Escxxxxxxxx/;xxxx׳xxxxxקxxxxxרxxxxxאxxxxx|xטxxxxxוxxxxxןxxxxxםxxxxxפxxxxxxxxxxBksp
+ Tab+LCtlxxxשxxxxxדxxxxxג/RLMxכx₪xxxעxxxxx|xיxxxxxחxxxxxל/LRMxךxxxxxף:xxxxxxxxxxx,״ //Right-Left-Mark
+ LSht+_PADxxזxxxxxסxxxxxבxxxxxהxxxxxנxxxxx|xמxxxxxצxxxxxת<xxxxץ>xxxx.?xxxxRSht+_FUN //<>os side flip?
+ +_MOV⁵ | +_RAR⁶
+ ---------------------------------------------------------------------------------------
+
+ HEBREW_QWERTY
+ | Right hand
+ <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
+ -o- <|> ... //-o- BASE access
+ Escxxxxxxxxת•xxxxץ•xxxxקxxxxxרxxxxxאxxxxx|xטxxxxxוxxxxxןxxxxxםx׳xxxפx״xxxxxxxxBksp
+ Tab+LCtlxxxשxxxxxדxxxxxג/RLMxכx₪xxxעxxxxx|xיxxxxxחxxxxxל/LRMxךxxxxxף:xxxxxxxxxxx'" //Right-Left-Mark
+ LSht+_PADxxזxxxxxסxxxxxבxxxxxהxxxxxנxxxxx|xמxxxxxצxxxxx,<xxxx.>xxxx/?xxxxRSht+_FUN
+ +_MOV⁵ | +_RAR⁶
+ ---------------------------------------------------------------------------------------
+ (…)
+
+ HEBREW_DVORAK
+ Layer _..._BASE (LeTteRs, standard Hebrew)
+ | Right hand
+ <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring> pinky>pinky2> // Keys by finger
+ -o- <|> ... //-o- BASE access
+ Escxxxxxxxx'"xxxx,<xxxx.>xxxxרxxxxxאxxxxx|xטxxxxxוxxxxxןxxxxxםx׳xxxפx״xxxxxxxxBksp
+ Tab+LCtlxxxשxxxxxדxxxxxג/RLMxכx₪xxxעxxxxx|xיxxxxxחxxxxxל/LRMxךxxxxxףxxxxxxxxxxxxx־ //Right/Left-Mark
+ LSht+_PADxxז:xxxxסxxxxxבxxxxxהxxxxxנxxxxx|xמxxxxxצxxxxxתxxxxxץxxxxxק•xxxxRSht+_FUN
+ +_MOV⁵ | +_RAR⁶
+ ---------------------------------------------------------------------------------------
+ Left+LAlt Del;_ACC _DEF_NSY(_DRA) Enter+_MOV| Space _DEF_NSY(_DRA) RGUI Right;_RAR
+ hold hold₍₁,₂٭₎ hold | hold₍₁,₂٭₎ hold // switch type
+ hold₍₂₎ ^-┃-----------------------+--------^ ┃ // ₁₎ both = _DRA
+ ┗━━━_BON━━━╋┅───────────┄┄┄«or»┄┄┄─+─────────┅┛ // ₂₎ both = _BON
+ <1 ± <2 <3 <4 | 4> 3> 2> ± 1> // Keys by number
+ ^³ ^⁴ // Optional more keys
+ (LGUI) (_MOV)
+
+
+ ₁) Dual hold for _DRA, single hold for _DEF_NSY. Marked by: ^--…--^
+ ₂) Hold key “<2” with either٭ key “<3” or “3>” for _BON, single hold “<2” for _ACC. Marked: ┗━━…━━┛
+ ₃) 'South paw' hardware configuration. Configurable, default shown.
+ ₄) 'Arrow' hardware configuration Configurable, default shown.
+ ₃ ₄) There are two more optional hardware keys, to make it easier to compile for
+ a 12x12x12x11 or 12x12x12x12 layouts.
+ ₅) Left Shift when pressed with another key. Medium long: to toggle _PAD. Long: toggle _MOV.
+ ₆) Right shift when pressed with another key. medium long: to toggle _FUN. Long: toggle _RAR.
+ ⁷) Letters marked with • are displaced from standard hebrew layout.
+
+Remarks: The left modifiers have a slight delay in combination with an outside pointer device (mouse, stylus).
+It seems this will be difficult to fix, because it is spread over two devices. To avoid the
+±0.2 second delay, activate a layer where the modifiers are direct (`_PAD`), using the layer toggle on left shift.
+
+The two keys with ';' (Del;`_ACC`, Right;`_RAR`) do not auto-repeat on double tap, like QMK normal layer-tap keys.
+There is an uncluttered _Delete_ on `_PAD`, an uncluttered _Right_ arrow on the `_MOV` layer.
+
+Holding both `_DEF_NSY` keys left and right of the "split space bar" (enter, space) results in layer `_DRA`.
+
+Holding either one of the just above mentioned `_DEF_NSY` layer keys (<3 and 3>), with the `_ACC` layer key
+(on <2) results in layer `_BON`.
+
+- - -
+
+ Layer _..._NSY (Numbers and SYmbols)
+
+ HEBREW_ISRAEL & HEBREW_QWERTY (_ becomes ־ Maqaf)
+ <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
+ -*- <|> //(toggle) Access on _FUN
+ BASExxxxx!xxxxx@xxxxx#xxxxx$xxxxx%xxxxx|x^xxxxx&xxxxx*xxxxx(xxxx)xxxxxxxDel
+ Tab+LCtlx1!xxxx2@xxxx3#xxxx4$xxxx5%xxxx|x6^xxxx7&xxxx8*xxxx9(xxx0)xx`~+RCtl
+ -+LShtxxx[{xxxx]}xxxx-_xxxx\|xxxx=+xxxx|x+xxxxx|xxxxx־xxxxx{xxxxx}xxx~+RSht
+ ^ // Only difference with Qwerty
+ ---------------------------------------------------------------------------
+ Left+LAlt ___ ___ Ent | . ___ RGUI Right+RAlt
+ -*- <|> -*- //(hold) Access on _DEF_BASE
+ <1 ± <2 <3 <4 | 4> 3> 2> ± 1>
+ ^ ^
+ (LGUI) (_MOV)
+
+
+ HEBREW_DVORAK (Same as standard Dvorak)
+ <pink2 <pinky<ring <middl<index<indx2| indx2>index>middl>ring>pin>pink2>
+ -*- <|> //(toggle) Access on _FUN
+ BASE ! @ # $ % | ^ & * ( ) Del
+ Tab+LCtl 1! 2@ 3# 4$ 5% | 6^ 7& 8* 9( 0) `~+RCtl
+ -+LSht [{ ]} /? \| =+ | + | ? { } ~+RSht
+ ---------------------------------------------------------------------------
+ (…)
+- - -
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.h
index 86baf95a59..d4440721ff 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.h
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_numpad.h
@@ -18,6 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
+#pragma once
+
// --------------------------------------v---------------------------------------
// Configuration:
// --------------------------------------v---------------------------------------
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h
index 74aa563b42..386a6e593a 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/base_qwerty_basearrow.h
@@ -18,6 +18,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
+#pragma once
+
// --------------------------------------v---------------------------------------
// Configuration:
// --------------------------------------v---------------------------------------
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c b/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
index 09a9b7d93d..057561a473 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/keymap.c
@@ -146,7 +146,7 @@ bool led_middle_on = TRUE; // Set to off later, if startup setting is off.
bool isolate_trigger = FALSE; // detects if _FUN layer move was pressed, and no other key (no normal use of Shift).
bool capslock; // keeps track of capslock state
bool numlock; // keeps track of numlock state
-layer_state_t state_recall; // We are calling the function set_led_colors_ from this file as well.
+//layer_state_t state_recall; // We are calling the function set_led_colors_ from this file as well.
// speed measuring
bool speed_measure = SPEED_INIT_VALUE; // feature activated or not on startup
uint32_t speed_counttime; // counts the time
@@ -289,8 +289,8 @@ void speed_led (int speed) {
// do this in one place to handle left/right leds being off here
void isolate_rgblight_set () {
-# ifdef RGBLIGHT_ENABLE
+# ifdef RGBLIGHT_ENABLE
if (!leds_on) { // left/right leds are off
// overwrite previously colors
uint8_t led0r = 0; uint8_t led0g = 0; uint8_t led0b = 0;
@@ -305,8 +305,8 @@ void isolate_rgblight_set () {
setrgb(led2r, led2g, led2b, (LED_TYPE *)&led[2]); // Led 2
}
rgblight_set ();
-
# endif
+
}
@@ -335,7 +335,7 @@ void indicate_fun_stay (void) {
// _RAR layer leds
-// It is a function because this is called when the Base layer OTHER_BASE key is pressed
+// It is a function because this is also called when the Base layer OTHER_BASE key is pressed
void indicate_base (void) {
# ifdef RGBLIGHT_ENABLE
@@ -614,6 +614,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
# include "./base_numpad.c" // Numbers pad
# endif
+// * Hebrew *
+# if defined(BASE_HEBREW__DEF_BASE) || defined(BASE_HEBREW__ALT_BASE)
+# include "./base_hebrew.c" // Hebrew
+# endif
+
// // ⬇ insert your ./base_YOUR_KEYMAP.c #include here:
diff --git a/keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h b/keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h
index 89d426b140..932acf2a82 100644
--- a/keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h
+++ b/keyboards/thevankeyboards/minivan/keymaps/josjoha/minifan_config_compact.h
@@ -14,25 +14,29 @@ GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
- * © 2020,2021 by Jos Boersema
+* © 2020,2021 by Jos Boersema
*/
+#pragma once
+
/*
* If MINIFAN_CONFIG_COMPACT in ./user_config.h ⬇
*/
//#define BASE_QWERTY__DEF_BASE
//#define BASE_QWERTY__ALT_BASE
-//#define BASE_QWERTY_BASEARROW__DEF_BASE
-//#define BASE_QWERTY_BASEARROW__ALT_BASE
+//#define BASE_QWERTY_BASEARROW__DEF_BASE // ➡ base_qwerty_basearrow.h
+//#define BASE_QWERTY_BASEARROW__ALT_BASE // ➡ base_qwerty_basearrow.h
#define BASE_DVORAK__DEF_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__ALT_BASE
//#define BASE_WORKMAN__DEF_BASE
//#define BASE_WORKMAN__ALT_BASE
-//#define BASE_NUMPAD__ALT_BASE
+//#define BASE_NUMPAD__ALT_BASE // ➡ base_numpad.h
+//#define BASE_HEBREW__DEF_BASE // ➡ base_hebrew.h
+ #define BASE_HEBREW__ALT_BASE // ➡ base_hebrew.h
//#define MINIFAN_SINGLE_LAYOUT