Add layouts 'he_il_1452_1' and 'he_il_1452_2'

This commit is contained in:
Ram Kromberg 2023-01-20 04:58:40 +02:00 committed by Jules Aguillon
parent eb0df72ba1
commit 51ce2ccdf1
8 changed files with 152 additions and 2 deletions

View File

@ -28,6 +28,8 @@
<item>jcuken_ua</item>
<item>bangla</item>
<item>hindi</item>
<item>he_il_1452_1</item>
<item>he_il_1452_2</item>
<item>custom</item>
</string-array>
<string-array name="pref_layout_entries">
@ -58,6 +60,8 @@
<item>ЙЦУКЕН (Українська)</item>
<item>বাংলা</item>
<item>हिन्दी</item>
<item>Hebrew SI-1452-1</item>
<item>Hebrew SI-1452-2</item>
<item>@string/pref_layout_e_custom</item>
</string-array>
<string-array name="pref_accents_entries">

41
res/xml/he_il_1452_1.xml Normal file
View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<keyboard>
<row>
<key key0="/" key2="1" key3="!" key4="esc"/>
<key key0="'" key2="2" key3="\@" key1=";"/>
<key key0="ק" key2="3" key3="\#" key1="€"/>
<key key0="ר" key2="4" key3="$" key1="₪"/>
<key key0="א" key2="5" key3="%"/>
<key key0="ט" key2="6" key3="^" key4="ole_placeholder"/>
<key key0="ו" key2="7" key3="&amp;" key4="meteg_placeholder"/>
<key key0="ן" key2="8" key3="*"/>
<key key0="ם" key2="9" key3="b(" key4="lrm"/>
<key key0="פ" key2="0" key3="b)" key4="rlm"/>
<key key0="backspace" key2="delete" key3="f11_placeholder" key4="f12_placeholder"/>
</row>
<row>
<key key0="ש" key2="`" key1="tab" key3="sindot_placeholder" key4="shindot_placeholder" width="1.333"/>
<key key0="ד" key1="~" width="1.0333"/>
<key key0="ג" key1="geresh" key2="gershayim" width="1.0333"/>
<key key0="כ" width="1.0333"/>
<key key0="ע" width="1.0333"/>
<key key0="י" key2="-" key3="_" key4="maqaf" width="1.0333"/>
<key key0="ח" key2="=" key3="+" width="1.0333"/>
<key key0="ל" key2="b[" key3="b{" width="1.0333"/>
<key key0="ך" key2="b]" key3="b}" width="1.0333"/>
<key key0="ף" key2="," key3="&quot;" key1=":" width="1.4006"/>
</row>
<row>
<key key0="\\" key1="|" key2="shift" key3="loc capslock"/>
<key key0="ז"/>
<key key0="ס"/>
<key key0="ב"/>
<key key0="ה"/>
<key key0="נ"/>
<key key0="מ"/>
<key key0="צ"/>
<key key0="ת" key1="blt"/>
<key key0="ץ" key1="bgt"/>
<key key0="." key1="\?"/>
</row>
</keyboard>

39
res/xml/he_il_1452_2.xml Normal file
View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<keyboard>
<row>
<key key0="ץ" key2="1" key3="!" key4="esc"/>
<key key0="ן" key2="2" key3="\@" key1=";"/>
<key key0="ק" key2="3" key3="\#" key1="€"/>
<key key0="ר" key2="4" key3="$" key1="₪"/>
<key key0="א" key2="5" key3="%"/>
<key key0="ט" key2="6" key3="^" key4="ole_placeholder"/>
<key key0="ו" key2="7" key3="&amp;" key4="meteg_placeholder"/>
<key key0="ת" key2="8" key3="*"/>
<key key0="ם" key2="9" key3="b(" key4="lrm"/>
<key key0="פ" key2="0" key3="b)" key4="rlm" width="1.333"/>
</row>
<row>
<key key0="ש" key2="`" key1="tab" key3="sindot_placeholder" key4="shindot_placeholder" width="1.333"/>
<key key0="ד" key1="~"/>
<key key0="ג" key1="geresh" key2="gershayim"/>
<key key0="כ"/>
<key key0="ע"/>
<key key0="י" key2="-" key3="_" key4="maqaf"/>
<key key0="ח" key2="=" key3="+"/>
<key key0="ל" key2="b[" key3="b{"/>
<key key0="ך" key2="b]" key3="b}"/>
<key key0="ף" key2="'" key3="&quot;" key1=":"/>
</row>
<row>
<key key0="\\" key1="|" key2="shift" key3="loc capslock"/>
<key key0="ז"/>
<key key0="ס"/>
<key key0="ב"/>
<key key0="ה" />
<key key0="נ"/>
<key key0="מ" key1="blt" key2=","/>
<key key0="צ" key1="bgt" key2="."/>
<key key0="/" key1="\?"/>
<key key0="backspace" key2="delete" key3="f11_placeholder" key4="f12_placeholder" width="1.333"/>
</row>
</keyboard>

