Merge "Clean up keyboard layout test harness a bit"
This commit is contained in:
commit
b58b529c9a
27 changed files with 345 additions and 527 deletions
|
@ -142,7 +142,7 @@ public final class Arabic extends LayoutBase {
|
|||
} else {
|
||||
final ExpectedKeyboardBuilder builder = new ExpectedKeyboardBuilder(ALPHABET_COMMON);
|
||||
// U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
|
||||
builder.insertKeysAtRow(3, 2, key("\u0626"));
|
||||
builder.insertKeysAtRow(3, 2, "\u0626");
|
||||
return builder.build();
|
||||
}
|
||||
}
|
||||
|
@ -198,7 +198,7 @@ public final class Arabic extends LayoutBase {
|
|||
// U+069C: "ڜ" ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
|
||||
key("\u0634", moreKey("\u069C")),
|
||||
// U+0633: "س" ARABIC LETTER SEEN
|
||||
key("\u0633"),
|
||||
"\u0633",
|
||||
// U+064A: "ي" ARABIC LETTER YEH
|
||||
// U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
|
||||
// U+0649: "ى" ARABIC LETTER ALEF MAKSURA
|
||||
|
@ -226,18 +226,16 @@ public final class Arabic extends LayoutBase {
|
|||
// U+0671: "ٱ" ARABIC LETTER ALEF WASLA
|
||||
key("\u0627", joinMoreKeys("\u0622", "\u0621", "\u0623", "\u0625", "\u0671")),
|
||||
// U+062A: "ت" ARABIC LETTER TEH
|
||||
key("\u062A"),
|
||||
// U+0646: "ن" ARABIC LETTER NOON
|
||||
key("\u0646"),
|
||||
// U+0645: "م" ARABIC LETTER MEEM
|
||||
key("\u0645"),
|
||||
"\u062A", "\u0646", "\u0645",
|
||||
// U+0643: "ك" ARABIC LETTER KAF
|
||||
// U+06AF: "گ" ARABIC LETTER GAF
|
||||
// U+06A9: "ک" ARABIC LETTER KEHEH
|
||||
key("\u0643", joinMoreKeys("\u06AF", "\u06A9")),
|
||||
// U+0637: "ط" ARABIC LETTER TAH
|
||||
key("\u0637"))
|
||||
.setKeysOfRow(3, joinKeys(
|
||||
"\u0637")
|
||||
.setKeysOfRow(3,
|
||||
// U+0630: "ذ" ARABIC LETTER THAL
|
||||
// U+0621: "ء" ARABIC LETTER HAMZA
|
||||
// U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE
|
||||
|
@ -254,7 +252,7 @@ public final class Arabic extends LayoutBase {
|
|||
key("\u0632", moreKey("\u0698")),
|
||||
// U+0638: "ظ" ARABIC LETTER ZAH
|
||||
// U+062F: "د" ARABIC LETTER DAL
|
||||
"\u0638", "\u062F"))
|
||||
"\u0638", "\u062F")
|
||||
.build();
|
||||
|
||||
private static class ArabicSymbols extends RtlSymbols {
|
||||
|
|
|
@ -51,7 +51,7 @@ public final class Azerty extends LayoutBase {
|
|||
} else {
|
||||
builder = new ExpectedKeyboardBuilder(ALPHABET_COMMON);
|
||||
getCustomizer().setAccentedLetters(builder);
|
||||
builder.replaceKeyOfLabel(ROW3_QUOTE, key("?"));
|
||||
builder.replaceKeyOfLabel(ROW3_QUOTE, "?");
|
||||
}
|
||||
builder.toUpperCase(getLocale());
|
||||
return builder.build();
|
||||
|
@ -71,7 +71,7 @@ public final class Azerty extends LayoutBase {
|
|||
key("i", moreKey("8")),
|
||||
key("o", moreKey("9")),
|
||||
key("p", moreKey("0")))
|
||||
.setLabelsOfRow(2, "q", "s", "d", "f", "g", "h", "j", "k", "l", "m")
|
||||
.setLabelsOfRow(3, "w", "x", "c", "v", "b", "n", ROW3_QUOTE)
|
||||
.setKeysOfRow(2, "q", "s", "d", "f", "g", "h", "j", "k", "l", "m")
|
||||
.setKeysOfRow(3, "w", "x", "c", "v", "b", "n", ROW3_QUOTE)
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -76,7 +76,7 @@ public final class Bulgarian extends LayoutBase {
|
|||
// U+043F: "п" CYRILLIC SMALL LETTER PE
|
||||
key("\u043F", moreKey("0")),
|
||||
// U+0447: "ч" CYRILLIC SMALL LETTER CHE
|
||||
key("\u0447"))
|
||||
"\u0447")
|
||||
// U+0430: "а" CYRILLIC SMALL LETTER A
|
||||
// U+0441: "с" CYRILLIC SMALL LETTER ES
|
||||
// U+0434: "д" CYRILLIC SMALL LETTER DE
|
||||
|
@ -88,7 +88,7 @@ public final class Bulgarian extends LayoutBase {
|
|||
// U+043B: "л" CYRILLIC SMALL LETTER EL
|
||||
// U+0448: "ш" CYRILLIC SMALL LETTER SHA
|
||||
// U+0449: "щ" CYRILLIC SMALL LETTER SHCHA
|
||||
.setLabelsOfRow(2,
|
||||
.setKeysOfRow(2,
|
||||
"\u0430", "\u0441", "\u0434", "\u0444", "\u0433", "\u0445", "\u0439", "\u043A",
|
||||
"\u043B", "\u0448", "\u0449")
|
||||
// U+0437: "з" CYRILLIC SMALL LETTER ZE
|
||||
|
@ -99,7 +99,7 @@ public final class Bulgarian extends LayoutBase {
|
|||
// U+043D: "н" CYRILLIC SMALL LETTER EN
|
||||
// U+043C: "м" CYRILLIC SMALL LETTER EM
|
||||
// U+044E: "ю" CYRILLIC SMALL LETTER YU
|
||||
.setLabelsOfRow(3,
|
||||
.setKeysOfRow(3,
|
||||
"\u0437", "\u044C", "\u0446", "\u0436", "\u0431", "\u043D", "\u043C", "\u044E")
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ public final class BulgarianBds extends LayoutBase {
|
|||
// U+0446: "ц" CYRILLIC SMALL LETTER TSE
|
||||
key("\u0446", moreKey("0")),
|
||||
// U+0431: "б" CYRILLIC SMALL LETTER BE
|
||||
key("\u0431"))
|
||||
"\u0431")
|
||||
// U+044C: "ь" CYRILLIC SMALL LETTER SOFT SIGN
|
||||
// U+044F: "я" CYRILLIC SMALL LETTER YA
|
||||
// U+0430: "а" CYRILLIC SMALL LETTER A
|
||||
|
@ -78,7 +78,7 @@ public final class BulgarianBds extends LayoutBase {
|
|||
// U+0432: "в" CYRILLIC SMALL LETTER VE
|
||||
// U+043C: "м" CYRILLIC SMALL LETTER EM
|
||||
// U+0447: "ч" CYRILLIC SMALL LETTER CHE
|
||||
.setLabelsOfRow(2,
|
||||
.setKeysOfRow(2,
|
||||
"\u044C", "\u044F", "\u0430", "\u043E", "\u0436", "\u0433", "\u0442", "\u043D",
|
||||
"\u0432", "\u043C", "\u0447")
|
||||
// U+044E: "ю" CYRILLIC SMALL LETTER YU
|
||||
|
@ -90,7 +90,7 @@ public final class BulgarianBds extends LayoutBase {
|
|||
// U+043F: "п" CYRILLIC SMALL LETTER PE
|
||||
// U+0440: "р" CYRILLIC SMALL LETTER ER
|
||||
// U+043B: "л" CYRILLIC SMALL LETTER EL
|
||||
.setLabelsOfRow(3,
|
||||
.setKeysOfRow(3,
|
||||
"\u044E", "\u0439", "\u044A", "\u044D", "\u0444", "\u0445", "\u043F", "\u0440",
|
||||
"\u043B")
|
||||
.build();
|
||||
|
|
|
@ -82,7 +82,7 @@ public final class EastSlavic extends LayoutBase {
|
|||
// U+0437: "з" CYRILLIC SMALL LETTER ZE
|
||||
key("\u0437", moreKey("0")),
|
||||
// U+0445: "х" CYRILLIC SMALL LETTER HA
|
||||
key("\u0445"))
|
||||
"\u0445")
|
||||
// U+0444: "ф" CYRILLIC SMALL LETTER EF
|
||||
// U+0432: "в" CYRILLIC SMALL LETTER VE
|
||||
// U+0430: "а" CYRILLIC SMALL LETTER A
|
||||
|
@ -92,7 +92,7 @@ public final class EastSlavic extends LayoutBase {
|
|||
// U+043B: "л" CYRILLIC SMALL LETTER EL
|
||||
// U+0434: "д" CYRILLIC SMALL LETTER DE
|
||||
// U+0436: "ж" CYRILLIC SMALL LETTER ZHE
|
||||
.setLabelsOfRow(2,
|
||||
.setKeysOfRow(2,
|
||||
"\u0444", ROW2_2, "\u0432", "\u0430", "\u043F", "\u0440", "\u043E", "\u043B",
|
||||
"\u0434", "\u0436", ROW2_11)
|
||||
// U+044F: "я" CYRILLIC SMALL LETTER YA
|
||||
|
@ -103,7 +103,7 @@ public final class EastSlavic extends LayoutBase {
|
|||
// U+044C: "ь" CYRILLIC SMALL LETTER SOFT SIGN
|
||||
// U+0431: "б" CYRILLIC SMALL LETTER BE
|
||||
// U+044E: "ю" CYRILLIC SMALL LETTER YU
|
||||
.setLabelsOfRow(3,
|
||||
.setKeysOfRow(3,
|
||||
"\u044F", "\u0447", "\u0441", "\u043C", ROW3_5, "\u0442", "\u044C", "\u0431",
|
||||
"\u044E")
|
||||
.build();
|
||||
|
|
|
@ -148,7 +148,7 @@ public final class Farsi extends LayoutBase {
|
|||
}
|
||||
final ExpectedKeyboardBuilder builder = new ExpectedKeyboardBuilder(ALPHABET_COMMON);
|
||||
// U+0622: "آ" ARABIC LETTER ALEF WITH MADDA ABOVE
|
||||
builder.insertKeysAtRow(3, 10, key("\u0622"));
|
||||
builder.insertKeysAtRow(3, 10, "\u0622");
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
|
@ -195,12 +195,11 @@ public final class Farsi extends LayoutBase {
|
|||
// U+06F0: "۰" EXTENDED ARABIC-INDIC DIGIT ZERO
|
||||
key("\u062D", joinMoreKeys("\u06F0", "0")),
|
||||
// U+062C: "ج" ARABIC LETTER JEEM
|
||||
key("\u062C"))
|
||||
"\u062C")
|
||||
.setKeysOfRow(2,
|
||||
// U+0634: "ش" ARABIC LETTER SHEEN
|
||||
key("\u0634"),
|
||||
// U+0633: "س" ARABIC LETTER SEEN
|
||||
key("\u0633"),
|
||||
"\u0634", "\u0633",
|
||||
// U+06CC: "ی" ARABIC LETTER FARSI YEH
|
||||
// U+0626: "ئ" ARABIC LETTER YEH WITH HAMZA ABOVE
|
||||
// U+064A: "ي" ARABIC LETTER YEH
|
||||
|
@ -208,9 +207,8 @@ public final class Farsi extends LayoutBase {
|
|||
// U+0649: "ى" ARABIC LETTER ALEF MAKSURA
|
||||
key("\u06CC", joinMoreKeys("\u0626", "\u064A", moreKey("\uFBE8", "\u0649"))),
|
||||
// U+0628: "ب" ARABIC LETTER BEH
|
||||
key("\u0628"),
|
||||
// U+0644: "ل" ARABIC LETTER LAM
|
||||
key("\u0644"),
|
||||
"\u0628", "\u0644",
|
||||
// U+0627: "ا" ARABIC LETTER ALEF
|
||||
// U+0671: "ٱ" ARABIC LETTER ALEF WASLA
|
||||
// U+0621: "ء" ARABIC LETTER HAMZA
|
||||
|
@ -222,15 +220,14 @@ public final class Farsi extends LayoutBase {
|
|||
// U+0629: "ة": ARABIC LETTER TEH MARBUTA
|
||||
key("\u062A", moreKey("\u0629")),
|
||||
// U+0646: "ن" ARABIC LETTER NOON
|
||||
key("\u0646"),
|
||||
// U+0645: "م" ARABIC LETTER MEEM
|
||||
key("\u0645"),
|
||||
"\u0646", "\u0645",
|
||||
// U+06A9: "ک" ARABIC LETTER KEHEH
|
||||
// U+0643: "ك" ARABIC LETTER KAF
|
||||
key("\u06A9", moreKey("\u0643")),
|
||||
// U+06AF: "گ" ARABIC LETTER GAF
|
||||
key("\u06AF"))
|
||||
.setKeysOfRow(3, joinKeys(
|
||||
"\u06AF")
|
||||
.setKeysOfRow(3,
|
||||
// U+0638: "ظ" ARABIC LETTER ZAH
|
||||
// U+0637: "ط" ARABIC LETTER TAH
|
||||
// U+0698: "ژ" ARABIC LETTER JEH
|
||||
|
@ -244,7 +241,7 @@ public final class Farsi extends LayoutBase {
|
|||
// U+0624: "ؤ" ARABIC LETTER WAW WITH HAMZA ABOVE
|
||||
key("\u0648", moreKey("\u0624")),
|
||||
// U+0686: "چ" ARABIC LETTER TCHEH
|
||||
"\u0686"))
|
||||
"\u0686")
|
||||
.build();
|
||||
|
||||
private static class FarsiSymbols extends RtlSymbols {
|
||||
|
|
|
@ -99,9 +99,8 @@ public final class Georgian extends LayoutBase {
|
|||
// U+10FA: "ჺ" GEORGIAN LETTER AIN
|
||||
key("\u10D0", moreKey("\u10FA")),
|
||||
// U+10E1: "ს" GEORGIAN LETTER SAN
|
||||
key("\u10E1"),
|
||||
// U+10D3: "დ" GEORGIAN LETTER DON
|
||||
key("\u10D3"),
|
||||
"\u10E1", "\u10D3",
|
||||
// U+10E4: "ფ" GEORGIAN LETTER PHAR
|
||||
// U+10F6: "ჶ" GEORGIAN LETTER FI
|
||||
key("\u10E4", moreKey("\u10F6")),
|
||||
|
@ -115,27 +114,26 @@ public final class Georgian extends LayoutBase {
|
|||
// U+10F7: "ჷ" GEORGIAN LETTER YN
|
||||
key("\u10EF", moreKey("\u10F7")),
|
||||
// U+10D9: "კ" GEORGIAN LETTER KAN
|
||||
key("\u10D9"),
|
||||
// U+10DA: "ლ" GEORGIAN LETTER LAS
|
||||
key("\u10DA"))
|
||||
"\u10D9", "\u10DA")
|
||||
.setKeysOfRow(3,
|
||||
// U+10D6: "ზ" GEORGIAN LETTER ZEN
|
||||
key("\u10D6"),
|
||||
"\u10D6",
|
||||
// U+10EE: "ხ" GEORGIAN LETTER XAN
|
||||
// U+10F4: "ჴ" GEORGIAN LETTER HAR
|
||||
key("\u10EE", moreKey("\u10F4")),
|
||||
// U+10EA: "ც" GEORGIAN LETTER CAN
|
||||
key("\u10EA"),
|
||||
"\u10EA",
|
||||
// U+10D5: "ვ" GEORGIAN LETTER VIN
|
||||
// U+10F3: "ჳ" GEORGIAN LETTER WE
|
||||
key("\u10D5", moreKey("\u10F3")),
|
||||
// U+10D1: "ბ" GEORGIAN LETTER BAN
|
||||
key("\u10D1"),
|
||||
"\u10D1",
|
||||
// U+10DC: "ნ" GEORGIAN LETTER NAR
|
||||
// U+10FC: "ჼ" MODIFIER LETTER GEORGIAN NAR
|
||||
key("\u10DC", moreKey("\u10FC")),
|
||||
// U+10DB: "მ" GEORGIAN LETTER MAN
|
||||
key("\u10DB"))
|
||||
"\u10DB")
|
||||
.build();
|
||||
|
||||
private static final ExpectedKey[][] ALPHABET_SHIFTED_COMMON = new ExpectedKeyboardBuilder()
|
||||
|
@ -154,26 +152,12 @@ public final class Georgian extends LayoutBase {
|
|||
key("O", moreKey("9")),
|
||||
key("P", moreKey("0")))
|
||||
.setKeysOfRow(2,
|
||||
key("A"),
|
||||
// U+10E8: "შ" GEORGIAN LETTER SHIN
|
||||
key("\u10E8"),
|
||||
key("D"),
|
||||
key("F"),
|
||||
key("G"),
|
||||
key("H"),
|
||||
// U+10DF: "ჟ" GEORGIAN LETTER ZHAR
|
||||
key("\u10DF"),
|
||||
key("K"),
|
||||
key("L"))
|
||||
"A", "\u10E8", "D", "F", "G", "H", "\u10DF", "K", "L")
|
||||
.setKeysOfRow(3,
|
||||
// U+10EB: "ძ" GEORGIAN LETTER JIL
|
||||
key("\u10EB"),
|
||||
key("X"),
|
||||
// U+10E9: "ჩ" GEORGIAN LETTER CHIN
|
||||
key("\u10E9"),
|
||||
key("V"),
|
||||
key("B"),
|
||||
key("N"),
|
||||
key("M"))
|
||||
"\u10EB", "X", "\u10E9", "V", "B", "N", "M")
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -112,37 +112,28 @@ public final class Greek extends LayoutBase {
|
|||
// U+03AC: "ά" GREEK SMALL LETTER ALPHA WITH TONOS
|
||||
key("\u03B1", moreKey("\u03AC")),
|
||||
// U+03C3: "σ" GREEK SMALL LETTER SIGMA
|
||||
key("\u03C3"),
|
||||
// U+03B4: "δ" GREEK SMALL LETTER DELTA
|
||||
key("\u03B4"),
|
||||
// U+03C6: "φ" GREEK SMALL LETTER PHI
|
||||
key("\u03C6"),
|
||||
// U+03B3: "γ" GREEK SMALL LETTER GAMMA
|
||||
key("\u03B3"),
|
||||
"\u03C3", "\u03B4", "\u03C6", "\u03B3",
|
||||
// U+03B7: "η" GREEK SMALL LETTER ETA
|
||||
// U+03AE: "ή" GREEK SMALL LETTER ETA WITH TONOS
|
||||
key("\u03B7", moreKey("\u03AE")),
|
||||
// U+03BE: "ξ" GREEK SMALL LETTER XI
|
||||
key("\u03BE"),
|
||||
// U+03BA: "κ" GREEK SMALL LETTER KAPPA
|
||||
key("\u03BA"),
|
||||
// U+03BB: "λ" GREEK SMALL LETTER LAMDA
|
||||
key("\u03BB"))
|
||||
"\u03BE", "\u03BA", "\u03BB")
|
||||
.setKeysOfRow(3,
|
||||
// U+03B6: "ζ" GREEK SMALL LETTER ZETA
|
||||
key("\u03B6"),
|
||||
// U+03C7: "χ" GREEK SMALL LETTER CHI
|
||||
key("\u03C7"),
|
||||
// U+03C8: "ψ" GREEK SMALL LETTER PSI
|
||||
key("\u03C8"),
|
||||
"\u03B6", "\u03C7", "\u03C8",
|
||||
// U+03C9: "ω" GREEK SMALL LETTER OMEGA
|
||||
// U+03CE: "ώ" GREEK SMALL LETTER OMEGA WITH TONOS
|
||||
key("\u03C9", moreKey("\u03CE")),
|
||||
// U+03B2: "β" GREEK SMALL LETTER BETA
|
||||
key("\u03B2"),
|
||||
// U+03BD: "ν" GREEK SMALL LETTER NU
|
||||
key("\u03BD"),
|
||||
// U+03BC: "μ" GREEK SMALL LETTER MU
|
||||
key("\u03BC"))
|
||||
"\u03B2", "\u03BD", "\u03BC")
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -129,16 +129,14 @@ public final class Hebrew extends LayoutBase {
|
|||
key("\u05E4", moreKey("0")))
|
||||
.setKeysOfRow(2,
|
||||
// U+05E9: "ש" HEBREW LETTER SHIN
|
||||
key("\u05E9"),
|
||||
// U+05D3: "ד" HEBREW LETTER DALET
|
||||
key("\u05D3"),
|
||||
"\u05E9", "\u05D3",
|
||||
// U+05D2: "ג" HEBREW LETTER GIMEL
|
||||
// U+05D2 U+05F3: "ג׳" HEBREW LETTER GIMEL + HEBREW PUNCTUATION GERESH
|
||||
key("\u05D2", moreKey("\u05D2\u05F3")),
|
||||
// U+05DB: "כ" HEBREW LETTER KAF
|
||||
key("\u05DB"),
|
||||
// U+05E2: "ע" HEBREW LETTER AYIN
|
||||
key("\u05E2"),
|
||||
"\u05DB", "\u05E2",
|
||||
// U+05D9: "י" HEBREW LETTER YOD
|
||||
// U+05F2 U+05B7: "ײַ" HEBREW LIGATURE YIDDISH DOUBLE YOD + HEBREW POINT PATAH
|
||||
key("\u05D9", moreKey("\u05F2\u05B7")),
|
||||
|
@ -146,25 +144,19 @@ public final class Hebrew extends LayoutBase {
|
|||
// U+05D7 U+05F3: "ח׳" HEBREW LETTER HET + HEBREW PUNCTUATION GERESH
|
||||
key("\u05D7", moreKey("\u05D7\u05F3")),
|
||||
// U+05DC: "ל" HEBREW LETTER LAMED
|
||||
key("\u05DC"),
|
||||
// U+05DA: "ך" HEBREW LETTER FINAL KAF
|
||||
key("\u05DA"),
|
||||
// U+05E3: "ף" HEBREW LETTER FINAL PE
|
||||
key("\u05E3"))
|
||||
"\u05DC", "\u05DA", "\u05E3")
|
||||
.setKeysOfRow(3,
|
||||
// U+05D6: "ז" HEBREW LETTER ZAYIN
|
||||
// U+05D6 U+05F3: "ז׳" HEBREW LETTER ZAYIN + HEBREW PUNCTUATION GERESH
|
||||
key("\u05D6", moreKey("\u05D6\u05F3")),
|
||||
// U+05E1: "ס" HEBREW LETTER SAMEKH
|
||||
key("\u05E1"),
|
||||
// U+05D1: "ב" HEBREW LETTER BET
|
||||
key("\u05D1"),
|
||||
// U+05D4: "ה" HEBREW LETTER HE
|
||||
key("\u05D4"),
|
||||
// U+05E0: "נ" HEBREW LETTER NUN
|
||||
key("\u05E0"),
|
||||
// U+05DE: "מ" HEBREW LETTER MEM
|
||||
key("\u05DE"),
|
||||
"\u05E1", "\u05D1", "\u05D4", "\u05E0", "\u05DE",
|
||||
// U+05E6: "צ" HEBREW LETTER TSADI
|
||||
// U+05E6 U+05F3: "צ׳" HEBREW LETTER TSADI + HEBREW PUNCTUATION GERESH
|
||||
key("\u05E6", moreKey("\u05E6\u05F3")),
|
||||
|
|
|
@ -155,7 +155,7 @@ public final class Hindi extends LayoutBase {
|
|||
// U+0947/U+0902: "ें" DEVANAGARI VOWEL SIGN E/DEVANAGARI SIGN ANUSVARA
|
||||
key("\u0947", moreKey("\u0947\u0902")),
|
||||
// U+094D: "्" DEVANAGARI SIGN VIRAMA
|
||||
key("\u094D"),
|
||||
"\u094D",
|
||||
// U+093F: "ि" DEVANAGARI VOWEL SIGN I
|
||||
// U+093F/U+0902: "िं" DEVANAGARI VOWEL SIGN I/DEVANAGARI SIGN ANUSVARA
|
||||
key("\u093F", moreKey("\u093F\u0902")),
|
||||
|
@ -164,7 +164,7 @@ public final class Hindi extends LayoutBase {
|
|||
// U+0941/U+0901: "ुँ" DEVANAGARI VOWEL SIGN U/DEVANAGARI SIGN CANDRABINDU
|
||||
key("\u0941", joinMoreKeys("\u0941\u0902", "\u0941\u0901")),
|
||||
// U+092A: "प" DEVANAGARI LETTER PA
|
||||
key("\u092A"),
|
||||
"\u092A",
|
||||
// U+0930: "र" DEVANAGARI LETTER RA
|
||||
// U+090B: "ऋ" DEVANAGARI LETTER VOCALIC R
|
||||
// U+0930/U+093C: "ऱ" DEVANAGARI LETTER RA/DEVANAGARI SIGN NUKTA
|
||||
|
@ -178,14 +178,12 @@ public final class Hindi extends LayoutBase {
|
|||
// "त्र" DEVANAGARI LETTER TA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER RA
|
||||
key("\u0924", moreKey("\u0924\u094D\u0930")),
|
||||
// U+091A: "च" DEVANAGARI LETTER CA
|
||||
key("\u091A"),
|
||||
// U+091F: "ट" DEVANAGARI LETTER TTA
|
||||
key("\u091F"))
|
||||
"\u091A","\u091F")
|
||||
.setKeysOfRow(3,
|
||||
// U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O
|
||||
key("\u0949"),
|
||||
// U+0902: "ं" DEVANAGARI SIGN ANUSVARA
|
||||
key("\u0902"),
|
||||
"\u0949", "\u0902",
|
||||
// U+092E: "म" DEVANAGARI LETTER MA
|
||||
// U+0950: "ॐ" DEVANAGARI OM
|
||||
key("\u092E", moreKey("\u0950")),
|
||||
|
@ -195,13 +193,13 @@ public final class Hindi extends LayoutBase {
|
|||
// U+0928/U+093C: "ऩ" DEVANAGARI LETTER NA/DEVANAGARI SIGN NUKTA
|
||||
key("\u0928", joinMoreKeys("\u091E", "\u0919", "\u0928\u093C")),
|
||||
// U+0935: "व" DEVANAGARI LETTER VA
|
||||
key("\u0935"),
|
||||
"\u0935",
|
||||
// U+0932: "ल" DEVANAGARI LETTER LA
|
||||
// U+090C: "ऌ" DEVANAGARI LETTER VOCALIC L
|
||||
// U+0961: "ॡ" DEVANAGARI LETTER VOCALIC LL
|
||||
key("\u0932", joinMoreKeys("\u090C", "\u0961")),
|
||||
// U+0938: "स" DEVANAGARI LETTER SA
|
||||
key("\u0938"),
|
||||
"\u0938",
|
||||
// U+092F: "य" DEVANAGARI LETTER YA
|
||||
// U+095F: "य़" DEVANAGARI LETTER YYA
|
||||
key("\u092F", moreKey("\u095F")),
|
||||
|
@ -232,11 +230,9 @@ public final class Hindi extends LayoutBase {
|
|||
// U+090A/U+0901: "ऊँ" DEVANAGARI LETTER UU/DEVANAGARI SIGN CANDRABINDU
|
||||
key("\u090A", joinMoreKeys("\u090A\u0902", "\u090A\u0901")),
|
||||
// U+092D: "भ" DEVANAGARI LETTER BHA
|
||||
key("\u092D"),
|
||||
// U+0903: "ः" DEVANAGARI SIGN VISARGA
|
||||
key("\u0903"),
|
||||
// U+0918: "घ" DEVANAGARI LETTER GHA
|
||||
key("\u0918"),
|
||||
"\u092D", "\u0903", "\u0918",
|
||||
// U+0927: "ध" DEVANAGARI LETTER DHA
|
||||
// U+0915/U+094D/U+0937:
|
||||
// "क्ष" DEVANAGARI LETTER KA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER SSA
|
||||
|
@ -244,9 +240,8 @@ public final class Hindi extends LayoutBase {
|
|||
// "श्र" DEVANAGARI LETTER SHA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER RA
|
||||
key("\u0927", joinMoreKeys("\u0915\u094D\u0937", "\u0936\u094D\u0930")),
|
||||
// U+091D: "झ" DEVANAGARI LETTER JHA
|
||||
key("\u091D"),
|
||||
// U+0922: "ढ" DEVANAGARI LETTER DDHA
|
||||
key("\u0922"))
|
||||
"\u091D", "\u0922")
|
||||
.setKeysOfRow(2,
|
||||
// U+0913: "ओ" DEVANAGARI LETTER O
|
||||
// U+0913/U+0902: "ओं" DEVANAGARI LETTER O/DEVANAGARI SIGN ANUSVARA
|
||||
|
@ -282,33 +277,29 @@ public final class Hindi extends LayoutBase {
|
|||
// U+0916/U+093C: "ख़" DEVANAGARI LETTER KHA/DEVANAGARI SIGN NUKTA
|
||||
key("\u0916", moreKey("\u0916\u093C")),
|
||||
// U+0925: "थ" DEVANAGARI LETTER THA
|
||||
key("\u0925"),
|
||||
// U+091B: "छ" DEVANAGARI LETTER CHA
|
||||
key("\u091B"),
|
||||
// U+0920: "ठ" DEVANAGARI LETTER TTHA
|
||||
key("\u0920"))
|
||||
"\u0925", "\u091B", "\u0920")
|
||||
.setKeysOfRow(3,
|
||||
// U+0911: "ऑ" DEVANAGARI LETTER CANDRA O
|
||||
key("\u0911"),
|
||||
"\u0911",
|
||||
// U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
|
||||
// U+0945: "ॅ" DEVANAGARI VOWEL SIGN CANDRA E
|
||||
key("\u0901", moreKey("\u0945")),
|
||||
// U+0923: "ण" DEVANAGARI LETTER NNA
|
||||
key("\u0923"),
|
||||
// U+0929: "ऩ" DEVANAGARI LETTER NNNA
|
||||
key("\u0929"),
|
||||
"\u0923", "\u0929",
|
||||
// U+0933: "ळ" DEVANAGARI LETTER LLA
|
||||
// U+0934: "ऴ" DEVANAGARI LETTER LLLA
|
||||
key("\u0933", moreKey("\u0934")),
|
||||
// U+0936: "श" DEVANAGARI LETTER SHA
|
||||
key("\u0936"),
|
||||
// U+0937: "ष" DEVANAGARI LETTER SSA
|
||||
key("\u0937"),
|
||||
"\u0936", "\u0937",
|
||||
// U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R
|
||||
// U+0944: "ॄ" DEVANAGARI VOWEL SIGN VOCALIC RR
|
||||
key("\u0943", moreKey("\u0944")),
|
||||
// U+091E: "ञ" DEVANAGARI LETTER NYA
|
||||
key("\u091E"))
|
||||
"\u091E")
|
||||
.build();
|
||||
|
||||
static class HindiSymbols extends Symbols {
|
||||
|
|
|
@ -66,7 +66,7 @@ public final class Khmer extends LayoutBase {
|
|||
return ALPHABET_COMMON;
|
||||
}
|
||||
final ExpectedKeyboardBuilder builder = new ExpectedKeyboardBuilder(ALPHABET_COMMON);
|
||||
builder.addKeysOnTheRightOfRow(4, EXCLAMATION_AND_QUESTION_MARKS);
|
||||
builder.addKeysOnTheRightOfRow(4, (Object[])EXCLAMATION_AND_QUESTION_MARKS);
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
|
@ -84,11 +84,9 @@ public final class Khmer extends LayoutBase {
|
|||
ExpectedKeyboardBuilder convertCommonLayoutToKeyboard(final ExpectedKeyboardBuilder builder,
|
||||
final boolean isPhone) {
|
||||
final LayoutCustomizer customizer = getCustomizer();
|
||||
final ExpectedKey[] spacebar = joinKeys(
|
||||
customizer.getKeysLeftToSpacebar(isPhone),
|
||||
customizer.getSpaceKeys(isPhone),
|
||||
customizer.getKeysRightToSpacebar(isPhone));
|
||||
builder.setKeysOfRow(5, spacebar);
|
||||
builder.setKeysOfRow(5, (Object[])customizer.getSpaceKeys(isPhone));
|
||||
builder.addKeysOnTheLeftOfRow(5, (Object[])customizer.getKeysLeftToSpacebar(isPhone));
|
||||
builder.addKeysOnTheRightOfRow(5, (Object[])customizer.getKeysRightToSpacebar(isPhone));
|
||||
if (isPhone) {
|
||||
builder.addKeysOnTheRightOfRow(4, DELETE_KEY)
|
||||
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey())
|
||||
|
@ -99,8 +97,8 @@ public final class Khmer extends LayoutBase {
|
|||
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
|
||||
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
||||
}
|
||||
builder.addKeysOnTheLeftOfRow(4, customizer.getLeftShiftKeys(isPhone))
|
||||
.addKeysOnTheRightOfRow(4, customizer.getRightShiftKeys(isPhone));
|
||||
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
||||
.addKeysOnTheRightOfRow(4, (Object[])customizer.getRightShiftKeys(isPhone));
|
||||
return builder;
|
||||
}
|
||||
|
||||
|
@ -144,27 +142,18 @@ public final class Khmer extends LayoutBase {
|
|||
key("\u17B2", moreKey("\u17B1")))
|
||||
.setKeysOfRow(2,
|
||||
// U+1786: "ឆ" KHMER LETTER CHA
|
||||
key("\u1786"),
|
||||
// U+17B9: "ឹ" KHMER VOWEL SIGN Y
|
||||
key("\u17B9"),
|
||||
// U+17C1: "េ" KHMER VOWEL SIGN E
|
||||
key("\u17C1"),
|
||||
// U+179A: "រ" KHMER LETTER RO
|
||||
key("\u179A"),
|
||||
// U+178F: "ត" KHMER LETTER TA
|
||||
key("\u178F"),
|
||||
// U+1799: "យ" KHMER LETTER YO
|
||||
key("\u1799"),
|
||||
// U+17BB: "ុ" KHMER VOWEL SIGN U
|
||||
key("\u17BB"),
|
||||
// U+17B7: "ិ" KHMER VOWEL SIGN I
|
||||
key("\u17B7"),
|
||||
// U+17C4: "ោ" KHMER VOWEL SIGN OO
|
||||
key("\u17C4"),
|
||||
// U+1795: "ផ" KHMER LETTER PHA
|
||||
key("\u1795"),
|
||||
// U+17C0: "ៀ" KHMER VOWEL SIGN IE
|
||||
key("\u17C0"),
|
||||
"\u1786", "\u17B9", "\u17C1", "\u179A", "\u178F", "\u1799", "\u17BB", "\u17B7",
|
||||
"\u17C4", "\u1795", "\u17C0",
|
||||
// U+17AA: "ឪ" KHMER INDEPENDENT VOWEL QUUV
|
||||
// U+17A7: "ឧ" KHMER INDEPENDENT VOWEL QU
|
||||
// U+17B1: "ឱ" KHMER INDEPENDENT VOWEL QOO TYPE ONE
|
||||
|
@ -174,32 +163,23 @@ public final class Khmer extends LayoutBase {
|
|||
key("\u17AA", joinMoreKeys("\u17A7", "\u17B1", "\u17B3", "\u17A9", "\u17A8")))
|
||||
.setKeysOfRow(3,
|
||||
// U+17B6: "ា" KHMER VOWEL SIGN AA
|
||||
key("\u17B6"),
|
||||
// U+179F: "ស" KHMER LETTER SA
|
||||
key("\u179F"),
|
||||
// U+178A: "ដ" KHMER LETTER DA
|
||||
key("\u178A"),
|
||||
// U+1790: "ថ" KHMER LETTER THA
|
||||
key("\u1790"),
|
||||
// U+1784: "ង" KHMER LETTER NGO
|
||||
key("\u1784"),
|
||||
// U+17A0: "ហ" KHMER LETTER HA
|
||||
key("\u17A0"),
|
||||
// U+17D2: "្" KHMER SIGN COENG
|
||||
key("\u17D2"),
|
||||
// U+1780: "ក" KHMER LETTER KA
|
||||
key("\u1780"),
|
||||
// U+179B: "ល" KHMER LETTER LO
|
||||
key("\u179B"),
|
||||
// U+17BE: "ើ" KHMER VOWEL SIGN OE
|
||||
key("\u17BE"),
|
||||
// U+17CB: "់" KHMER SIGN BANTOC
|
||||
key("\u17CB"),
|
||||
"\u17B6", "\u179F", "\u178A", "\u1790", "\u1784", "\u17A0", "\u17D2", "\u1780",
|
||||
"\u179B", "\u17BE", "\u17CB",
|
||||
// U+17AE: "ឮ" KHMER INDEPENDENT VOWEL LYY
|
||||
// U+17AD: "ឭ" KHMER INDEPENDENT VOWEL LY
|
||||
// U+17B0: "ឰ" KHMER INDEPENDENT VOWEL QAI
|
||||
key("\u17AE", joinMoreKeys("\u17AD", "\u17B0")))
|
||||
.setLabelsOfRow(4,
|
||||
.setKeysOfRow(4,
|
||||
// U+178B: "ឋ" KHMER LETTER TTHA
|
||||
// U+1781: "ខ" KHMER LETTER KHA
|
||||
// U+1785: "ច" KHMER LETTER CA
|
||||
|
@ -241,7 +221,7 @@ public final class Khmer extends LayoutBase {
|
|||
// U+00D7: "×" MULTIPLICATION SIGN
|
||||
key("\u17CC", moreKey("\u00D7")),
|
||||
// U+17CE: "៎" KHMER SIGN KAKABAT
|
||||
key("\u17CE"))
|
||||
"\u17CE")
|
||||
.setKeysOfRow(2,
|
||||
// U+1788: "ឈ" KHMER LETTER CHO
|
||||
// U+17DC: "ៜ" KHMER SIGN AVAKRAHASANYA
|
||||
|
@ -250,73 +230,52 @@ public final class Khmer extends LayoutBase {
|
|||
// U+17DD: "៝" KHMER SIGN ATTHACAN
|
||||
key("\u17BA", moreKey("\u17DD")),
|
||||
// U+17C2: "ែ" KHMER VOWEL SIGN AE
|
||||
key("\u17C2"),
|
||||
"\u17C2",
|
||||
// U+17AC: "ឬ" KHMER INDEPENDENT VOWEL RYY
|
||||
// U+17AB: "ឫ" KHMER INDEPENDENT VOWEL RY
|
||||
key("\u17AC", moreKey("\u17AB")),
|
||||
// U+1791: "ទ" KHMER LETTER TO
|
||||
key("\u1791"),
|
||||
// U+17BD: "ួ" KHMER VOWEL SIGN UA
|
||||
key("\u17BD"),
|
||||
// U+17BC: "ូ" KHMER VOWEL SIGN UU
|
||||
key("\u17BC"),
|
||||
// U+17B8: "ី" KHMER VOWEL SIGN II
|
||||
key("\u17B8"),
|
||||
// U+17C5: "ៅ" KHMER VOWEL SIGN AU
|
||||
key("\u17C5"),
|
||||
// U+1797: "ភ" KHMER LETTER PHO
|
||||
key("\u1797"),
|
||||
// U+17BF: "ឿ" KHMER VOWEL SIGN YA
|
||||
key("\u17BF"),
|
||||
// U+17B0: "ឰ" KHMER INDEPENDENT VOWEL QAI
|
||||
key("\u17B0"))
|
||||
"\u1791", "\u17BD", "\u17BC", "\u17B8", "\u17C5", "\u1797", "\u17BF", "\u17B0")
|
||||
.setKeysOfRow(3,
|
||||
// U+17B6/U+17C6: "ាំ" KHMER VOWEL SIGN AA/KHMER SIGN NIKAHIT
|
||||
key("\u17B6\u17C6"),
|
||||
// U+17C3: "ៃ" KHMER VOWEL SIGN AI
|
||||
key("\u17C3"),
|
||||
// U+178C: "ឌ" KHMER LETTER DO
|
||||
key("\u178C"),
|
||||
// U+1792: "ធ" KHMER LETTER THO
|
||||
key("\u1792"),
|
||||
// U+17A2: "អ" KHMER LETTER QAE
|
||||
key("\u17A2"),
|
||||
"\u17B6\u17C6", "\u17C3", "\u178C", "\u1792", "\u17A2",
|
||||
// U+17C7: "ះ" KHMER SIGN REAHMUK
|
||||
// U+17C8: "ៈ" KHMER SIGN YUUKALEAPINTU
|
||||
key("\u17C7", moreKey("\u17C8")),
|
||||
// U+1789: "ញ" KHMER LETTER NYO
|
||||
key("\u1789"),
|
||||
"\u1789",
|
||||
// U+1782: "គ" KHMER LETTER KO
|
||||
// U+179D: "ឝ" KHMER LETTER SHA
|
||||
key("\u1782", moreKey("\u179D")),
|
||||
// U+17A1: "ឡ" KHMER LETTER LA
|
||||
key("\u17A1"),
|
||||
// U+17C4/U+17C7: "ោះ" KHMER VOWEL SIGN OO/KHMER SIGN REAHMUK
|
||||
key("\u17C4\u17C7"),
|
||||
// U+17C9: "៉" KHMER SIGN MUUSIKATOAN
|
||||
key("\u17C9"),
|
||||
// U+17AF: "ឯ" KHMER INDEPENDENT VOWEL QE
|
||||
key("\u17AF"))
|
||||
"\u17A1", "\u17C4\u17C7", "\u17C9", "\u17AF")
|
||||
.setKeysOfRow(4,
|
||||
// U+178D: "ឍ" KHMER LETTER TTHO
|
||||
key("\u178D"),
|
||||
// U+1783: "ឃ" KHMER LETTER KHO
|
||||
key("\u1783"),
|
||||
// U+1787: "ជ" KHMER LETTER CO
|
||||
key("\u1787"),
|
||||
// U+17C1/U+17C7: "េះ" KHMER VOWEL SIGN E/KHMER SIGN REAHMUK
|
||||
key("\u17C1\u17C7"),
|
||||
"\u178D", "\u1783", "\u1787", "\u17C1\u17C7",
|
||||
// U+1796: "ព" KHMER LETTER PO
|
||||
// U+179E: "ឞ" KHMER LETTER SSO
|
||||
key("\u1796", moreKey("\u179E")),
|
||||
// U+178E: "ណ" KHMER LETTER NNO
|
||||
key("\u178E"),
|
||||
// U+17C6: "ំ" KHMER SIGN NIKAHIT
|
||||
key("\u17C6"),
|
||||
// U+17BB/U+17C7: "ុះ" KHMER VOWEL SIGN U/KHMER SIGN REAHMUK
|
||||
key("\u17BB\u17C7"),
|
||||
// U+17D5: "៕" KHMER SIGN BARIYOOSAN
|
||||
key("\u17D5"),
|
||||
key("?"))
|
||||
"\u178E", "\u17C6", "\u17BB\u17C7", "\u17D5", "?")
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ public final class Lao extends LayoutBase {
|
|||
return ALPHABET_COMMON;
|
||||
}
|
||||
final ExpectedKeyboardBuilder builder = new ExpectedKeyboardBuilder(ALPHABET_COMMON);
|
||||
builder.addKeysOnTheRightOfRow(4, EXCLAMATION_AND_QUESTION_MARKS);
|
||||
builder.addKeysOnTheRightOfRow(4, (Object[])EXCLAMATION_AND_QUESTION_MARKS);
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
|
@ -88,11 +88,9 @@ public final class Lao extends LayoutBase {
|
|||
ExpectedKeyboardBuilder convertCommonLayoutToKeyboard(final ExpectedKeyboardBuilder builder,
|
||||
final boolean isPhone) {
|
||||
final LayoutCustomizer customizer = getCustomizer();
|
||||
final ExpectedKey[] spacebar = joinKeys(
|
||||
customizer.getKeysLeftToSpacebar(isPhone),
|
||||
customizer.getSpaceKeys(isPhone),
|
||||
customizer.getKeysRightToSpacebar(isPhone));
|
||||
builder.setKeysOfRow(5, spacebar);
|
||||
builder.setKeysOfRow(5, (Object[])customizer.getSpaceKeys(isPhone));
|
||||
builder.addKeysOnTheLeftOfRow(5, (Object[])customizer.getKeysLeftToSpacebar(isPhone));
|
||||
builder.addKeysOnTheRightOfRow(5, (Object[])customizer.getKeysRightToSpacebar(isPhone));
|
||||
if (isPhone) {
|
||||
builder.addKeysOnTheRightOfRow(4, DELETE_KEY)
|
||||
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey())
|
||||
|
@ -103,8 +101,8 @@ public final class Lao extends LayoutBase {
|
|||
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
|
||||
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
||||
}
|
||||
builder.addKeysOnTheLeftOfRow(4, customizer.getLeftShiftKeys(isPhone))
|
||||
.addKeysOnTheRightOfRow(4, customizer.getRightShiftKeys(isPhone));
|
||||
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
||||
.addKeysOnTheRightOfRow(4, (Object[])customizer.getRightShiftKeys(isPhone));
|
||||
return builder;
|
||||
}
|
||||
|
||||
|
@ -123,9 +121,8 @@ public final class Lao extends LayoutBase {
|
|||
// U+0ED4: "໔" LAO DIGIT FOUR
|
||||
key("\u0E96", joinMoreKeys("4", "\u0ED4")),
|
||||
// U+0EB8: "ຸ" LAO VOWEL SIGN U
|
||||
key("\u0EB8"),
|
||||
// U+0EB9: "ູ" LAO VOWEL SIGN UU
|
||||
key("\u0EB9"),
|
||||
"\u0EB8", "\u0EB9",
|
||||
// U+0E84: "ຄ" LAO LETTER KHO TAM
|
||||
// U+0ED5: "໕" LAO DIGIT FIVE
|
||||
key("\u0E84", joinMoreKeys("5", "\u0ED5")),
|
||||
|
@ -142,34 +139,26 @@ public final class Lao extends LayoutBase {
|
|||
// U+0ED9: "໙" LAO DIGIT NINE
|
||||
key("\u0E8A", joinMoreKeys("9", "\u0ED9")),
|
||||
// U+0ECD: "ໍ" LAO NIGGAHITA
|
||||
key("\u0ECD"))
|
||||
"\u0ECD")
|
||||
.setKeysOfRow(2,
|
||||
// U+0EBB: "ົ" LAO VOWEL SIGN MAI KON
|
||||
key("\u0EBB"),
|
||||
"\u0EBB",
|
||||
// U+0EC4: "ໄ" LAO VOWEL SIGN AI
|
||||
// U+0ED0: "໐" LAO DIGIT ZERO
|
||||
key("\u0EC4", joinMoreKeys("0", "\u0ED0")),
|
||||
// U+0EB3: "ຳ" LAO VOWEL SIGN AM
|
||||
key("\u0EB3"),
|
||||
// U+0E9E: "ພ" LAO LETTER PHO TAM
|
||||
key("\u0E9E"),
|
||||
// U+0EB0: "ະ" LAO VOWEL SIGN A
|
||||
key("\u0EB0"),
|
||||
// U+0EB4: "ິ" LAO VOWEL SIGN I
|
||||
key("\u0EB4"),
|
||||
// U+0EB5: "ີ" LAO VOWEL SIGN II
|
||||
key("\u0EB5"),
|
||||
// U+0EAE: "ຮ" LAO LETTER HO TAM
|
||||
key("\u0EAE"),
|
||||
// U+0E99: "ນ" LAO LETTER NO
|
||||
key("\u0E99"),
|
||||
// U+0E8D: "ຍ" LAO LETTER NYO
|
||||
key("\u0E8D"),
|
||||
// U+0E9A: "ບ" LAO LETTER BO
|
||||
key("\u0E9A"),
|
||||
// U+0EA5: "ລ" LAO LETTER LO LOOT
|
||||
key("\u0EA5"))
|
||||
.setLabelsOfRow(3,
|
||||
"\u0EB3", "\u0E9E", "\u0EB0", "\u0EB4", "\u0EB5", "\u0EAE", "\u0E99", "\u0E8D",
|
||||
"\u0E9A", "\u0EA5")
|
||||
.setKeysOfRow(3,
|
||||
// U+0EB1: "ັ" LAO VOWEL SIGN MAI KAN
|
||||
// U+0EAB: "ຫ" LAO LETTER HO SUNG
|
||||
// U+0E81: "ກ" LAO LETTER KO
|
||||
|
@ -184,7 +173,7 @@ public final class Lao extends LayoutBase {
|
|||
// U+201C: "“" LEFT DOUBLE QUOTATION MARK
|
||||
"\u0EB1", "\u0EAB", "\u0E81", "\u0E94", "\u0EC0", "\u0EC9", "\u0EC8", "\u0EB2",
|
||||
"\u0EAA", "\u0EA7", "\u0E87", "\u201C")
|
||||
.setLabelsOfRow(4,
|
||||
.setKeysOfRow(4,
|
||||
// U+0E9C: "ຜ" LAO LETTER PHO SUNG
|
||||
// U+0E9B: "ປ" LAO LETTER PO
|
||||
// U+0EC1: "ແ" LAO VOWEL SIGN EI
|
||||
|
@ -200,7 +189,7 @@ public final class Lao extends LayoutBase {
|
|||
.build();
|
||||
|
||||
private static final ExpectedKey[][] ALPHABET_SHIFTED_COMMON = new ExpectedKeyboardBuilder()
|
||||
.setLabelsOfRow(1,
|
||||
.setKeysOfRow(1,
|
||||
// U+0ED1: "໑" LAO DIGIT ONE
|
||||
// U+0ED2: "໒" LAO DIGIT TWO
|
||||
// U+0ED3: "໓" LAO DIGIT THREE
|
||||
|
@ -215,7 +204,7 @@ public final class Lao extends LayoutBase {
|
|||
// U+0ECD/U+0EC8: "ໍ່" LAO NIGGAHITA/LAO TONE MAI EK
|
||||
"\u0ED1", "\u0ED2", "\u0ED3", "\u0ED4", "\u0ECC", "\u0EBC", "\u0ED5", "\u0ED6",
|
||||
"\u0ED7", "\u0ED8", "\u0ED9", "\u0ECD\u0EC8")
|
||||
.setLabelsOfRow(2,
|
||||
.setKeysOfRow(2,
|
||||
// U+0EBB/U+0EC9: "" LAO VOWEL SIGN MAI KON/LAO TONE MAI THO
|
||||
// U+0ED0: "໐" LAO DIGIT ZERO
|
||||
// U+0EB3/U+0EC9: "ຳ້" LAO VOWEL SIGN AM/LAO TONE MAI THO
|
||||
|
@ -228,14 +217,14 @@ public final class Lao extends LayoutBase {
|
|||
// U+201D: "”" RIGHT DOUBLE QUOTATION MARK
|
||||
"\u0EBB\u0EC9", "\u0ED0", "\u0EB3\u0EC9", "_", "+", "\u0EB4\u0EC9",
|
||||
"\u0EB5\u0EC9", "\u0EA3", "\u0EDC", "\u0EBD", "\u0EAB\u0EBC", "\u201D")
|
||||
.setLabelsOfRow(3,
|
||||
.setKeysOfRow(3,
|
||||
// U+0EB1/U+0EC9: "ັ້" LAO VOWEL SIGN MAI KAN/LAO TONE MAI THO
|
||||
// U+0ECA: "໊" LAO TONE MAI TI
|
||||
// U+0ECB: "໋" LAO TONE MAI CATAWA
|
||||
// U+201C: "“" LEFT DOUBLE QUOTATION MARK
|
||||
"\u0EB1\u0EC9", ";", ".", ",", ":", "\u0ECA", "\u0ECB", "!", "?", "%", "=",
|
||||
"\u201C")
|
||||
.setLabelsOfRow(4,
|
||||
.setKeysOfRow(4,
|
||||
// U+20AD: "₭" KIP SIGN
|
||||
// U+0EAF: "ຯ" LAO ELLIPSIS
|
||||
// U+0EB6/U+0EC9: "ຶ້" LAO VOWEL SIGN Y/LAO TONE MAI THO
|
||||
|
|
|
@ -161,7 +161,7 @@ public abstract class LayoutBase extends AbstractLayoutBase {
|
|||
* @return the array of {@link ExpectedKey} that should be placed at left of the spacebar.
|
||||
*/
|
||||
public ExpectedKey[] getKeysLeftToSpacebar(final boolean isPhone) {
|
||||
return isPhone ? joinKeys(key(",", SETTINGS_KEY)) : joinKeys(key("/"));
|
||||
return isPhone ? joinKeys(key(",", SETTINGS_KEY)) : joinKeys("/");
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -171,7 +171,7 @@ public abstract class LayoutBase extends AbstractLayoutBase {
|
|||
*/
|
||||
public ExpectedKey[] getKeysRightToSpacebar(final boolean isPhone) {
|
||||
final ExpectedKey periodKey = key(".", getPunctuationMoreKeys(isPhone));
|
||||
return isPhone ? joinKeys(periodKey) : joinKeys(key(","), periodKey);
|
||||
return isPhone ? joinKeys(periodKey) : joinKeys(",", periodKey);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -288,11 +288,9 @@ public abstract class LayoutBase extends AbstractLayoutBase {
|
|||
ExpectedKeyboardBuilder convertCommonLayoutToKeyboard(final ExpectedKeyboardBuilder builder,
|
||||
final boolean isPhone) {
|
||||
final LayoutCustomizer customizer = getCustomizer();
|
||||
final ExpectedKey[] spacebar = joinKeys(
|
||||
customizer.getKeysLeftToSpacebar(isPhone),
|
||||
customizer.getSpaceKeys(isPhone),
|
||||
customizer.getKeysRightToSpacebar(isPhone));
|
||||
builder.setKeysOfRow(4, spacebar);
|
||||
builder.setKeysOfRow(4, (Object[])customizer.getSpaceKeys(isPhone));
|
||||
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getKeysLeftToSpacebar(isPhone));
|
||||
builder.addKeysOnTheRightOfRow(4, (Object[])customizer.getKeysRightToSpacebar(isPhone));
|
||||
if (isPhone) {
|
||||
builder.addKeysOnTheRightOfRow(3, DELETE_KEY)
|
||||
.addKeysOnTheLeftOfRow(4, customizer.getSymbolsKey())
|
||||
|
@ -302,10 +300,9 @@ public abstract class LayoutBase extends AbstractLayoutBase {
|
|||
.addKeysOnTheRightOfRow(2, ENTER_KEY)
|
||||
.addKeysOnTheLeftOfRow(4, customizer.getSymbolsKey(), SETTINGS_KEY)
|
||||
.addKeysOnTheRightOfRow(4, EMOJI_KEY);
|
||||
|
||||
}
|
||||
builder.addKeysOnTheLeftOfRow(3, customizer.getLeftShiftKeys(isPhone))
|
||||
.addKeysOnTheRightOfRow(3, customizer.getRightShiftKeys(isPhone));
|
||||
builder.addKeysOnTheLeftOfRow(3, (Object[])customizer.getLeftShiftKeys(isPhone))
|
||||
.addKeysOnTheRightOfRow(3, (Object[])customizer.getRightShiftKeys(isPhone));
|
||||
return builder;
|
||||
}
|
||||
|
||||
|
|
|
@ -77,37 +77,33 @@ public final class Mongolian extends LayoutBase {
|
|||
// U+0437: "з" CYRILLIC SMALL LETTER ZE
|
||||
key("\u0437", moreKey("0")),
|
||||
// U+043A: "к" CYRILLIC SMALL LETTER KA
|
||||
key("\u043A"))
|
||||
// U+0439: "й" CYRILLIC SMALL LETTER SHORT I
|
||||
// U+044B: "ы" CYRILLIC SMALL LETTER YERU
|
||||
// U+0431: "б" CYRILLIC SMALL LETTER BE
|
||||
// U+04E9: "ө" CYRILLIC SMALL LETTER BARRED O
|
||||
// U+0430: "а" CYRILLIC SMALL LETTER A
|
||||
// U+0445: "х" CYRILLIC SMALL LETTER HA
|
||||
// U+0440: "р" CYRILLIC SMALL LETTER ER
|
||||
// U+043E: "о" CYRILLIC SMALL LETTER O
|
||||
// U+043B: "л" CYRILLIC SMALL LETTER EL
|
||||
// U+0434: "д" CYRILLIC SMALL LETTER DE
|
||||
// U+043F: "п" CYRILLIC SMALL LETTER PE
|
||||
.setLabelsOfRow(2,
|
||||
"\u043A")
|
||||
.setKeysOfRow(2,
|
||||
// U+0439: "й" CYRILLIC SMALL LETTER SHORT I
|
||||
// U+044B: "ы" CYRILLIC SMALL LETTER YERU
|
||||
// U+0431: "б" CYRILLIC SMALL LETTER BE
|
||||
// U+04E9: "ө" CYRILLIC SMALL LETTER BARRED O
|
||||
// U+0430: "а" CYRILLIC SMALL LETTER A
|
||||
// U+0445: "х" CYRILLIC SMALL LETTER HA
|
||||
// U+0440: "р" CYRILLIC SMALL LETTER ER
|
||||
// U+043E: "о" CYRILLIC SMALL LETTER O
|
||||
// U+043B: "л" CYRILLIC SMALL LETTER EL
|
||||
// U+0434: "д" CYRILLIC SMALL LETTER DE
|
||||
// U+043F: "п" CYRILLIC SMALL LETTER PE
|
||||
"\u0439", "\u044B", "\u0431", "\u04E9", "\u0430", "\u0445", "\u0440", "\u043E",
|
||||
"\u043B", "\u0434", "\u043F")
|
||||
.setKeysOfRow(3,
|
||||
// U+044F: "я" CYRILLIC SMALL LETTER YA
|
||||
key("\u044F"),
|
||||
// U+0447: "ч" CYRILLIC SMALL LETTER CHE
|
||||
key("\u0447"),
|
||||
"\u044F", "\u0447",
|
||||
// U+0451: "ё" CYRILLIC SMALL LETTER IO
|
||||
// U+0435: "е" CYRILLIC SMALL LETTER IE
|
||||
key("\u0451", moreKey("\u0435")),
|
||||
// U+0441: "с" CYRILLIC SMALL LETTER ES
|
||||
key("\u0441"),
|
||||
// U+043C: "м" CYRILLIC SMALL LETTER EM
|
||||
key("\u043C"),
|
||||
// U+0438: "и" CYRILLIC SMALL LETTER I
|
||||
key("\u0438"),
|
||||
// U+0442: "т" CYRILLIC SMALL LETTER TE
|
||||
key("\u0442"),
|
||||
"\u0441", "\u043C", "\u0438", "\u0442",
|
||||
// U+044C: "ь" CYRILLIC SMALL LETTER SOFT SIGN
|
||||
// U+044A: "ъ" CYRILLIC SMALL LETTER HARD SIGN
|
||||
key("\u044C", moreKey("\u044A")),
|
||||
|
|
|
@ -99,77 +99,76 @@ public final class NepaliRomanized extends LayoutBase {
|
|||
// U+0966: "०" DEVANAGARI DIGIT ZERO
|
||||
key("\u092A", joinMoreKeys("\u0966", "0")),
|
||||
// U+0907: "इ" DEVANAGARI LETTER I
|
||||
key("\u0907"))
|
||||
// U+093E: "ा" DEVANAGARI VOWEL SIGN AA
|
||||
// U+0938: "स" DEVANAGARI LETTER SA
|
||||
// U+0926: "द" DEVANAGARI LETTER DA
|
||||
// U+0909: "उ" DEVANAGARI LETTER U
|
||||
// U+0917: "ग" DEVANAGARI LETTER GA
|
||||
// U+0939: "ह" DEVANAGARI LETTER HA
|
||||
// U+091C: "ज" DEVANAGARI LETTER JA
|
||||
// U+0915: "क" DEVANAGARI LETTER KA
|
||||
// U+0932: "ल" DEVANAGARI LETTER LA
|
||||
// U+090F: "ए" DEVANAGARI LETTER E
|
||||
// U+0950: "ॐ" DEVANAGARI OM
|
||||
.setLabelsOfRow(2,
|
||||
"\u0907")
|
||||
.setKeysOfRow(2,
|
||||
// U+093E: "ा" DEVANAGARI VOWEL SIGN AA
|
||||
// U+0938: "स" DEVANAGARI LETTER SA
|
||||
// U+0926: "द" DEVANAGARI LETTER DA
|
||||
// U+0909: "उ" DEVANAGARI LETTER U
|
||||
// U+0917: "ग" DEVANAGARI LETTER GA
|
||||
// U+0939: "ह" DEVANAGARI LETTER HA
|
||||
// U+091C: "ज" DEVANAGARI LETTER JA
|
||||
// U+0915: "क" DEVANAGARI LETTER KA
|
||||
// U+0932: "ल" DEVANAGARI LETTER LA
|
||||
// U+090F: "ए" DEVANAGARI LETTER E
|
||||
// U+0950: "ॐ" DEVANAGARI OM
|
||||
"\u093E", "\u0938", "\u0926", "\u0909", "\u0917", "\u0939", "\u091C", "\u0915",
|
||||
"\u0932", "\u090F", "\u0950")
|
||||
// U+0937: "ष" DEVANAGARI LETTER SSA
|
||||
// U+0921: "ड" DEVANAGARI LETTER DDA
|
||||
// U+091A: "च" DEVANAGARI LETTER CA
|
||||
// U+0935: "व" DEVANAGARI LETTER VA
|
||||
// U+092C: "ब" DEVANAGARI LETTER BHA
|
||||
// U+0928: "न" DEVANAGARI LETTER NA
|
||||
// U+092E: "म" DEVANAGARI LETTER MA
|
||||
// U+0964: "।" DEVANAGARI DANDA
|
||||
// U+094D: "्" DEVANAGARI SIGN VIRAMA
|
||||
.setLabelsOfRow(3,
|
||||
"\u0937", "\u0921", "\u091A", "\u0935", "\u092C", "\u0928", "\u092E", "\u0964",
|
||||
.setKeysOfRow(3,
|
||||
// U+0937: "ष" DEVANAGARI LETTER SSA
|
||||
// U+0921: "ड" DEVANAGARI LETTER DDA
|
||||
// U+091A: "च" DEVANAGARI LETTER CA
|
||||
// U+0935: "व" DEVANAGARI LETTER VA
|
||||
// U+092C: "ब" DEVANAGARI LETTER BHA
|
||||
// U+0928: "न" DEVANAGARI LETTER NA
|
||||
// U+092E: "म" DEVANAGARI LETTER MA
|
||||
"\u0937", "\u0921", "\u091A", "\u0935", "\u092C", "\u0928", "\u092E",
|
||||
// U+0964: "।" DEVANAGARI DANDA
|
||||
// U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA
|
||||
key("\u0964", moreKey("\u093D")),
|
||||
// U+094D: "्" DEVANAGARI SIGN VIRAMA
|
||||
"\u094D")
|
||||
// U+0964: "।" DEVANAGARI DANDA
|
||||
// U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA
|
||||
.setMoreKeysOf("\u0964", "\u093D")
|
||||
.build();
|
||||
|
||||
private static final ExpectedKey[][] ALPHABET_SHIFTED_COMMON = new ExpectedKeyboardBuilder()
|
||||
// U+0920: "ठ" DEVANAGARI LETTER TTHA
|
||||
// U+0914: "औ" DEVANAGARI LETTER AU
|
||||
// U+0948: "ै" DEVANAGARI VOWEL SIGN AI
|
||||
// U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R
|
||||
// U+0925: "थ" DEVANAGARI LETTER THA
|
||||
// U+091E: "ञ" DEVANAGARI LETTER NYA
|
||||
// U+0942: "ू" DEVANAGARI VOWEL SIGN UU
|
||||
// U+0940: "ी" DEVANAGARI VOWEL SIGN II
|
||||
// U+0913: "ओ" DEVANAGARI LETTER O
|
||||
// U+092B: "फ" DEVANAGARI LETTER PHA
|
||||
// U+0908: "ई" DEVANAGARI LETTER II
|
||||
.setLabelsOfRow(1,
|
||||
.setKeysOfRow(1,
|
||||
// U+0920: "ठ" DEVANAGARI LETTER TTHA
|
||||
// U+0914: "औ" DEVANAGARI LETTER AU
|
||||
// U+0948: "ै" DEVANAGARI VOWEL SIGN AI
|
||||
// U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R
|
||||
// U+0925: "थ" DEVANAGARI LETTER THA
|
||||
// U+091E: "ञ" DEVANAGARI LETTER NYA
|
||||
// U+0942: "ू" DEVANAGARI VOWEL SIGN UU
|
||||
// U+0940: "ी" DEVANAGARI VOWEL SIGN II
|
||||
// U+0913: "ओ" DEVANAGARI LETTER O
|
||||
// U+092B: "फ" DEVANAGARI LETTER PHA
|
||||
// U+0908: "ई" DEVANAGARI LETTER II
|
||||
"\u0920", "\u0914", "\u0948", "\u0943", "\u0925", "\u091E", "\u0942", "\u0940",
|
||||
"\u0913", "\u092B", "\u0908")
|
||||
// U+0906: "आ" DEVANAGARI LETTER AA
|
||||
// U+0936: "श" DEVANAGARI LETTER SHA
|
||||
// U+0927: "ध" DEVANAGARI LETTER DHA
|
||||
// U+090A: "ऊ" DEVANAGARI LETTER UU
|
||||
// U+0918: "घ" DEVANAGARI LETTER GHA
|
||||
// U+0905: "अ" DEVANAGARI LETTER A
|
||||
// U+091D: "झ" DEVANAGARI LETTER JHA
|
||||
// U+0916: "ख" DEVANAGARI LETTER KHA
|
||||
// U+0965: "॥" DEVANAGARI DOUBLE DANDA
|
||||
// U+0910: "ऐ" DEVANAGARI LETTER AI
|
||||
// U+0903: "ः" DEVANAGARI SIGN VISARGA
|
||||
.setLabelsOfRow(2,
|
||||
.setKeysOfRow(2,
|
||||
// U+0906: "आ" DEVANAGARI LETTER AA
|
||||
// U+0936: "श" DEVANAGARI LETTER SHA
|
||||
// U+0927: "ध" DEVANAGARI LETTER DHA
|
||||
// U+090A: "ऊ" DEVANAGARI LETTER UU
|
||||
// U+0918: "घ" DEVANAGARI LETTER GHA
|
||||
// U+0905: "अ" DEVANAGARI LETTER A
|
||||
// U+091D: "झ" DEVANAGARI LETTER JHA
|
||||
// U+0916: "ख" DEVANAGARI LETTER KHA
|
||||
// U+0965: "॥" DEVANAGARI DOUBLE DANDA
|
||||
// U+0910: "ऐ" DEVANAGARI LETTER AI
|
||||
// U+0903: "ः" DEVANAGARI SIGN VISARGA
|
||||
"\u0906", "\u0936", "\u0927", "\u090A", "\u0918", "\u0905", "\u091D", "\u0916",
|
||||
"\u0965", "\u0910", "\u0903")
|
||||
// U+090B: "ऋ" DEVANAGARI LETTER VOCALIC R
|
||||
// U+0922: "ढ" DEVANAGARI LETTER DDHA
|
||||
// U+091B: "छ" DEVANAGARI LETTER CHA
|
||||
// U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
|
||||
// U+092D: "भ" DEVANAGARI LETTER BHA
|
||||
// U+0923: "ण" DEVANAGARI LETTER NNA
|
||||
// U+0902: "ं" DEVANAGARI SIGN ANUSVARA
|
||||
// U+0919: "ङ" DEVANAGARI LETTER NGA
|
||||
// U+094D: "्" DEVANAGARI SIGN VIRAMA
|
||||
.setLabelsOfRow(3,
|
||||
.setKeysOfRow(3,
|
||||
// U+090B: "ऋ" DEVANAGARI LETTER VOCALIC R
|
||||
// U+0922: "ढ" DEVANAGARI LETTER DDHA
|
||||
// U+091B: "छ" DEVANAGARI LETTER CHA
|
||||
// U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
|
||||
// U+092D: "भ" DEVANAGARI LETTER BHA
|
||||
// U+0923: "ण" DEVANAGARI LETTER NNA
|
||||
// U+0902: "ं" DEVANAGARI SIGN ANUSVARA
|
||||
// U+0919: "ङ" DEVANAGARI LETTER NGA
|
||||
// U+094D: "्" DEVANAGARI SIGN VIRAMA
|
||||
"\u090B", "\u0922", "\u091B", "\u0901", "\u092D", "\u0923", "\u0902", "\u0919",
|
||||
"\u094D")
|
||||
.build();
|
||||
|
|
|
@ -63,7 +63,7 @@ public final class NepaliTraditional extends LayoutBase {
|
|||
// U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA
|
||||
key("\u0947", joinMoreKeys("\u0903", "\u093D")),
|
||||
// U+0964: "।" DEVANAGARI DANDA
|
||||
key("\u0964"),
|
||||
"\u0964",
|
||||
// U+0930: "र" DEVANAGARI LETTER RA
|
||||
// U+0930/U+0941: "रु" DEVANAGARI LETTER RA/DEVANAGARI VOWEL SIGN U
|
||||
key("\u0930", moreKey("\u0930\u0941")));
|
||||
|
@ -73,9 +73,8 @@ public final class NepaliTraditional extends LayoutBase {
|
|||
// U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA
|
||||
key("\u0903", moreKey("\u093D")),
|
||||
// U+0947: "े" DEVANAGARI VOWEL SIGN E
|
||||
key("\u0947"),
|
||||
// U+0964: "।" DEVANAGARI DANDA
|
||||
key("\u0964"),
|
||||
"\u0947", "\u0964",
|
||||
// U+0930: "र" DEVANAGARI LETTER RA
|
||||
key("\u0930", moreKey("!")),
|
||||
// U+094D: "्" DEVANAGARI SIGN VIRAMA
|
||||
|
@ -94,9 +93,8 @@ public final class NepaliTraditional extends LayoutBase {
|
|||
if (isPhone) {
|
||||
builder.addKeysOnTheRightOfRow(3,
|
||||
// U+0902: "ं" DEVANAGARI SIGN ANUSVARA
|
||||
key("\u0902"),
|
||||
// U+0919: "ङ" DEVANAGARI LETTER NGA
|
||||
key("\u0919"),
|
||||
"\u0902", "\u0919",
|
||||
// U+0948: "ै" DEVANAGARI VOWEL SIGN AI
|
||||
// U+0936/U+094D/U+0930:
|
||||
// "श्र" DEVANAGARI LETTER SHA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER RA
|
||||
|
@ -104,16 +102,15 @@ public final class NepaliTraditional extends LayoutBase {
|
|||
} else {
|
||||
builder.addKeysOnTheRightOfRow(3,
|
||||
// U+0902: "ं" DEVANAGARI SIGN ANUSVARA
|
||||
key("\u0902"),
|
||||
// U+0919: "ङ" DEVANAGARI LETTER NGA
|
||||
key("\u0919"),
|
||||
"\u0902", "\u0919",
|
||||
// U+0948: "ै" DEVANAGARI VOWEL SIGN AI
|
||||
// U+0936/U+094D/U+0930:
|
||||
// "श्र" DEVANAGARI LETTER SHA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER RA
|
||||
key("\u0948", moreKey("\u0936\u094D\u0930")),
|
||||
// U+0930/U+0941: "रु" DEVANAGARI LETTER RA/DEVANAGARI VOWEL SIGN U
|
||||
key("\u0930\u0941", moreKey("!")),
|
||||
key("?"));
|
||||
"?");
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
|
@ -153,27 +150,28 @@ public final class NepaliTraditional extends LayoutBase {
|
|||
// U+0907: "इ" DEVANAGARI LETTER I
|
||||
// U+0914: "औ" DEVANAGARI LETTER AU
|
||||
key("\u0907", moreKey("\u0914")))
|
||||
// U+092C: "ब" DEVANAGARI LETTER BA
|
||||
// U+0915: "क" DEVANAGARI LETTER KA
|
||||
// U+092E: "म" DEVANAGARI LETTER MA
|
||||
// U+093E: "ा" DEVANAGARI VOWEL SIGN AA
|
||||
// U+0928: "न" DEVANAGARI LETTER NA
|
||||
// U+091C: "ज" DEVANAGARI LETTER JA
|
||||
// U+0935: "व" DEVANAGARI LETTER VA
|
||||
// U+092A: "प" DEVANAGARI LETTER PA
|
||||
// U+093F: "ि" DEVANAGARI VOWEL SIGN I
|
||||
// U+0938: "स" DEVANAGARI LETTER SA
|
||||
// U+0941: "ु" DEVANAGARI VOWEL SIGN U
|
||||
.setLabelsOfRow(2,
|
||||
.setKeysOfRow(2,
|
||||
// U+092C: "ब" DEVANAGARI LETTER BA
|
||||
// U+0915: "क" DEVANAGARI LETTER KA
|
||||
// U+092E: "म" DEVANAGARI LETTER MA
|
||||
// U+093E: "ा" DEVANAGARI VOWEL SIGN AA
|
||||
// U+0928: "न" DEVANAGARI LETTER NA
|
||||
// U+091C: "ज" DEVANAGARI LETTER JA
|
||||
// U+0935: "व" DEVANAGARI LETTER VA
|
||||
// U+092A: "प" DEVANAGARI LETTER PA
|
||||
// U+093F: "ि" DEVANAGARI VOWEL SIGN I
|
||||
// U+0938: "स" DEVANAGARI LETTER SA
|
||||
// U+0941: "ु" DEVANAGARI VOWEL SIGN U
|
||||
"\u092C", "\u0915", "\u092E", "\u093E", "\u0928", "\u091C", "\u0935", "\u092A",
|
||||
"\u093F", "\u0938", "\u0941")
|
||||
// U+0936: "श" DEVANAGARI LETTER SHA
|
||||
// U+0939: "ह" DEVANAGARI LETTER HA
|
||||
// U+0905: "अ" DEVANAGARI LETTER A
|
||||
// U+0916: "ख" DEVANAGARI LETTER KHA
|
||||
// U+0926: "द" DEVANAGARI LETTER DA
|
||||
// U+0932: "ल" DEVANAGARI LETTER LA
|
||||
.setLabelsOfRow(3, "\u0936", "\u0939", "\u0905", "\u0916", "\u0926", "\u0932")
|
||||
.setKeysOfRow(3,
|
||||
// U+0936: "श" DEVANAGARI LETTER SHA
|
||||
// U+0939: "ह" DEVANAGARI LETTER HA
|
||||
// U+0905: "अ" DEVANAGARI LETTER A
|
||||
// U+0916: "ख" DEVANAGARI LETTER KHA
|
||||
// U+0926: "द" DEVANAGARI LETTER DA
|
||||
// U+0932: "ल" DEVANAGARI LETTER LA
|
||||
"\u0936", "\u0939", "\u0905", "\u0916", "\u0926", "\u0932")
|
||||
.build();
|
||||
|
||||
private static final ExpectedKey[][] ALPHABET_SHIFTED_COMMON = new ExpectedKeyboardBuilder()
|
||||
|
@ -222,32 +220,32 @@ public final class NepaliTraditional extends LayoutBase {
|
|||
// U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R
|
||||
// U+0913: "ओ" DEVANAGARI LETTER O
|
||||
key("\u0943", moreKey("\u0913")))
|
||||
// U+0906: "आ" DEVANAGARI LETTER AA
|
||||
// U+0919/U+094D: "ङ्" DEVANAGARI LETTER NGA/DEVANAGARI SIGN VIRAMA
|
||||
// U+0921/U+094D/U+0921:
|
||||
// "ड्ड" DEVANAGARI LETTER DDA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER DDA
|
||||
// U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
|
||||
// U+0926/U+094D/U+0926:
|
||||
// "द्द" DEVANAGARI LETTER DA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER DA
|
||||
// U+091D: "झ" DEVANAGARI LETTER JHA
|
||||
// U+094B: "ो" DEVANAGARI VOWEL SIGN O
|
||||
// U+092B: "फ" DEVANAGARI LETTER PHA
|
||||
// U+0940: "ी" DEVANAGARI VOWEL SIGN II
|
||||
// U+091F/U+094D/U+0920:
|
||||
// "ट्ठ" DEVANAGARI LETTER TTA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER TTHA
|
||||
// U+0942: "ू" DEVANAGARI VOWEL SIGN UU
|
||||
.setLabelsOfRow(2,
|
||||
.setKeysOfRow(2,
|
||||
// U+0906: "आ" DEVANAGARI LETTER AA
|
||||
// U+0919/U+094D: "ङ्" DEVANAGARI LETTER NGA/DEVANAGARI SIGN VIRAMA
|
||||
// U+0921/U+094D/U+0921:
|
||||
// "ड्ड" DEVANAGARI LETTER DDA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER DDA
|
||||
// U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU
|
||||
// U+0926/U+094D/U+0926:
|
||||
// "द्द" DEVANAGARI LETTER DA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER DA
|
||||
// U+091D: "झ" DEVANAGARI LETTER JHA
|
||||
// U+094B: "ो" DEVANAGARI VOWEL SIGN O
|
||||
// U+092B: "फ" DEVANAGARI LETTER PHA
|
||||
// U+0940: "ी" DEVANAGARI VOWEL SIGN II
|
||||
// U+091F/U+094D/U+0920:
|
||||
// "ट्ठ" DEVANAGARI LETTER TTA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER TTHA
|
||||
// U+0942: "ू" DEVANAGARI VOWEL SIGN UU
|
||||
"\u0906", "\u0919\u094D", "\u0921\u094D\u0921", "\u0901", "\u0926\u094D\u0926",
|
||||
"\u091D", "\u094B", "\u092B", "\u0940", "\u091F\u094D\u0920", "\u0942")
|
||||
// U+0915/U+094D: "क्" DEVANAGARI LETTER KA/DEVANAGARI SIGN VIRAMA
|
||||
// U+0939/U+094D/U+092E:
|
||||
// "ह्म" DEVANAGARI LETTER HA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER MA
|
||||
// U+090B: "ऋ" DEVANAGARI LETTER VOCALIC R
|
||||
// U+0950: "ॐ" DEVANAGARI OM
|
||||
// U+094C: "ौ" DEVANAGARI VOWEL SIGN AU
|
||||
// U+0926/U+094D/U+092F:
|
||||
// "द्य" DEVANAGARI LETTER DA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER YA
|
||||
.setLabelsOfRow(3,
|
||||
.setKeysOfRow(3,
|
||||
// U+0915/U+094D: "क्" DEVANAGARI LETTER KA/DEVANAGARI SIGN VIRAMA
|
||||
// U+0939/U+094D/U+092E:
|
||||
// "ह्म" DEVANAGARI LETTER HA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER MA
|
||||
// U+090B: "ऋ" DEVANAGARI LETTER VOCALIC R
|
||||
// U+0950: "ॐ" DEVANAGARI OM
|
||||
// U+094C: "ौ" DEVANAGARI VOWEL SIGN AU
|
||||
// U+0926/U+094D/U+092F:
|
||||
// "द्य" DEVANAGARI LETTER DA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER YA
|
||||
"\u0915\u094D", "\u0939\u094D\u092E", "\u090B", "\u0950", "\u094C",
|
||||
"\u0926\u094D\u092F")
|
||||
.build();
|
||||
|
|
|
@ -51,8 +51,8 @@ public final class Nordic extends LayoutBase {
|
|||
key("i", moreKey("8")),
|
||||
key("o", moreKey("9")),
|
||||
key("p", moreKey("0")),
|
||||
key(ROW1_11))
|
||||
.setLabelsOfRow(2, "a", "s", "d", "f", "g", "h", "j", "k", "l", ROW2_10, ROW2_11)
|
||||
.setLabelsOfRow(3, "z", "x", "c", "v", "b", "n", "m")
|
||||
ROW1_11)
|
||||
.setKeysOfRow(2, "a", "s", "d", "f", "g", "h", "j", "k", "l", ROW2_10, ROW2_11)
|
||||
.setKeysOfRow(3, "z", "x", "c", "v", "b", "n", "m")
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -47,7 +47,7 @@ public final class Qwerty extends LayoutBase {
|
|||
key("i", moreKey("8")),
|
||||
key("o", moreKey("9")),
|
||||
key("p", moreKey("0")))
|
||||
.setLabelsOfRow(2, "a", "s", "d", "f", "g", "h", "j", "k", "l")
|
||||
.setLabelsOfRow(3, "z", "x", "c", "v", "b", "n", "m")
|
||||
.setKeysOfRow(2, "a", "s", "d", "f", "g", "h", "j", "k", "l")
|
||||
.setKeysOfRow(3, "z", "x", "c", "v", "b", "n", "m")
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ public final class Qwertz extends LayoutBase {
|
|||
key("i", moreKey("8")),
|
||||
key("o", moreKey("9")),
|
||||
key("p", moreKey("0")))
|
||||
.setLabelsOfRow(2, "a", "s", "d", "f", "g", "h", "j", "k", "l")
|
||||
.setLabelsOfRow(3, "y", "x", "c", "v", "b", "n", "m")
|
||||
.setKeysOfRow(2, "a", "s", "d", "f", "g", "h", "j", "k", "l")
|
||||
.setKeysOfRow(3, "y", "x", "c", "v", "b", "n", "m")
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -82,28 +82,28 @@ public final class SouthSlavic extends LayoutBase {
|
|||
// U+043F: "п" CYRILLIC SMALL LETTER PE
|
||||
key("\u043F", moreKey("0")),
|
||||
// U+0448: "ш" CYRILLIC SMALL LETTER SHA
|
||||
key("\u0448"))
|
||||
// U+0430: "а" CYRILLIC SMALL LETTER A
|
||||
// U+0441: "с" CYRILLIC SMALL LETTER ES
|
||||
// U+0434: "д" CYRILLIC SMALL LETTER DE
|
||||
// U+0444: "ф" CYRILLIC SMALL LETTER EF
|
||||
// U+0433: "г" CYRILLIC SMALL LETTER GHE
|
||||
// U+0445: "х" CYRILLIC SMALL LETTER HA
|
||||
// U+0458: "ј" CYRILLIC SMALL LETTER JE
|
||||
// U+043A: "к" CYRILLIC SMALL LETTER KA
|
||||
// U+043B: "л" CYRILLIC SMALL LETTER EL
|
||||
// U+0447: "ч" CYRILLIC SMALL LETTER CHE
|
||||
.setLabelsOfRow(2,
|
||||
"\u0448")
|
||||
.setKeysOfRow(2,
|
||||
// U+0430: "а" CYRILLIC SMALL LETTER A
|
||||
// U+0441: "с" CYRILLIC SMALL LETTER ES
|
||||
// U+0434: "д" CYRILLIC SMALL LETTER DE
|
||||
// U+0444: "ф" CYRILLIC SMALL LETTER EF
|
||||
// U+0433: "г" CYRILLIC SMALL LETTER GHE
|
||||
// U+0445: "х" CYRILLIC SMALL LETTER HA
|
||||
// U+0458: "ј" CYRILLIC SMALL LETTER JE
|
||||
// U+043A: "к" CYRILLIC SMALL LETTER KA
|
||||
// U+043B: "л" CYRILLIC SMALL LETTER EL
|
||||
// U+0447: "ч" CYRILLIC SMALL LETTER CHE
|
||||
"\u0430", "\u0441", "\u0434", "\u0444", "\u0433", "\u0445", "\u0458", "\u043A",
|
||||
"\u043B", "\u0447", ROW2_11)
|
||||
// U+045F: "џ" CYRILLIC SMALL LETTER DZHE
|
||||
// U+0446: "ц" CYRILLIC SMALL LETTER TSE
|
||||
// U+0432: "в" CYRILLIC SMALL LETTER VE
|
||||
// U+0431: "б" CYRILLIC SMALL LETTER BE
|
||||
// U+043D: "н" CYRILLIC SMALL LETTER EN
|
||||
// U+043C: "м" CYRILLIC SMALL LETTER EM
|
||||
// U+0436: "ж" CYRILLIC SMALL LETTER ZHE
|
||||
.setLabelsOfRow(3,
|
||||
.setKeysOfRow(3,
|
||||
// U+045F: "џ" CYRILLIC SMALL LETTER DZHE
|
||||
// U+0446: "ц" CYRILLIC SMALL LETTER TSE
|
||||
// U+0432: "в" CYRILLIC SMALL LETTER VE
|
||||
// U+0431: "б" CYRILLIC SMALL LETTER BE
|
||||
// U+043D: "н" CYRILLIC SMALL LETTER EN
|
||||
// U+043C: "м" CYRILLIC SMALL LETTER EM
|
||||
// U+0436: "ж" CYRILLIC SMALL LETTER ZHE
|
||||
ROW3_1, "\u045F", "\u0446", "\u0432", "\u0431", "\u043D", "\u043C", ROW3_8,
|
||||
"\u0436")
|
||||
.build();
|
||||
|
|
|
@ -46,7 +46,7 @@ public final class Spanish extends LayoutBase {
|
|||
key("i", moreKey("8")),
|
||||
key("o", moreKey("9")),
|
||||
key("p", moreKey("0")))
|
||||
.setLabelsOfRow(2, "a", "s", "d", "f", "g", "h", "j", "k", "l", ROW2_10)
|
||||
.setLabelsOfRow(3, "z", "x", "c", "v", "b", "n", "m")
|
||||
.setKeysOfRow(2, "a", "s", "d", "f", "g", "h", "j", "k", "l", ROW2_10)
|
||||
.setKeysOfRow(3, "z", "x", "c", "v", "b", "n", "m")
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -48,8 +48,8 @@ public final class Swiss extends LayoutBase {
|
|||
key("i", moreKey("8")),
|
||||
key("o", moreKey("9")),
|
||||
key("p", moreKey("0")),
|
||||
key(ROW1_11))
|
||||
.setLabelsOfRow(2, "a", "s", "d", "f", "g", "h", "j", "k", "l", ROW2_10, ROW2_11)
|
||||
.setLabelsOfRow(3, "y", "x", "c", "v", "b", "n", "m")
|
||||
ROW1_11)
|
||||
.setKeysOfRow(2, "a", "s", "d", "f", "g", "h", "j", "k", "l", ROW2_10, ROW2_11)
|
||||
.setKeysOfRow(3, "y", "x", "c", "v", "b", "n", "m")
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -46,7 +46,7 @@ public class Symbols extends AbstractLayoutBase {
|
|||
.addKeysOnTheRightOfRow(4, key(ENTER_KEY, EMOJI_KEY));
|
||||
} else {
|
||||
// Tablet symbols keyboard has extra two keys at the left edge of the 3rd row.
|
||||
builder.addKeysOnTheLeftOfRow(3, joinKeys("\\", "="));
|
||||
builder.addKeysOnTheLeftOfRow(3, (Object[])joinKeys("\\", "="));
|
||||
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
||||
.addKeysOnTheRightOfRow(2, ENTER_KEY)
|
||||
.addKeysOnTheLeftOfRow(3, customizer.getSymbolsShiftKey(isPhone))
|
||||
|
@ -136,11 +136,10 @@ public class Symbols extends AbstractLayoutBase {
|
|||
key("4", moreKey("\u2074")),
|
||||
// U+215D: "⅝" VULGAR FRACTION FIVE EIGHTHS
|
||||
key("5", moreKey("\u215D")),
|
||||
key("6"),
|
||||
"6",
|
||||
// U+215E: "⅞" VULGAR FRACTION SEVEN EIGHTHS
|
||||
key("7", moreKey("\u215E")),
|
||||
key("8"),
|
||||
key("9"),
|
||||
"8", "9",
|
||||
// U+207F: "ⁿ" SUPERSCRIPT LATIN SMALL LETTER N
|
||||
// U+2205: "∅" EMPTY SET
|
||||
key("0", joinMoreKeys("\u207F", "\u2205")))
|
||||
|
@ -148,7 +147,7 @@ public class Symbols extends AbstractLayoutBase {
|
|||
key("@"), key("#"), key(CURRENCY),
|
||||
// U+2030: "‰" PER MILLE SIGN
|
||||
key("%", moreKey("\u2030")),
|
||||
key("&"),
|
||||
"&",
|
||||
// U+2013: "–" EN DASH
|
||||
// U+2014: "—" EM DASH
|
||||
// U+00B7: "·" MIDDLE DOT
|
||||
|
|
|
@ -34,7 +34,7 @@ public class SymbolsShifted extends AbstractLayoutBase {
|
|||
public ExpectedKey[][] getLayout(final boolean isPhone) {
|
||||
final ExpectedKeyboardBuilder builder = new ExpectedKeyboardBuilder(SYMBOLS_SHIFTED_COMMON);
|
||||
final LayoutCustomizer customizer = mCustomizer;
|
||||
builder.replaceKeyOfLabel(OTHER_CURRENCIES, customizer.getOtherCurrencyKeys());
|
||||
builder.replaceKeyOfLabel(OTHER_CURRENCIES, (Object[])customizer.getOtherCurrencyKeys());
|
||||
if (isPhone) {
|
||||
builder.addKeysOnTheLeftOfRow(3, customizer.getBackToSymbolsKey())
|
||||
.addKeysOnTheRightOfRow(3, DELETE_KEY)
|
||||
|
@ -44,7 +44,7 @@ public class SymbolsShifted extends AbstractLayoutBase {
|
|||
// Tablet symbols shifted keyboard has extra two keys at the right edge of the 3rd row.
|
||||
// U+00BF: "¿" INVERTED QUESTION MARK
|
||||
// U+00A1: "¡" INVERTED EXCLAMATION MARK
|
||||
builder.addKeysOnTheRightOfRow(3, joinKeys("\u00A1", "\u00BF"));
|
||||
builder.addKeysOnTheRightOfRow(3, (Object[])joinKeys("\u00A1", "\u00BF"));
|
||||
builder.addKeysOnTheRightOfRow(1, DELETE_KEY)
|
||||
.addKeysOnTheRightOfRow(2, ENTER_KEY)
|
||||
.addKeysOnTheLeftOfRow(3, customizer.getBackToSymbolsKey())
|
||||
|
@ -72,10 +72,8 @@ public class SymbolsShifted extends AbstractLayoutBase {
|
|||
// Common symbols shifted keyboard layout.
|
||||
private static final ExpectedKey[][] SYMBOLS_SHIFTED_COMMON = new ExpectedKeyboardBuilder()
|
||||
.setKeysOfRow(1,
|
||||
key("~"),
|
||||
// U+0060: "`" GRAVE ACCENT
|
||||
key("\u0060"),
|
||||
key("|"),
|
||||
"~", "\u0060", "|",
|
||||
// U+2022: "•" BULLET
|
||||
// U+266A: "♪" EIGHTH NOTE
|
||||
// U+2665: "♥" BLACK HEART SUIT
|
||||
|
@ -84,21 +82,20 @@ public class SymbolsShifted extends AbstractLayoutBase {
|
|||
// U+2663: "♣" BLACK CLUB SUIT
|
||||
key("\u2022", joinMoreKeys("\u266A", "\u2665", "\u2660", "\u2666", "\u2663")),
|
||||
// U+221A: "√" SQUARE ROOT
|
||||
key("\u221A"),
|
||||
"\u221A",
|
||||
// U+03C0: "π" GREEK SMALL LETTER PI
|
||||
// U+03A0: "Π" GREEK CAPITAL LETTER PI
|
||||
key("\u03C0", moreKey("\u03A0")),
|
||||
// U+00F7: "÷" DIVISION SIGN
|
||||
key("\u00F7"),
|
||||
// U+00D7: "×" MULTIPLICATION SIGN
|
||||
key("\u00D7"),
|
||||
"\u00F7", "\u00D7",
|
||||
// U+00B6: "¶" PILCROW SIGN
|
||||
// U+00A7: "§" SECTION SIGN
|
||||
key("\u00B6", moreKey("\u00A7")),
|
||||
// U+2206: "∆" INCREMENT
|
||||
key("\u2206"))
|
||||
"\u2206")
|
||||
.setKeysOfRow(2,
|
||||
key(OTHER_CURRENCIES),
|
||||
OTHER_CURRENCIES,
|
||||
// U+2191: "↑" UPWARDS ARROW
|
||||
// U+2193: "↓" DOWNWARDS ARROW
|
||||
// U+2190: "←" LEFTWARDS ARROW
|
||||
|
@ -112,9 +109,8 @@ public class SymbolsShifted extends AbstractLayoutBase {
|
|||
// U+2248: "≈" ALMOST EQUAL TO
|
||||
// U+221E: "∞" INFINITY
|
||||
key("=", joinMoreKeys("\u2260", "\u2248", "\u221E")),
|
||||
key("{"),
|
||||
key("}"))
|
||||
.setLabelsOfRow(3,
|
||||
"{", "}")
|
||||
.setKeysOfRow(3,
|
||||
// U+00A9: "©" COPYRIGHT SIGN
|
||||
// U+00AE: "®" REGISTERED SIGN
|
||||
// U+2122: "™" TRADE MARK SIGN
|
||||
|
@ -129,7 +125,7 @@ public class SymbolsShifted extends AbstractLayoutBase {
|
|||
// U+2265: "≥" GREATER-THAN EQUAL TO
|
||||
// U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||
key(">", joinMoreKeys("\u203A", "\u2265", "\u00BB")),
|
||||
SPACE_KEY, key(","),
|
||||
SPACE_KEY, ",",
|
||||
// U+2026: "…" HORIZONTAL ELLIPSIS
|
||||
key(".", moreKey("\u2026")))
|
||||
.build();
|
||||
|
|
|
@ -69,11 +69,11 @@ public final class Thai extends LayoutBase {
|
|||
final ExpectedKeyboardBuilder builder = new ExpectedKeyboardBuilder(ALPHABET_COMMON);
|
||||
if (isPhone) {
|
||||
// U+0E03: "ฃ" THAI CHARACTER KHO KHUAT
|
||||
builder.addKeysOnTheRightOfRow(3, key("\u0E03"));
|
||||
builder.addKeysOnTheRightOfRow(3, "\u0E03");
|
||||
} else {
|
||||
// U+0E03: "ฃ" THAI CHARACTER KHO KHUAT
|
||||
builder.addKeysOnTheRightOfRow(2, key("\u0E03"))
|
||||
.addKeysOnTheRightOfRow(4, EXCLAMATION_AND_QUESTION_MARKS);
|
||||
builder.addKeysOnTheRightOfRow(2, "\u0E03")
|
||||
.addKeysOnTheRightOfRow(4, (Object[])EXCLAMATION_AND_QUESTION_MARKS);
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
|
@ -88,10 +88,10 @@ public final class Thai extends LayoutBase {
|
|||
ALPHABET_SHIFTED_COMMON);
|
||||
if (isPhone) {
|
||||
// U+0E05: "ฅ" THAI CHARACTER KHO KHON
|
||||
builder.addKeysOnTheRightOfRow(3, key("\u0E05"));
|
||||
builder.addKeysOnTheRightOfRow(3, "\u0E05");
|
||||
} else {
|
||||
// U+0E05: "ฅ" THAI CHARACTER KHO KHON
|
||||
builder.addKeysOnTheRightOfRow(2, key("\u0E05"));
|
||||
builder.addKeysOnTheRightOfRow(2, "\u0E05");
|
||||
}
|
||||
return builder.build();
|
||||
}
|
||||
|
@ -101,11 +101,9 @@ public final class Thai extends LayoutBase {
|
|||
ExpectedKeyboardBuilder convertCommonLayoutToKeyboard(final ExpectedKeyboardBuilder builder,
|
||||
final boolean isPhone) {
|
||||
final LayoutCustomizer customizer = getCustomizer();
|
||||
final ExpectedKey[] spacebar = joinKeys(
|
||||
customizer.getKeysLeftToSpacebar(isPhone),
|
||||
customizer.getSpaceKeys(isPhone),
|
||||
customizer.getKeysRightToSpacebar(isPhone));
|
||||
builder.setKeysOfRow(5, spacebar);
|
||||
builder.setKeysOfRow(5, (Object[])customizer.getSpaceKeys(isPhone));
|
||||
builder.addKeysOnTheLeftOfRow(5, (Object[])customizer.getKeysLeftToSpacebar(isPhone));
|
||||
builder.addKeysOnTheRightOfRow(5, (Object[])customizer.getKeysRightToSpacebar(isPhone));
|
||||
if (isPhone) {
|
||||
builder.addKeysOnTheRightOfRow(4, DELETE_KEY)
|
||||
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey())
|
||||
|
@ -116,15 +114,15 @@ public final class Thai extends LayoutBase {
|
|||
.addKeysOnTheLeftOfRow(5, customizer.getSymbolsKey(), SETTINGS_KEY)
|
||||
.addKeysOnTheRightOfRow(5, EMOJI_KEY);
|
||||
}
|
||||
builder.addKeysOnTheLeftOfRow(4, customizer.getLeftShiftKeys(isPhone))
|
||||
.addKeysOnTheRightOfRow(4, customizer.getRightShiftKeys(isPhone));
|
||||
builder.addKeysOnTheLeftOfRow(4, (Object[])customizer.getLeftShiftKeys(isPhone))
|
||||
.addKeysOnTheRightOfRow(4, (Object[])customizer.getRightShiftKeys(isPhone));
|
||||
return builder;
|
||||
}
|
||||
|
||||
private static final ExpectedKey[][] ALPHABET_COMMON = new ExpectedKeyboardBuilder()
|
||||
.setKeysOfRow(1,
|
||||
// U+0E45: "ๅ" THAI CHARACTER LAKKHANGYAO
|
||||
key("\u0E45"),
|
||||
"\u0E45",
|
||||
// U+0E51: "๑" THAI DIGIT ONE
|
||||
key("/", joinMoreKeys("1", "\u0E51")),
|
||||
// U+0E52: "๒" THAI DIGIT TWO
|
||||
|
@ -159,160 +157,110 @@ public final class Thai extends LayoutBase {
|
|||
// U+0E50: "๐" THAI DIGIT ZERO
|
||||
key("\u0E46", joinMoreKeys("0", "\u0E50")),
|
||||
// U+0E44: "ไ" THAI CHARACTER SARA AI MAIMALAI
|
||||
key("\u0E44"),
|
||||
// U+0E33: "ำ" THAI CHARACTER SARA AM
|
||||
key("\u0E33"),
|
||||
// U+0E1E: "พ" THAI CHARACTER PHO PHAN
|
||||
key("\u0E1E"),
|
||||
// U+0E30: "ะ" THAI CHARACTER SARA A
|
||||
key("\u0E30"),
|
||||
"\u0E44", "\u0E33", "\u0E1E", "\u0E30",
|
||||
// U+0E31: " ั" THAI CHARACTER MAI HAN-AKAT
|
||||
key(" \u0E31", "\u0E31"),
|
||||
// U+0E35: " ี" HAI CHARACTER SARA II
|
||||
key(" \u0E35", "\u0E35"),
|
||||
// U+0E23: "ร" THAI CHARACTER RO RUA
|
||||
key("\u0E23"),
|
||||
// U+0E19: "น" THAI CHARACTER NO NU
|
||||
key("\u0E19"),
|
||||
// U+0E22: "ย" THAI CHARACTER YO YAK
|
||||
key("\u0E22"),
|
||||
// U+0E1A: "บ" THAI CHARACTER BO BAIMAI
|
||||
key("\u0E1A"),
|
||||
// U+0E25: "ล" THAI CHARACTER LO LING
|
||||
key("\u0E25"))
|
||||
"\u0E23", "\u0E19", "\u0E22", "\u0E1A", "\u0E25")
|
||||
.setKeysOfRow(3,
|
||||
// U+0E1F: "ฟ" THAI CHARACTER FO FAN
|
||||
key("\u0E1F"),
|
||||
// U+0E2B: "ห" THAI CHARACTER HO HIP
|
||||
key("\u0E2B"),
|
||||
// U+0E01: "ก" THAI CHARACTER KO KAI
|
||||
key("\u0E01"),
|
||||
// U+0E14: "ด" THAI CHARACTER DO DEK
|
||||
key("\u0E14"),
|
||||
// U+0E40: "เ" THAI CHARACTER SARA E
|
||||
key("\u0E40"),
|
||||
"\u0E1F", "\u0E2B", "\u0E01", "\u0E14", "\u0E40",
|
||||
// U+0E49: " ้" THAI CHARACTER MAI THO
|
||||
key(" \u0E49", "\u0E49"),
|
||||
// U+0E48: " ่" THAI CHARACTER MAI EK
|
||||
key(" \u0E48", "\u0E48"),
|
||||
// U+0E32: "า" THAI CHARACTER SARA AA
|
||||
key("\u0E32"),
|
||||
// U+0E2A: "ส" THAI CHARACTER SO SUA
|
||||
key("\u0E2A"),
|
||||
// U+0E27: "ว" THAI CHARACTER WO WAEN
|
||||
key("\u0E27"),
|
||||
// U+0E07: "ง" THAI CHARACTER NGO NGU
|
||||
key("\u0E07"))
|
||||
"\u0E32", "\u0E2A", "\u0E27", "\u0E07")
|
||||
.setKeysOfRow(4,
|
||||
// U+0E1C: "ผ" THAI CHARACTER PHO PHUNG
|
||||
key("\u0E1C"),
|
||||
// U+0E1B: "ป" THAI CHARACTER PO PLA
|
||||
key("\u0E1B"),
|
||||
// U+0E41: "แ" THAI CHARACTER SARA AE
|
||||
key("\u0E41"),
|
||||
// U+0E2D: "อ" THAI CHARACTER O ANG
|
||||
key("\u0E2D"),
|
||||
"\u0E1C", "\u0E1B", "\u0E41", "\u0E2D",
|
||||
// U+0E34: " ิ" THAI CHARACTER SARA I
|
||||
key(" \u0E34", "\u0E34"),
|
||||
// U+0E37: " ื" THAI CHARACTER SARA UEE
|
||||
key(" \u0E37", "\u0E37"),
|
||||
// U+0E17: "ท" THAI CHARACTER THO THAHAN
|
||||
key("\u0E17"),
|
||||
// U+0E21: "ม" THAI CHARACTER MO MA
|
||||
key("\u0E21"),
|
||||
// U+0E43: "ใ" THAI CHARACTER SARA AI MAIMUAN
|
||||
key("\u0E43"),
|
||||
// U+0E1D: "ฝ" THAI CHARACTER FO FA
|
||||
key("\u0E1D"))
|
||||
"\u0E17", "\u0E21", "\u0E43", "\u0E1D")
|
||||
.build();
|
||||
|
||||
private static final ExpectedKey[][] ALPHABET_SHIFTED_COMMON = new ExpectedKeyboardBuilder()
|
||||
.setKeysOfRow(1,
|
||||
key("+"),
|
||||
// U+0E51: "๑" THAI DIGIT ONE
|
||||
key("\u0E51"),
|
||||
// U+0E52: "๒" THAI DIGIT TWO
|
||||
key("\u0E52"),
|
||||
// U+0E53: "๓" THAI DIGIT THREE
|
||||
key("\u0E53"),
|
||||
// U+0E54: "๔" THAI DIGIT FOUR
|
||||
key("\u0E54"),
|
||||
// U+0E39: " ู" THAI CHARACTER SARA UU
|
||||
"+", "\u0E51", "\u0E52", "\u0E53", "\u0E54",
|
||||
key(" \u0E39", "\u0E39"),
|
||||
// U+0E3F: "฿" THAI CURRENCY SYMBOL BAHT
|
||||
key("\u0E3F"),
|
||||
// U+0E55: "๕" THAI DIGIT FIVE
|
||||
key("\u0E55"),
|
||||
// U+0E56: "๖" THAI DIGIT SIX
|
||||
key("\u0E56"),
|
||||
// U+0E57: "๗" THAI DIGIT SEVEN
|
||||
key("\u0E57"),
|
||||
// U+0E58: "๘" THAI DIGIT EIGHT
|
||||
key("\u0E58"),
|
||||
// U+0E59: "๙" THAI DIGIT NINE
|
||||
key("\u0E59"))
|
||||
"\u0E3F", "\u0E55", "\u0E56", "\u0E57", "\u0E58", "\u0E59")
|
||||
.setKeysOfRow(2,
|
||||
// U+0E50: "๐" THAI DIGIT ZERO
|
||||
key("\u0E50"),
|
||||
key("\""),
|
||||
// U+0E0E: "ฎ" THAI CHARACTER DO CHADA
|
||||
key("\u0E0E"),
|
||||
// U+0E11: "ฑ" THAI CHARACTER THO NANGMONTHO
|
||||
key("\u0E11"),
|
||||
// U+0E18: "ธ" THAI CHARACTER THO THONG
|
||||
key("\u0E18"),
|
||||
"\u0E50", "\"", "\u0E0E", "\u0E11", "\u0E18",
|
||||
// U+0E4D: " ํ" THAI CHARACTER THANTHAKHAT
|
||||
key(" \u0E4D", "\u0E4D"),
|
||||
// U+0E4A: " ๊" THAI CHARACTER MAI TRI
|
||||
key(" \u0E4A", "\u0E4A"),
|
||||
// U+0E13: "ณ" THAI CHARACTER NO NEN
|
||||
key("\u0E13"),
|
||||
// U+0E2F: "ฯ" THAI CHARACTER PAIYANNOI
|
||||
key("\u0E2F"),
|
||||
// U+0E0D: "ญ" THAI CHARACTER YO YING
|
||||
key("\u0E0D"),
|
||||
// U+0E10: "ฐ" THAI CHARACTER THO THAN
|
||||
key("\u0E10"),
|
||||
key(","))
|
||||
"\u0E13", "\u0E2F", "\u0E0D", "\u0E10", ",")
|
||||
.setKeysOfRow(3,
|
||||
// U+0E24: "ฤ" THAI CHARACTER RU
|
||||
key("\u0E24"),
|
||||
// U+0E06: "ฆ" THAI CHARACTER KHO RAKHANG
|
||||
key("\u0E06"),
|
||||
// U+0E0F: "ฏ" THAI CHARACTER TO PATAK
|
||||
key("\u0E0F"),
|
||||
// U+0E42: "โ" THAI CHARACTER SARA O
|
||||
key("\u0E42"),
|
||||
// U+0E0C: "ฌ" THAI CHARACTER CHO CHOE
|
||||
key("\u0E0C"),
|
||||
"\u0E24", "\u0E06", "\u0E0F", "\u0E42", "\u0E0C",
|
||||
// U+0E47: " ็" THAI CHARACTER MAITAIKHU
|
||||
key(" \u0E47", "\u0E47"),
|
||||
// U+0E4B: " ๋" THAI CHARACTER MAI CHATTAWA
|
||||
key(" \u0E4B", "\u0E4B"),
|
||||
// U+0E29: "ษ" THAI CHARACTER SO RUSI
|
||||
key("\u0E29"),
|
||||
// U+0E28: "ศ" THAI CHARACTER SO SALA
|
||||
key("\u0E28"),
|
||||
// U+0E0B: "ซ" THAI CHARACTER SO SO
|
||||
key("\u0E0B"),
|
||||
key("."))
|
||||
"\u0E29", "\u0E28", "\u0E0B", ".")
|
||||
.setKeysOfRow(4,
|
||||
key("("),
|
||||
key(")"),
|
||||
// U+0E09: "ฉ" THAI CHARACTER CHO CHING
|
||||
key("\u0E09"),
|
||||
// U+0E2E: "ฮ" THAI CHARACTER HO NOKHUK
|
||||
key("\u0E2E"),
|
||||
"(", ")", "\u0E09", "\u0E2E",
|
||||
// U+0E3A: " ฺ" THAI CHARACTER PHINTHU
|
||||
key(" \u0E3A", "\u0E3A"),
|
||||
// U+0E4C: " ์" THAI CHARACTER THANTHAKHAT
|
||||
key(" \u0E4C", "\u0E4C"),
|
||||
key("?"),
|
||||
// U+0E12: "ฒ" THAI CHARACTER THO PHUTHAO
|
||||
key("\u0E12"),
|
||||
// U+0E2C: "ฬ" THAI CHARACTER LO CHULA
|
||||
key("\u0E2C"),
|
||||
// U+0E26: "ฦ" THAI CHARACTER LU
|
||||
key("\u0E26"))
|
||||
"?", "\u0E12", "\u0E2C", "\u0E26")
|
||||
.build();
|
||||
}
|
||||
|
|
|
@ -18,12 +18,8 @@ package com.android.inputmethod.keyboard.layout.expected;
|
|||
|
||||
import com.android.inputmethod.keyboard.internal.KeyboardIconsSet;
|
||||
import com.android.inputmethod.latin.Constants;
|
||||
import com.android.inputmethod.latin.utils.CollectionUtils;
|
||||
import com.android.inputmethod.latin.utils.StringUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* Base class to create an expected keyboard for unit test.
|
||||
*/
|
||||
|
@ -97,19 +93,7 @@ public abstract class AbstractLayoutBase {
|
|||
// Helper method to create {@link ExpectedKey} array by joining {@link ExpectedKey},
|
||||
// {@link ExpectedKey} array, and {@link String}.
|
||||
public static ExpectedKey[] joinKeys(final Object ... keys) {
|
||||
final ArrayList<ExpectedKey> list = CollectionUtils.newArrayList();
|
||||
for (final Object key : keys) {
|
||||
if (key instanceof ExpectedKey) {
|
||||
list.add((ExpectedKey)key);
|
||||
} else if (key instanceof ExpectedKey[]) {
|
||||
list.addAll(Arrays.asList((ExpectedKey[])key));
|
||||
} else if (key instanceof String) {
|
||||
list.add(key((String)key));
|
||||
} else {
|
||||
throw new RuntimeException("Unknown expected key type: " + key);
|
||||
}
|
||||
}
|
||||
return list.toArray(new ExpectedKey[list.size()]);
|
||||
return ExpectedKeyboardBuilder.joinKeys(keys);
|
||||
}
|
||||
|
||||
// Icon ids.
|
||||
|
|
|
@ -16,6 +16,9 @@
|
|||
|
||||
package com.android.inputmethod.keyboard.layout.expected;
|
||||
|
||||
import com.android.inputmethod.latin.utils.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Locale;
|
||||
|
||||
|
@ -105,67 +108,57 @@ public final class ExpectedKeyboardBuilder extends AbstractKeyboardBuilder<Expec
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the row with specified keys that have specified labels.
|
||||
* @param row the row number to set keys.
|
||||
* @param labels the label texts of the keys.
|
||||
* @return this builder.
|
||||
*/
|
||||
public ExpectedKeyboardBuilder setLabelsOfRow(final int row, final String ... labels) {
|
||||
final ExpectedKey[] keys = new ExpectedKey[labels.length];
|
||||
for (int columnIndex = 0; columnIndex < labels.length; columnIndex++) {
|
||||
keys[columnIndex] = ExpectedKey.newInstance(labels[columnIndex]);
|
||||
// Helper method to create {@link ExpectedKey} array by joining {@link ExpectedKey},
|
||||
// {@link ExpectedKey} array, and {@link String}.
|
||||
static ExpectedKey[] joinKeys(final Object ... keys) {
|
||||
final ArrayList<ExpectedKey> list = CollectionUtils.newArrayList();
|
||||
for (final Object key : keys) {
|
||||
if (key instanceof ExpectedKey) {
|
||||
list.add((ExpectedKey)key);
|
||||
} else if (key instanceof ExpectedKey[]) {
|
||||
list.addAll(Arrays.asList((ExpectedKey[])key));
|
||||
} else if (key instanceof String) {
|
||||
list.add(ExpectedKey.newInstance((String)key));
|
||||
} else {
|
||||
throw new RuntimeException("Unknown expected key type: " + key);
|
||||
}
|
||||
}
|
||||
setRowAt(row, keys);
|
||||
return this;
|
||||
return list.toArray(new ExpectedKey[list.size()]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the row with specified keys.
|
||||
* @param row the row number to set keys.
|
||||
* @param keys the keys to be set at <code>row</code>.
|
||||
* @param keys the keys to be set at <code>row</code>. Each key can be {@link ExpectedKey},
|
||||
* {@link ExpectedKey} array, and {@link String}.
|
||||
* @return this builder.
|
||||
*/
|
||||
public ExpectedKeyboardBuilder setKeysOfRow(final int row, final ExpectedKey ... keys) {
|
||||
setRowAt(row, keys);
|
||||
public ExpectedKeyboardBuilder setKeysOfRow(final int row, final Object ... keys) {
|
||||
setRowAt(row, joinKeys(keys));
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the "more keys" of the key that has the specified label.
|
||||
* @param label the label of the key to set the "more keys".
|
||||
* @param moreKeys the array of labels of the "more keys" to be set.
|
||||
* @param moreKeys the array of "more key" to be set. Each "more key" can be
|
||||
* {@link ExpectedKey}, {@link ExpectedKey} array, and {@link String}.
|
||||
* @return this builder.
|
||||
*/
|
||||
public ExpectedKeyboardBuilder setMoreKeysOf(final String label, final String ... moreKeys) {
|
||||
final ExpectedKey[] expectedMoreKeys = new ExpectedKey[moreKeys.length];
|
||||
for (int index = 0; index < moreKeys.length; index++) {
|
||||
expectedMoreKeys[index] = ExpectedKey.newInstance(moreKeys[index]);
|
||||
}
|
||||
setMoreKeysOf(label, expectedMoreKeys);
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the "more keys" of the key that has the specified label.
|
||||
* @param label the label of the key to set the "more keys".
|
||||
* @param moreKeys the array of "more key" to be set.
|
||||
* @return this builder.
|
||||
*/
|
||||
public ExpectedKeyboardBuilder setMoreKeysOf(final String label,
|
||||
final ExpectedKey ... moreKeys) {
|
||||
setMoreKeysOf(ExpectedKeyVisual.newInstance(label), moreKeys);
|
||||
public ExpectedKeyboardBuilder setMoreKeysOf(final String label, final Object ... moreKeys) {
|
||||
setMoreKeysOf(ExpectedKeyVisual.newInstance(label), joinKeys(moreKeys));
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the "more keys" of the key that has the specified icon.
|
||||
* @param iconId the icon id of the key to set the "more keys".
|
||||
* @param moreKeys the array of "more key" to be set.
|
||||
* @param moreKeys the array of "more key" to be set. Each "more key" can be
|
||||
* {@link ExpectedKey}, {@link ExpectedKey} array, and {@link String}.
|
||||
* @return this builder.
|
||||
*/
|
||||
public ExpectedKeyboardBuilder setMoreKeysOf(final int iconId, final ExpectedKey ... moreKeys) {
|
||||
setMoreKeysOf(ExpectedKeyVisual.newInstance(iconId), moreKeys);
|
||||
public ExpectedKeyboardBuilder setMoreKeysOf(final int iconId, final Object ... moreKeys) {
|
||||
setMoreKeysOf(ExpectedKeyVisual.newInstance(iconId), joinKeys(moreKeys));
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -188,14 +181,16 @@ public final class ExpectedKeyboardBuilder extends AbstractKeyboardBuilder<Expec
|
|||
* Insert the keys at specified position.
|
||||
* @param row the row number to insert the <code>keys</code>.
|
||||
* @param column the column number to insert the <code>keys</code>.
|
||||
* @param keys the array of keys to insert at <code>row,column</code>.
|
||||
* @param keys the array of keys to insert at <code>row,column</code>. Each key can be
|
||||
* {@link ExpectedKey}, {@link ExpectedKey} array, and {@link String}.
|
||||
* @return this builder.
|
||||
* @throws {@link RuntimeException} if <code>row</code> or <code>column</code> is illegal.
|
||||
*/
|
||||
public ExpectedKeyboardBuilder insertKeysAtRow(final int row, final int column,
|
||||
final ExpectedKey ... keys) {
|
||||
final Object ... keys) {
|
||||
final ExpectedKey[] expectedKeys = joinKeys(keys);
|
||||
for (int index = 0; index < keys.length; index++) {
|
||||
setElementAt(row, column + index, keys[index], true /* insert */);
|
||||
setElementAt(row, column + index, expectedKeys[index], true /* insert */);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
@ -203,15 +198,17 @@ public final class ExpectedKeyboardBuilder extends AbstractKeyboardBuilder<Expec
|
|||
/**
|
||||
* Add the keys on the left most of the row.
|
||||
* @param row the row number to add the <code>keys</code>.
|
||||
* @param keys the array of keys to add on the left most of the row.
|
||||
* @param keys the array of keys to add on the left most of the row. Each key can be
|
||||
* {@link ExpectedKey}, {@link ExpectedKey} array, and {@link String}.
|
||||
* @return this builder.
|
||||
* @throws {@link RuntimeException} if <code>row</code> is illegal.
|
||||
*/
|
||||
public ExpectedKeyboardBuilder addKeysOnTheLeftOfRow(final int row,
|
||||
final ExpectedKey ... keys) {
|
||||
final Object ... keys) {
|
||||
final ExpectedKey[] expectedKeys = joinKeys(keys);
|
||||
// Keys should be inserted from the last to preserve the order.
|
||||
for (int index = keys.length - 1; index >= 0; index--) {
|
||||
setElementAt(row, 1, keys[index], true /* insert */);
|
||||
setElementAt(row, 1, expectedKeys[index], true /* insert */);
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
@ -219,12 +216,13 @@ public final class ExpectedKeyboardBuilder extends AbstractKeyboardBuilder<Expec
|
|||
/**
|
||||
* Add the keys on the right most of the row.
|
||||
* @param row the row number to add the <code>keys</code>.
|
||||
* @param keys the array of keys to add on the right most of the row.
|
||||
* @param keys the array of keys to add on the right most of the row. Each key can be
|
||||
* {@link ExpectedKey}, {@link ExpectedKey} array, and {@link String}.
|
||||
* @return this builder.
|
||||
* @throws {@link RuntimeException} if <code>row</code> is illegal.
|
||||
*/
|
||||
public ExpectedKeyboardBuilder addKeysOnTheRightOfRow(final int row,
|
||||
final ExpectedKey ... keys) {
|
||||
final Object ... keys) {
|
||||
final int rightEnd = getRowAt(row).length + 1;
|
||||
insertKeysAtRow(row, rightEnd, keys);
|
||||
return this;
|
||||
|
@ -233,16 +231,17 @@ public final class ExpectedKeyboardBuilder extends AbstractKeyboardBuilder<Expec
|
|||
/**
|
||||
* Replace the most top-left key that has the specified label with the new keys.
|
||||
* @param label the label of the key to set <code>newKeys</code>.
|
||||
* @param newKeys the keys to be set.
|
||||
* @param newKeys the keys to be set. Each key can be {@link ExpectedKey}, {@link ExpectedKey}
|
||||
* array, and {@link String}.
|
||||
* @return this builder.
|
||||
*/
|
||||
public ExpectedKeyboardBuilder replaceKeyOfLabel(final String label,
|
||||
final ExpectedKey ... newKeys) {
|
||||
final Object ... newKeys) {
|
||||
final ExpectedKeyVisual visual = ExpectedKeyVisual.newInstance(label);
|
||||
replaceKeyOf(visual, new ReplaceJob() {
|
||||
@Override
|
||||
public ExpectedKey[] replacingKeys(final ExpectedKey oldKey) {
|
||||
return newKeys;
|
||||
return joinKeys(newKeys);
|
||||
}
|
||||
@Override
|
||||
public boolean stopAtFirstOccurrence() {
|
||||
|
@ -255,15 +254,16 @@ public final class ExpectedKeyboardBuilder extends AbstractKeyboardBuilder<Expec
|
|||
/**
|
||||
* Replace the all specified keys with the new keys.
|
||||
* @param key the key to be replaced by <code>newKeys</code>.
|
||||
* @param newKeys the keys to be set.
|
||||
* @param newKeys the keys to be set. Each key can be {@link ExpectedKey}, {@link ExpectedKey}
|
||||
* array, and {@link String}.
|
||||
* @return this builder.
|
||||
*/
|
||||
public ExpectedKeyboardBuilder replaceKeysOfAll(final ExpectedKey key,
|
||||
final ExpectedKey ... newKeys) {
|
||||
final Object ... newKeys) {
|
||||
replaceKeyOf(key.getVisual(), new ReplaceJob() {
|
||||
@Override
|
||||
public ExpectedKey[] replacingKeys(final ExpectedKey oldKey) {
|
||||
return newKeys;
|
||||
return joinKeys(newKeys);
|
||||
}
|
||||
@Override
|
||||
public boolean stopAtFirstOccurrence() {
|
||||
|
|
Loading…
Reference in a new issue