-
-
Notifications
You must be signed in to change notification settings - Fork 41.7k
Adds optional hebrew layout (Unicode) #14156
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 24 commits
Commits
Show all changes
27 commits
Select commit
Hold shift + click to select a range
0ae22a0
Adding hebrew
josjoha 54972ad
Hebrew layout option.
josjoha 20f7199
Adding some hebrew symbols. Changed DRA evisceration
josjoha 7e3ed73
Text documentation for Hebrew.
josjoha 53ceaae
See previous: forgotten “git add .”.
josjoha 069e0eb
Formatting issues hebrew direction in readme.md
josjoha 05fc94b
Format hebrew issues in readme.md.
josjoha 8bb96ea
Display hebrew problem in readme.md on github.
josjoha 7aa7c96
Display direction problems Hebrew in readme.md in github.
josjoha de5880f
Display issues hebrew in readme.md on github.
josjoha 1898f4a
Fix: dispay issues hebrew in readme.md on github.
josjoha b688c6d
Display issues hebrew on github HTML preview
josjoha b5b5f52
Added ':' to Hebrew layout
josjoha 969086d
A Hebrew layout harmonizing with Qwerty
josjoha a5d7779
Added to hebrew readme about language setting
josjoha dcf6b5c
Implemented standard hebrew layout
josjoha f06812f
Hebrew-Israeli: '" changed to excl. ׳ ״.
josjoha 0cb9d83
Leds on/off now reacts immediately
josjoha 269b623
Graphics files for Base layer (letters) hebrew
josjoha 19eb679
NSY layer graphics hebrew manual
josjoha 31fc6c2
Some hebrew manual fixing/improving
josjoha 725679c
graphics fix
josjoha 63e08cc
Added 'Israel' to by-key graphic heading
josjoha dc44fc5
Added “hebrew” to first readme graphic
josjoha 3fe9fd0
Changed default configuration
josjoha 7c8fbf3
© 《author》 statement comment was wrong year
josjoha f95f2c1
Adding “#pragma once” to all header.h files
josjoha File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
291 changes: 291 additions & 0 deletions
291
keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.c
Large diffs are not rendered by default.
Oops, something went wrong.
50 changes: 50 additions & 0 deletions
50
keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.h
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
/* | ||
* 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: © 2020 by Jos Boersema | ||
* | ||
*/ | ||
|
||
// --------------------------------------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 |
198 changes: 198 additions & 0 deletions
198
keyboards/thevankeyboards/minivan/keymaps/josjoha/base_hebrew.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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  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 | ||
 | ||
|
||
☞ 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  | ||
|
||
Hebrew keymaps | ||
-------------- | ||
|
||
──────────Hebrew Israel──────── | ||
|
||
 | ||
Layer: `..._BASE` | ||
|
||
 | ||
Layer: `..._NSY` | ||
|
||
──────────in common──────────── | ||
|
||
(…) | ||
|
||
──────────Hebrew Qwerty──────── | ||
|
||
 | ||
Layer: `..._BASE` | ||
|
||
 | ||
Layer: `..._NSY` | ||
|
||
──────────in common──────────── | ||
|
||
(…) | ||
|
||
──────────Hebrew Dvorak──────── | ||
|
||
 | ||
Layer: `..._BASE` | ||
|
||
 | ||
Layer: `..._NSY` (Same as Dvorak.) | ||
|
||
──────────in common──────────── | ||
|
||
(…) | ||
|
||
For more about the other layers, see ➡  ⬅ | ||
|
||
 | ||
|
||
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 | ||
--------------------------------------------------------------------------- | ||
(…) | ||
- - - |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.