View File

@ -9,6 +9,7 @@
<subtype android:label="%s" android:languageTag="es" android:imeSubtypeLocale="es_ES" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=qwerty_es,extra_keys=accent_grave|accent_aigu|accent_tilde|accent_trema|€"/>
<subtype android:label="%s" android:languageTag="fr" android:imeSubtypeLocale="fr_FR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=azerty,extra_keys=accent_grave|accent_aigu|accent_circonflexe|accent_cedille|accent_trema|€"/>
<subtype android:label="%s" android:languageTag="hu" android:imeSubtypeLocale="hu_HU" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=qwertz_hu,extra_keys=accent_aigu|accent_trema|accent_ogonek|€"/>
<subtype android:label="%s" android:languageTag="he" android:imeSubtypeLocale="he_IL" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=he_il_1452_1,extra_keys=₪|€"/>
<subtype android:label="%s" android:languageTag="it" android:imeSubtypeLocale="it_IT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=qwerty,extra_keys=accent_grave|accent_aigu|€"/>
<subtype android:label="%s" android:languageTag="ko" android:imeSubtypeLocale="ko_KR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=qwerty_ko"/>
<subtype android:label="%s" android:languageTag="lt" android:imeSubtypeLocale="lt_LT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=qwerty,extra_keys=accent_ogonek|accent_caron|accent_dot_above|accent_macron|€"/>

View File

@ -4,7 +4,7 @@
<key key0="q" key2="1" key4="esc"/>
<key key0="w" key1="~" key2="2" key3="\@"/>
<key key0="e" key1="!" key2="3" key3="\#" key4="loc €"/>
<key key0="r" key2="4" key3="$"/>
<key key0="r" key2="4" key3="$" key1="loc ₪"/>
<key key0="t" key2="5" key3="%"/>
<key key0="y" key2="6" key3="^"/>
<key key0="u" key2="7" key3="&amp;"/>

View File

@ -362,6 +362,8 @@ final class Config
case "qwertz_hu": id = R.xml.qwertz_hu; break;
case "qwertz_sk": id = R.xml.qwertz_sk; break;
case "ru_jcuken": id = R.xml.local_ru_jcuken; break;
case "he_il_1452_1": id = R.xml.he_il_1452_1; break;
case "he_il_1452_2": id = R.xml.he_il_1452_2; break;
}
return KeyboardData.load(res, id);
}

View File

@ -156,6 +156,10 @@ class KeyModifier
{
case F11: return "f11";
case F12: return "f12";
case SHINDOT: return "shindot";
case SINDOT: return "sindot";
case OLE: return "ole";
case METEG: return "meteg";
default: return null;
}
}
@ -198,6 +202,7 @@ class KeyModifier
case ',': return "·";
case '!': return "¡";
case '?': return "¿";
case '|': return "¦";
// arrows
case '↖': return "";
case '↑': return "";
@ -243,6 +248,20 @@ class KeyModifier
case '⊂': return "";
case '⊃': return "";
case '±': return "";
// hebrew niqqud
case 'ק': return "qamats"; // kamatz
case 'ר': return "hataf_qamats"; // reduced kamatz
case 'ו': return "holam";
case 'ם': return "rafe";
case 'פ': return "patah"; // patach
case 'ש': return "sheva";
case 'ד': return "dagesh"; // or mapiq
case 'ח': return "hiriq";
case 'ף': return "hataf_patah"; // reduced patach
case 'ז': return "qubuts"; // kubuts
case 'ס': return "segol";
case 'ב': return "hataf_segol"; // reduced segol
case 'צ': return "tsere";
// other
case ' ': return "nbsp";
default: return null;

