From 282801214641aa2f20373fca58992170fc9feb75 Mon Sep 17 00:00:00 2001 From: Rigel Trajano Date: Thu, 10 Aug 2017 00:36:16 -0400 Subject: [PATCH] add colemak keyboard layout --- README.md | 4 +- .../values-en-rCO/donottranslate-altchars.xml | 47 ++ .../values-en-rCO/donottranslate-keymap.xml | 222 ++++++++ java/res/xml-en-rCO/kbd_qwerty.xml | 523 ++++++++++++++++++ .../pckeyboard/InputLanguageSelection.java | 8 +- 5 files changed, 799 insertions(+), 5 deletions(-) create mode 100644 java/res/values-en-rCO/donottranslate-altchars.xml create mode 100644 java/res/values-en-rCO/donottranslate-keymap.xml create mode 100644 java/res/xml-en-rCO/kbd_qwerty.xml diff --git a/README.md b/README.md index ae2b46d48..1e48a76ab 100644 --- a/README.md +++ b/README.md @@ -7,8 +7,8 @@ This keyboard is especially useful if you use ConnectBot for SSH access. It prov The supported keyboard layouts include Armenian (Հայերեն), Arabic (العربية), British (en\_GB), Bulgarian (български език), Czech (Čeština), Danish (dansk), Carpalx English (language "en-CX"), Dvorak English (language "en-DV"), English -(QWERTY), Finnish (Suomi), French (Français, AZERTY), German (Deutsch, QWERTZ), -German Neo2 (Deutsch, language "de-NE"), +(QWERTY), Colemak English (language "en-CO"), Finnish (Suomi), French +(Français, AZERTY), German (Deutsch, QWERTZ), German Neo2 (Deutsch, language "de-NE"), Greek (ελληνικά), Hebrew (עברית), Hungarian (Magyar), Italian (Italiano), Lao (ພາສາລາວ), Norwegian (Norsk bokmål), Persian (فارسی), Portuguese (Português), Romanian (Română), Russian (Русский), Russian phonetic (Русский, ru-rPH), diff --git a/java/res/values-en-rCO/donottranslate-altchars.xml b/java/res/values-en-rCO/donottranslate-altchars.xml new file mode 100644 index 000000000..f6baa5c18 --- /dev/null +++ b/java/res/values-en-rCO/donottranslate-altchars.xml @@ -0,0 +1,47 @@ + + + + áàâãäåāæ + + 8çč㢠+ đ + éèêëē€ + 6₣ + 7 + + íìîïī + + + 0£₤λ + μ + ñ + óòôõöōø + 4π₱ + + 9 + §ßš + + úùûüū + + + + 5ýÿ¥ + ž + diff --git a/java/res/values-en-rCO/donottranslate-keymap.xml b/java/res/values-en-rCO/donottranslate-keymap.xml new file mode 100644 index 000000000..5e4c357a0 --- /dev/null +++ b/java/res/values-en-rCO/donottranslate-keymap.xml @@ -0,0 +1,222 @@ + + + + ` + ~ + + + 1 + ! + ¡¹½⅓¼⅛ + + 2 + \@ + ²⅔ + + 3 + # + ³¾⅜♥♠♦♣ + + 4 + $ + ⁴¢£€¥ + + 5 + % + ⅝‰ + + 6 + ^ + ↑↓←→ + + 7 + & + ⅞♪ + + 8 + * + •★∞†‡ + + 9 + ( + + + 0 + ) + ⁿ° + + - + _ + —– + + = + + + ≈≠±×÷ + + + q + Q + @string/alternates_for_q + + w + W + @string/alternates_for_w + + f + F + @string/alternates_for_f + + p + P + @string/alternates_for_p + + g + G + @string/alternates_for_g + + j + J + @string/alternates_for_j + + l + L + @string/alternates_for_l + + u + U + @string/alternates_for_u + + y + Y + @string/alternates_for_y + + ; + : + + + [ + { + + + ] + } + + + \\ + | + + + + a + A + @string/alternates_for_a + + r + R + @string/alternates_for_r + + s + S + @string/alternates_for_s + + t + T + @string/alternates_for_t + + d + D + @string/alternates_for_d + + h + H + @string/alternates_for_h + + n + N + @string/alternates_for_n + + e + E + @string/alternates_for_e + + i + I + @string/alternates_for_i + + o + o + @string/alternates_for_o + + + \' + \" + ‘’“” + + + + + + + z + Z + @string/alternates_for_z + + x + X + @string/alternates_for_x + + c + C + @string/alternates_for_c + + v + V + @string/alternates_for_v + + b + B + @string/alternates_for_b + + k + K + @string/alternates_for_k + + m + M + @string/alternates_for_m + + , + < + ≤«‹ + + . + > + ≥»›… + + / + \? + ¿ + diff --git a/java/res/xml-en-rCO/kbd_qwerty.xml b/java/res/xml-en-rCO/kbd_qwerty.xml new file mode 100644 index 000000000..369d1ab2c --- /dev/null +++ b/java/res/xml-en-rCO/kbd_qwerty.xml @@ -0,0 +1,523 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + android:keyEdgeFlags="right" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/src/org/pocketworkstation/pckeyboard/InputLanguageSelection.java b/java/src/org/pocketworkstation/pckeyboard/InputLanguageSelection.java index dfa361090..332e454e6 100644 --- a/java/src/org/pocketworkstation/pckeyboard/InputLanguageSelection.java +++ b/java/src/org/pocketworkstation/pckeyboard/InputLanguageSelection.java @@ -69,7 +69,7 @@ public class InputLanguageSelection extends PreferenceActivity { // the available keyboard resources and dictionaries. private static final String[] KBD_LOCALIZATIONS = { "ar", "bg", "bg_ST", "ca", "cs", "cs_QY", "da", "de", "de_NE", - "el", "en", "en_CX", "en_DV", "en_GB", "es", "es_LA", "es_US", + "el", "en", "en_CO", "en_CX", "en_DV", "en_GB", "es", "es_LA", "es_US", "fa", "fi", "fr", "fr_CA", "he", "hr", "hu", "hu_QY", "hy", "in", "it", "iw", "ja", "ka", "ko", "lo", "lt", "lv", "nb", "nl", "pl", "pt", "pt_PT", "rm", "ro", "ru", "ru_PH", "si", "sk", "sk_QY", "sl", @@ -78,7 +78,7 @@ public class InputLanguageSelection extends PreferenceActivity { private static final String[] KBD_5_ROW = { "ar", "bg", "bg_ST", "cs", "cs_QY", "da", "de", "de_NE", "el", - "en", "en_CX", "en_DV", "en_GB", "es", "es_LA", "fa", "fi", "fr", + "en", "en_CO", "en_CX", "en_DV", "en_GB", "es", "es_LA", "fa", "fi", "fr", "fr_CA", "he", "hr", "hu", "hu_QY", "hy", "it", "iw", "lo", "lt", "nb", "pt_PT", "ro", "ru", "ru_PH", "si", "sk", "sk_QY", "sl", "sr", "sv", "ta", "th", "tr", "uk" @@ -86,7 +86,7 @@ public class InputLanguageSelection extends PreferenceActivity { private static final String[] KBD_4_ROW = { "ar", "bg", "bg_ST", "cs", "cs_QY", "da", "de", "de_NE", "el", - "en", "en_CX", "en_DV", "es", "es_LA", "es_US", "fa", "fr", "fr_CA", + "en", "en_CO", "en_CX", "en_DV", "es", "es_LA", "es_US", "fa", "fr", "fr_CA", "he", "hr", "hu", "hu_QY", "iw", "nb", "ru", "ru_PH", "sk", "sk_QY", "sl", "sr", "sv", "tr", "uk" }; @@ -98,6 +98,8 @@ private static String getLocaleName(Locale l) { return "English (Dvorak)"; } else if (lang.equals("en") && country.equals("EX")) { return "English (4x11)"; + } else if (lang.equals("en") && country.equals("CO")) { + return "English (Colemak)"; } else if (lang.equals("en") && country.equals("CX")) { return "English (Carpalx)"; } else if (lang.equals("es") && country.equals("LA")) {