Skip to content

Commit e0f617e

Browse files
authored
feat: added Italian language layout #78 (#220)
* feat(layout): added italian layout This commit is aimed at solving issue #78 which requested the italian keyboard layout. This layout is inspired by the enligh one, mostly removing unused characters and giving easy access to the euro (€) sign. * docs: update changelog
1 parent 39eec8e commit e0f617e

File tree

5 files changed

+175
-0
lines changed

5 files changed

+175
-0
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
8+
### Added
9+
- Italian layout ([#78])
810

911
## [1.3.0] - 2025-07-27
1012
### Added
@@ -61,6 +63,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6163
### Added
6264
- Initial release
6365

66+
[#78]: https://github.com/FossifyOrg/Keyboard/issues/78
6467
[#157]: https://github.com/FossifyOrg/Keyboard/issues/157
6568
[#202]: https://github.com/FossifyOrg/Keyboard/issues/202
6669

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ import org.fossify.keyboard.helpers.LANGUAGE_FRENCH_BEPO
5555
import org.fossify.keyboard.helpers.LANGUAGE_GERMAN
5656
import org.fossify.keyboard.helpers.LANGUAGE_GREEK
5757
import org.fossify.keyboard.helpers.LANGUAGE_HEBREW
58+
import org.fossify.keyboard.helpers.LANGUAGE_ITALIAN
5859
import org.fossify.keyboard.helpers.LANGUAGE_KABYLE_AZERTY
5960
import org.fossify.keyboard.helpers.LANGUAGE_LITHUANIAN
6061
import org.fossify.keyboard.helpers.LANGUAGE_NORWEGIAN
@@ -288,6 +289,7 @@ fun Context.getKeyboardLanguageText(language: Int): String {
288289
LANGUAGE_GERMAN -> getString(R.string.translation_german)
289290
LANGUAGE_GREEK -> getString(R.string.translation_greek)
290291
LANGUAGE_HEBREW -> getString(R.string.translation_hebrew)
292+
LANGUAGE_ITALIAN -> getString(R.string.translation_italian)
291293
LANGUAGE_KABYLE_AZERTY -> "${getString(R.string.translation_kabyle)} (AZERTY)"
292294
LANGUAGE_LITHUANIAN -> getString(R.string.translation_lithuanian)
293295
LANGUAGE_NORWEGIAN -> getString(R.string.translation_norwegian)

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ const val LANGUAGE_BELARUSIAN_CYRL = 27
5858
const val LANGUAGE_BELARUSIAN_LATN = 28
5959
const val LANGUAGE_KABYLE_AZERTY = 29
6060
const val LANGUAGE_CZECH_QWERTY = 30
61+
const val LANGUAGE_ITALIAN = 31
6162

6263
// Keep this sorted
6364
val SUPPORTED_LANGUAGES = listOf(
@@ -79,6 +80,7 @@ val SUPPORTED_LANGUAGES = listOf(
7980
LANGUAGE_GERMAN,
8081
LANGUAGE_GREEK,
8182
LANGUAGE_HEBREW,
83+
LANGUAGE_ITALIAN,
8284
LANGUAGE_KABYLE_AZERTY,
8385
LANGUAGE_LITHUANIAN,
8486
LANGUAGE_NORWEGIAN,

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,7 @@ class SimpleKeyboardIME : InputMethodService(), OnKeyboardActionListener, Shared
455455
LANGUAGE_GERMAN -> R.xml.keys_letters_german
456456
LANGUAGE_GREEK -> R.xml.keys_letters_greek
457457
LANGUAGE_HEBREW -> R.xml.keys_letters_hebrew
458+
LANGUAGE_ITALIAN -> R.xml.keys_letters_italian
458459
LANGUAGE_KABYLE_AZERTY -> R.xml.keys_letters_kabyle_azerty
459460
LANGUAGE_LITHUANIAN -> R.xml.keys_letters_lithuanian
460461
LANGUAGE_NORWEGIAN -> R.xml.keys_letters_norwegian
Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
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="e"
51+
app:popupCharacters="3éè"
52+
app:popupKeyboard="@xml/keyboard_popup_template"
53+
app:topSmallNumber="3" />
54+
<Key
55+
app:keyLabel="r"
56+
app:popupCharacters="4"
57+
app:popupKeyboard="@xml/keyboard_popup_template"
58+
app:topSmallNumber="4" />
59+
<Key
60+
app:keyLabel="t"
61+
app:popupCharacters="5"
62+
app:popupKeyboard="@xml/keyboard_popup_template"
63+
app:topSmallNumber="5" />
64+
<Key
65+
app:keyLabel="y"
66+
app:popupCharacters=""
67+
app:popupKeyboard="@xml/keyboard_popup_template"
68+
app:topSmallNumber="6" />
69+
<Key
70+
app:keyLabel="u"
71+
app:popupCharacters="7ùú"
72+
app:popupKeyboard="@xml/keyboard_popup_template"
73+
app:topSmallNumber="7" />
74+
<Key
75+
app:keyLabel="i"
76+
app:popupCharacters="8ìí"
77+
app:popupKeyboard="@xml/keyboard_popup_template"
78+
app:topSmallNumber="8" />
79+
<Key
80+
app:keyLabel="o"
81+
app:popupCharacters="9òóø"
82+
app:popupKeyboard="@xml/keyboard_popup_template"
83+
app:topSmallNumber="9" />
84+
<Key
85+
app:keyEdgeFlags="right"
86+
app:keyLabel="p"
87+
app:popupCharacters="0"
88+
app:popupKeyboard="@xml/keyboard_popup_template"
89+
app:topSmallNumber="0" />
90+
</Row>
91+
<Row>
92+
<Key
93+
app:horizontalGap="5%"
94+
app:keyEdgeFlags="left"
95+
app:keyLabel="a"
96+
app:popupCharacters="àáæ"
97+
app:popupKeyboard="@xml/keyboard_popup_template" />
98+
<Key
99+
app:keyLabel="s"
100+
app:popupCharacters="ß"
101+
app:popupKeyboard="@xml/keyboard_popup_template" />
102+
<Key app:keyLabel="d" />
103+
<Key app:keyLabel="f" />
104+
<Key app:keyLabel="g" />
105+
<Key app:keyLabel="h" />
106+
<Key app:keyLabel="j" />
107+
<Key app:keyLabel="k" />
108+
<Key app:keyLabel="l" />
109+
</Row>
110+
<Row>
111+
<Key
112+
app:code="-1"
113+
app:keyEdgeFlags="left"
114+
app:keyIcon="@drawable/ic_caps_outline_vector"
115+
app:keyWidth="15%p" />
116+
<Key app:keyLabel="z" />
117+
<Key app:keyLabel="x" />
118+
<Key
119+
app:keyLabel="c"
120+
app:popupCharacters="ç¢"
121+
app:popupKeyboard="@xml/keyboard_popup_template" />
122+
<Key app:keyLabel="v" />
123+
<Key app:keyLabel="b" />
124+
<Key
125+
app:keyLabel="n"
126+
app:popupCharacters="ñ"
127+
app:popupKeyboard="@xml/keyboard_popup_template" />
128+
<Key app:keyLabel="m" />
129+
<Key
130+
app:code="-5"
131+
app:isRepeatable="true"
132+
app:keyEdgeFlags="right"
133+
app:keyIcon="@drawable/ic_clear_vector"
134+
app:keyWidth="15%p" />
135+
</Row>
136+
<Row>
137+
<Key
138+
app:code="-2"
139+
app:keyEdgeFlags="left"
140+
app:keyLabel="\?123"
141+
app:keyWidth="15%p" />
142+
<Key
143+
app:keyLabel=","
144+
app:popupCharacters=""
145+
app:keyWidth="10%p" />
146+
<Key
147+
app:code="-6"
148+
app:keyEdgeFlags="left"
149+
app:keyIcon="@drawable/ic_emoji_emotions_outline_vector"
150+
app:keyWidth="10%p"
151+
app:secondaryKeyIcon="@drawable/ic_language_outlined" />
152+
<Key
153+
app:code="32"
154+
app:isRepeatable="true"
155+
app:keyWidth="40%p" />
156+
<Key
157+
app:keyLabel="."
158+
app:keyWidth="10%p"
159+
app:popupCharacters=",?!;:…"
160+
app:popupKeyboard="@xml/keyboard_popup_template" />
161+
<Key
162+
app:code="-4"
163+
app:keyEdgeFlags="right"
164+
app:keyIcon="@drawable/ic_enter_vector"
165+
app:keyWidth="15%p" />
166+
</Row>
167+
</Keyboard>

0 commit comments

Comments
 (0)