View File

@ -72,7 +72,11 @@ final class KeyValue
{
REMOVED,
F11,
F12
F12,
SHINDOT,
SINDOT,
OLE,
METEG
}
public static enum Kind
@ -357,10 +361,50 @@ final class KeyValue
case "space": return charKey("\r", ' ', FLAG_KEY_FONT | FLAG_SECONDARY);
case "nbsp": return charKey("\u237d", '\u00a0', FLAG_SMALLER_FONT);
/* bidi */
case "lrm": return charKey("", '\u200e', 0); // Send left-to-right mark
case "rlm": return charKey("", '\u200f', 0); // Send right-to-left mark
case "b(": return charKey("(", ')', 0);
case "b)": return charKey(")", '(', 0);
case "b[": return charKey("[", ']', 0);
case "b]": return charKey("]", '[', 0);
case "b{": return charKey("{", '}', 0);
case "b}": return charKey("}", '{', 0);
case "blt": return charKey("<", '>', 0);
case "bgt": return charKey(">", '<', 0);
case "removed": return placeholderKey(Placeholder.REMOVED);
case "f11_placeholder": return placeholderKey(Placeholder.F11);
case "f12_placeholder": return placeholderKey(Placeholder.F12);
/* hebrew niqqud */
case "qamats": return charKey("\u05E7\u05B8", '\u05B8', 0); // kamatz
case "patah": return charKey("\u05E4\u05B7", '\u05B7', 0); // patach
case "sheva": return charKey("\u05E9\u05B0", '\u05B0', 0);
case "dagesh": return charKey("\u05D3\u05BC", '\u05BC', 0); // or mapiq
case "hiriq": return charKey("\u05D7\u05B4", '\u05B4', 0);
case "segol": return charKey("\u05E1\u05B6", '\u05B6', 0);
case "tsere": return charKey("\u05E6\u05B5", '\u05B5', 0);
case "holam": return charKey("\u05D5\u05B9", '\u05B9', 0);
case "qubuts": return charKey("\u05E7\u05BB", '\u05BB', 0); // kubuts
case "hataf_patah": return charKey("\u05D7\u05B2\u05E4\u05B7", '\u05B2', 0); // reduced patach
case "hataf_qamats": return charKey("\u05D7\u05B3\u05E7\u05B8", '\u05B3', 0); // reduced kamatz
case "hataf_segol": return charKey("\u05D7\u05B1\u05E1\u05B6", '\u05B1', 0); // reduced segol
case "shindot": return charKey("\u05E9\u05C1", '\u05C1', 0);
case "shindot_placeholder": return placeholderKey(Placeholder.SHINDOT);
case "sindot": return charKey("\u05E9\u05C2", '\u05C2', 0);
case "sindot_placeholder": return placeholderKey(Placeholder.SINDOT);
/* hebrew punctuation */
case "geresh": return charKey("\u05F3", '\u05F3', 0);
case "gershayim": return charKey("\u05F4", '\u05F4', 0);
case "maqaf": return charKey("\u05BE", '\u05BE', 0);
/* hebrew biblical */
case "rafe": return charKey("\u05E4\u05BF", '\u05BF', 0);
case "ole": return charKey("\u05E2\u05AB", '\u05AB', 0);
case "ole_placeholder": return placeholderKey(Placeholder.OLE);
case "meteg": return charKey("\u05DE\u05BD", '\u05BD', 0); // or siluq or sof-pasuq
case "meteg_placeholder": return placeholderKey(Placeholder.METEG);
case "copy": return editingKey("copy", Editing.COPY);
case "paste": return editingKey("paste", Editing.PASTE);
case "cut": return editingKey("cut", Editing.CUT);