Skip to content

Commit e80bffc

Browse files
authored
feat: add Asset, Colemak, Colemak-DH, Niro, Soul, and Workman layouts (#71)
1 parent 9764681 commit e80bffc

File tree

9 files changed

+1155
-0
lines changed

9 files changed

+1155
-0
lines changed

app/src/main/kotlin/org/fossify/keyboard/extensions/Context.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,14 @@ import org.fossify.keyboard.helpers.LANGUAGE_CZECH_QWERTY
4949
import org.fossify.keyboard.helpers.LANGUAGE_CZECH_QWERTZ
5050
import org.fossify.keyboard.helpers.LANGUAGE_DANISH
5151
import org.fossify.keyboard.helpers.LANGUAGE_DUTCH
52+
import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_ASSET
53+
import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_COLEMAK
54+
import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_COLEMAKDH
5255
import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_DVORAK
56+
import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_NIRO
5357
import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_QWERTZ
58+
import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_SOUL
59+
import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_WORKMAN
5460
import org.fossify.keyboard.helpers.LANGUAGE_ESPERANTO
5561
import org.fossify.keyboard.helpers.LANGUAGE_FRENCH_AZERTY
5662
import org.fossify.keyboard.helpers.LANGUAGE_FRENCH_BEPO
@@ -292,8 +298,14 @@ fun Context.getKeyboardLanguageText(language: Int): String {
292298
LANGUAGE_CZECH_QWERTZ -> "${getString(R.string.translation_czech)} (QWERTZ)"
293299
LANGUAGE_DANISH -> getString(R.string.translation_danish)
294300
LANGUAGE_DUTCH -> getString(R.string.translation_dutch)
301+
LANGUAGE_ENGLISH_ASSET -> "${getString(R.string.translation_english)} (Asset)"
302+
LANGUAGE_ENGLISH_COLEMAK -> "${getString(R.string.translation_english)} (Colemak)"
303+
LANGUAGE_ENGLISH_COLEMAKDH -> "${getString(R.string.translation_english)} (Colemak-DH)"
295304
LANGUAGE_ENGLISH_DVORAK -> "${getString(R.string.translation_english)} (DVORAK)"
305+
LANGUAGE_ENGLISH_NIRO -> "${getString(R.string.translation_english)} (Niro)"
296306
LANGUAGE_ENGLISH_QWERTZ -> "${getString(R.string.translation_english)} (QWERTZ)"
307+
LANGUAGE_ENGLISH_SOUL -> "${getString(R.string.translation_english)} (Soul)"
308+
LANGUAGE_ENGLISH_WORKMAN -> "${getString(R.string.translation_english)} (Workman)"
297309
LANGUAGE_ESPERANTO -> getString(R.string.translation_esperanto)
298310
LANGUAGE_FRENCH_AZERTY -> "${getString(R.string.translation_french)} (AZERTY)"
299311
LANGUAGE_FRENCH_BEPO -> "${getString(R.string.translation_french)} (BEPO)"

app/src/main/kotlin/org/fossify/keyboard/helpers/Constants.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ const val LANGUAGE_PORTUGUESE_HCESAR = 35
6666
const val LANGUAGE_DUTCH = 36
6767
const val LANGUAGE_LATVIAN = 37
6868
const val LANGUAGE_TURKISH = 38
69+
const val LANGUAGE_ENGLISH_ASSET = 39
70+
const val LANGUAGE_ENGLISH_COLEMAK = 40
71+
const val LANGUAGE_ENGLISH_COLEMAKDH = 41
72+
const val LANGUAGE_ENGLISH_NIRO = 42
73+
const val LANGUAGE_ENGLISH_SOUL = 43
74+
const val LANGUAGE_ENGLISH_WORKMAN = 44
6975

7076
// Keep this sorted
7177
val SUPPORTED_LANGUAGES = listOf(
@@ -82,7 +88,13 @@ val SUPPORTED_LANGUAGES = listOf(
8288
LANGUAGE_DUTCH,
8389
LANGUAGE_ENGLISH_QWERTY,
8490
LANGUAGE_ENGLISH_QWERTZ,
91+
LANGUAGE_ENGLISH_ASSET,
92+
LANGUAGE_ENGLISH_COLEMAK,
93+
LANGUAGE_ENGLISH_COLEMAKDH,
8594
LANGUAGE_ENGLISH_DVORAK,
95+
LANGUAGE_ENGLISH_NIRO,
96+
LANGUAGE_ENGLISH_SOUL,
97+
LANGUAGE_ENGLISH_WORKMAN,
8698
LANGUAGE_ESPERANTO,
8799
LANGUAGE_FRENCH_AZERTY,
88100
LANGUAGE_FRENCH_BEPO,

app/src/main/kotlin/org/fossify/keyboard/services/SimpleKeyboardIME.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,8 +454,14 @@ class SimpleKeyboardIME : InputMethodService(), OnKeyboardActionListener, Shared
454454
LANGUAGE_CZECH_QWERTZ -> R.xml.keys_letters_czech_qwertz
455455
LANGUAGE_DANISH -> R.xml.keys_letters_danish
456456
LANGUAGE_DUTCH -> R.xml.keys_letters_dutch
457+
LANGUAGE_ENGLISH_ASSET -> R.xml.keys_letters_english_asset
458+
LANGUAGE_ENGLISH_COLEMAK -> R.xml.keys_letters_english_colemak
459+
LANGUAGE_ENGLISH_COLEMAKDH -> R.xml.keys_letters_english_colemakdh
457460
LANGUAGE_ENGLISH_DVORAK -> R.xml.keys_letters_english_dvorak
461+
LANGUAGE_ENGLISH_NIRO -> R.xml.keys_letters_english_niro
458462
LANGUAGE_ENGLISH_QWERTZ -> R.xml.keys_letters_english_qwertz
463+
LANGUAGE_ENGLISH_SOUL -> R.xml.keys_letters_english_soul
464+
LANGUAGE_ENGLISH_WORKMAN -> R.xml.keys_letters_english_workman
459465
LANGUAGE_ESPERANTO -> R.xml.keys_letters_esperanto
460466
LANGUAGE_FRENCH_AZERTY -> R.xml.keys_letters_french_azerty
461467
LANGUAGE_FRENCH_BEPO -> R.xml.keys_letters_french_bepo
Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Keyboard xmlns:app="http://schemas.android.com/apk/res-auto">
3+
<Row app:isNumbersRow="true">
4+
<Key
5+
app:keyEdgeFlags="left"
6+
app:keyLabel="1"
7+
app:topSmallNumber="1" />
8+
<Key
9+
app:keyLabel="2"
10+
app:topSmallNumber="2" />
11+
<Key
12+
app:keyLabel="3"
13+
app:topSmallNumber="3" />
14+
<Key
15+
app:keyLabel="4"
16+
app:topSmallNumber="4" />
17+
<Key
18+
app:keyLabel="5"
19+
app:topSmallNumber="5" />
20+
<Key
21+
app:keyLabel="6"
22+
app:topSmallNumber="6" />
23+
<Key
24+
app:keyLabel="7"
25+
app:topSmallNumber="7" />
26+
<Key
27+
app:keyLabel="8"
28+
app:topSmallNumber="8" />
29+
<Key
30+
app:keyLabel="9"
31+
app:topSmallNumber="9" />
32+
<Key
33+
app:keyEdgeFlags="right"
34+
app:keyLabel="0"
35+
app:topSmallNumber="0" />
36+
</Row>
37+
<Row>
38+
<Key
39+
app:keyEdgeFlags="left"
40+
app:keyLabel="q"
41+
app:popupCharacters="1"
42+
app:popupKeyboard="@xml/keyboard_popup_template"
43+
app:topSmallNumber="1" />
44+
<Key
45+
app:keyLabel="w"
46+
app:popupCharacters="2"
47+
app:popupKeyboard="@xml/keyboard_popup_template"
48+
app:topSmallNumber="2" />
49+
<Key
50+
app:keyLabel="j"
51+
app:popupCharacters="3"
52+
app:popupKeyboard="@xml/keyboard_popup_template"
53+
app:topSmallNumber="3" />
54+
<Key
55+
app:keyLabel="f"
56+
app:popupCharacters="4₣"
57+
app:popupKeyboard="@xml/keyboard_popup_template"
58+
app:topSmallNumber="4" />
59+
<Key
60+
app:keyLabel="g"
61+
app:popupCharacters="5"
62+
app:popupKeyboard="@xml/keyboard_popup_template"
63+
app:topSmallNumber="5" />
64+
<Key
65+
app:keyLabel="y"
66+
app:popupCharacters="ý6ÿ¥"
67+
app:popupKeyboard="@xml/keyboard_popup_template"
68+
app:topSmallNumber="6" />
69+
<Key
70+
app:keyLabel="p"
71+
app:popupCharacters="7"
72+
app:popupKeyboard="@xml/keyboard_popup_template"
73+
app:topSmallNumber="7" />
74+
<Key
75+
app:keyLabel="u"
76+
app:popupCharacters="űúùûü8ūů"
77+
app:popupKeyboard="@xml/keyboard_popup_template"
78+
app:topSmallNumber="8" />
79+
<Key
80+
app:keyLabel="l"
81+
app:popupCharacters="ĺľ9ł"
82+
app:popupKeyboard="@xml/keyboard_popup_template"
83+
app:topSmallNumber="9" />
84+
<Key
85+
app:keyEdgeFlags="right"
86+
app:keyLabel=";"
87+
app:popupCharacters="0"
88+
app:popupKeyboard="@xml/keyboard_popup_template"
89+
app:topSmallNumber="0" />
90+
</Row>
91+
<Row>
92+
<Key
93+
app:keyEdgeFlags="left"
94+
app:keyLabel="a"
95+
app:popupCharacters="áàâãäåāæą"
96+
app:popupKeyboard="@xml/keyboard_popup_template" />
97+
<Key
98+
app:keyLabel="s"
99+
app:popupCharacters="śßš"
100+
app:popupKeyboard="@xml/keyboard_popup_template" />
101+
<Key
102+
app:keyLabel="e"
103+
app:popupCharacters="éèêëēę"
104+
app:popupKeyboard="@xml/keyboard_popup_template" />
105+
<Key
106+
app:keyLabel="t"
107+
app:popupCharacters="ť"
108+
app:popupKeyboard="@xml/keyboard_popup_template" />
109+
<Key
110+
app:keyLabel="d"
111+
app:popupCharacters="ďđ"
112+
app:popupKeyboard="@xml/keyboard_popup_template" />
113+
<Key app:keyLabel="h" />
114+
<Key
115+
app:keyLabel="n"
116+
app:popupCharacters="ňńñ"
117+
app:popupKeyboard="@xml/keyboard_popup_template" />
118+
<Key
119+
app:keyLabel="i"
120+
app:popupCharacters="íìîïīį"
121+
app:popupKeyboard="@xml/keyboard_popup_template" />
122+
<Key
123+
app:keyLabel="o"
124+
app:popupCharacters="őöøóôòõō"
125+
app:popupKeyboard="@xml/keyboard_popup_template" />
126+
<Key
127+
app:keyEdgeFlags="right"
128+
app:keyLabel="r"
129+
app:popupCharacters="řŕ"
130+
app:popupKeyboard="@xml/keyboard_popup_template" />
131+
</Row>
132+
<Row>
133+
<Key
134+
app:code="-1"
135+
app:keyEdgeFlags="left"
136+
app:keyIcon="@drawable/ic_caps_outline_vector"
137+
app:keyWidth="15%p" />
138+
<Key
139+
app:keyLabel="z"
140+
app:popupCharacters="źžż"
141+
app:popupKeyboard="@xml/keyboard_popup_template" />
142+
<Key app:keyLabel="x" />
143+
<Key
144+
app:keyLabel="c"
145+
app:popupCharacters="çčć¢"
146+
app:popupKeyboard="@xml/keyboard_popup_template" />
147+
<Key app:keyLabel="v" />
148+
<Key app:keyLabel="b" />
149+
<Key app:keyLabel="k" />
150+
<Key app:keyLabel="m" />
151+
<Key
152+
app:code="-5"
153+
app:isRepeatable="true"
154+
app:keyEdgeFlags="right"
155+
app:keyIcon="@drawable/ic_clear_vector"
156+
app:keyWidth="15%p" />
157+
</Row>
158+
<Row>
159+
<Key
160+
app:code="-2"
161+
app:keyEdgeFlags="left"
162+
app:keyLabel="\?123"
163+
app:keyWidth="15%p" />
164+
<Key
165+
app:keyLabel=","
166+
app:keyWidth="10%p" />
167+
<Key
168+
app:code="-6"
169+
app:keyEdgeFlags="left"
170+
app:keyIcon="@drawable/ic_emoji_emotions_outline_vector"
171+
app:keyWidth="10%p"
172+
app:secondaryKeyIcon="@drawable/ic_language_outlined" />
173+
<Key
174+
app:code="32"
175+
app:isRepeatable="true"
176+
app:keyWidth="40%p" />
177+
<Key
178+
app:keyLabel="."
179+
app:keyWidth="10%p"
180+
app:popupCharacters=",;:?!…"
181+
app:popupKeyboard="@xml/keyboard_popup_template" />
182+
<Key
183+
app:code="-4"
184+
app:keyEdgeFlags="right"
185+
app:keyIcon="@drawable/ic_enter_vector"
186+
app:keyWidth="15%p" />
187+
</Row>
188+
</Keyboard>

0 commit comments

Comments
 (0)