Skip to content

Commit b1b807e

Browse files
committed
Add Turkish F layout
Reference: https://commons.wikimedia.org/wiki/File:KB_Turkey_f_yeni.svg Change-Id: I27e7953ff03d58f15909fd1cdf16a762ddea30c2 Signed-off-by: Berkay Yıldırım <[email protected]>
1 parent d565b60 commit b1b807e

File tree

15 files changed

+733
-61
lines changed

15 files changed

+733
-61
lines changed

java/res/values/donottranslate.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,10 +80,13 @@
8080

8181
<!-- Description for Bulgarian (BDS) subtype. -->
8282
<string name="subtype_bulgarian_bds">%s (BDS)</string>
83-
83+
8484
<!-- Description for Bulgarian (BEKL) subtype. -->
8585
<string name="subtype_bulgarian_bekl">%s (BEKL)</string>
8686

87+
<!-- Description for Turkish (FGĞIOD) subtype. -->
88+
<string name="subtype_turkish_f">%s (FGĞIOD)</string>
89+
8790
<!-- Compatibility map from subtypeLocale:subtypeExtraValue to keyboardLayoutSet -->
8891
<string-array name="locale_and_extra_value_to_keyboard_layout_set_map">
8992
<item>en_US:TrySuppressingImeSwitcher,AsciiCapable,SupportTouchPositionCorrection,EmojiCapable</item>
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
/*
4+
**
5+
** Copyright 2025, The Android Open Source Project
6+
**
7+
** Licensed under the Apache License, Version 2.0 (the "License");
8+
** you may not use this file except in compliance with the License.
9+
** You may obtain a copy of the License at
10+
**
11+
** http://www.apache.org/licenses/LICENSE-2.0
12+
**
13+
** Unless required by applicable law or agreed to in writing, software
14+
** distributed under the License is distributed on an "AS IS" BASIS,
15+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
** See the License for the specific language governing permissions and
17+
** limitations under the License.
18+
*/
19+
-->
20+
21+
<merge
22+
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
23+
>
24+
<include
25+
latin:keyboardLayout="@xml/key_styles_common" />
26+
<include latin:keyboardLayout="@xml/row_number_keys" />
27+
<Row
28+
latin:keyWidth="7.5%p"
29+
>
30+
<include
31+
latin:keyboardLayout="@xml/rowkeys_turkish_f1" />
32+
<Key
33+
latin:keyStyle="deleteKeyStyle"
34+
latin:keyWidth="fillRight" />
35+
</Row>
36+
<Row
37+
latin:keyWidth="7.5%p"
38+
>
39+
<include
40+
latin:keyboardLayout="@xml/rowkeys_turkish_f2" />
41+
<Key
42+
latin:keyStyle="enterKeyStyle"
43+
latin:keyWidth="fillRight" />
44+
</Row>
45+
<Row
46+
latin:keyWidth="7.5%p"
47+
>
48+
<Key
49+
latin:keyStyle="shiftKeyStyle"
50+
latin:keyWidth="10.0%p" />
51+
<Spacer
52+
latin:keyWidth="2.5%p" />
53+
<include
54+
latin:keyboardLayout="@xml/rowkeys_turkish_f3" />
55+
<include
56+
latin:keyboardLayout="@xml/keys_exclamation_question" />
57+
<Key
58+
latin:keyStyle="shiftKeyStyle"
59+
latin:keyXPos="-10.0%p"
60+
latin:keyWidth="fillRight" />
61+
</Row>
62+
<include
63+
latin:keyboardLayout="@xml/row_qwerty4" />
64+
</merge>

java/res/xml/kbd_turkish_f.xml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
/*
4+
**
5+
** Copyright 2025, The Android Open Source Project
6+
**
7+
** Licensed under the Apache License, Version 2.0 (the "License");
8+
** you may not use this file except in compliance with the License.
9+
** You may obtain a copy of the License at
10+
**
11+
** http://www.apache.org/licenses/LICENSE-2.0
12+
**
13+
** Unless required by applicable law or agreed to in writing, software
14+
** distributed under the License is distributed on an "AS IS" BASIS,
15+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
** See the License for the specific language governing permissions and
17+
** limitations under the License.
18+
*/
19+
-->
20+
21+
<Keyboard
22+
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
23+
>
24+
<include
25+
latin:keyboardLayout="@xml/rows_turkish_f" />
26+
</Keyboard>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
/*
4+
**
5+
** Copyright 2025, The Android Open Source Project
6+
**
7+
** Licensed under the Apache License, Version 2.0 (the "License");
8+
** you may not use this file except in compliance with the License.
9+
** You may obtain a copy of the License at
10+
**
11+
** http://www.apache.org/licenses/LICENSE-2.0
12+
**
13+
** Unless required by applicable law or agreed to in writing, software
14+
** distributed under the License is distributed on an "AS IS" BASIS,
15+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
** See the License for the specific language governing permissions and
17+
** limitations under the License.
18+
*/
19+
-->
20+
21+
<KeyboardLayoutSet
22+
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
23+
<Element
24+
latin:elementName="alphabet"
25+
latin:elementKeyboard="@xml/kbd_turkish_f"
26+
latin:enableProximityCharsCorrection="true"
27+
latin:allowRedundantMoreKeys="false" />
28+
<Element
29+
latin:elementName="symbols"
30+
latin:elementKeyboard="@xml/kbd_symbols" />
31+
<Element
32+
latin:elementName="symbolsShifted"
33+
latin:elementKeyboard="@xml/kbd_symbols_shift" />
34+
<Element
35+
latin:elementName="phone"
36+
latin:elementKeyboard="@xml/kbd_phone" />
37+
<Element
38+
latin:elementName="phoneSymbols"
39+
latin:elementKeyboard="@xml/kbd_phone_symbols" />
40+
<Element
41+
latin:elementName="number"
42+
latin:elementKeyboard="@xml/kbd_number" />
43+
</KeyboardLayoutSet>

java/res/xml/method.xml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@
102102
th: Thai/thai
103103
tl: Tagalog/spanish
104104
tr: Turkish/turkish
105+
tr: Turkish/turkish_f
105106
uk: Ukrainian/east_slavic
106107
uz_UZ: Uzbek (Uzbekistan)/uzbek # This is a preliminary keyboard layout.
107108
vi: Vietnamese/qwerty
@@ -787,6 +788,14 @@
787788
android:imeSubtypeExtraValue="KeyboardLayoutSet=turkish,AsciiCapable,EmojiCapable"
788789
android:isAsciiCapable="true"
789790
/>
791+
<subtype android:icon="@drawable/ic_ime_switcher_dark"
792+
android:label="@string/subtype_turkish_f"
793+
android:subtypeId="0x7fff1504"
794+
android:imeSubtypeLocale="tr"
795+
android:imeSubtypeMode="keyboard"
796+
android:imeSubtypeExtraValue="KeyboardLayoutSet=turkish_f,AsciiCapable,EmojiCapable"
797+
android:isAsciiCapable="true"
798+
/>
790799
<subtype android:icon="@drawable/ic_ime_switcher_dark"
791800
android:label="@string/subtype_generic"
792801
android:subtypeId="0x3e84492c"
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
/*
4+
**
5+
** Copyright 2025, The Android Open Source Project
6+
**
7+
** Licensed under the Apache License, Version 2.0 (the "License");
8+
** you may not use this file except in compliance with the License.
9+
** You may obtain a copy of the License at
10+
**
11+
** http://www.apache.org/licenses/LICENSE-2.0
12+
**
13+
** Unless required by applicable law or agreed to in writing, software
14+
** distributed under the License is distributed on an "AS IS" BASIS,
15+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
** See the License for the specific language governing permissions and
17+
** limitations under the License.
18+
*/
19+
-->
20+
21+
<merge
22+
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
23+
>
24+
<Key
25+
latin:keySpec="f"
26+
latin:keyHintLabel="1"
27+
latin:additionalMoreKeys="1" />
28+
<Key
29+
latin:keySpec="g"
30+
latin:keyHintLabel="2"
31+
latin:additionalMoreKeys="2" />
32+
<Key
33+
latin:keySpec="!text/keyspec_turkish_f_row1_3"
34+
latin:keyHintLabel="3"
35+
latin:additionalMoreKeys="3" />
36+
<Key
37+
latin:keySpec="!text/keyspec_turkish_f_row1_4"
38+
latin:keyHintLabel="4"
39+
latin:additionalMoreKeys="4" />
40+
<Key
41+
latin:keySpec="o"
42+
latin:keyHintLabel="5"
43+
latin:additionalMoreKeys="5"
44+
latin:moreKeys="!text/morekeys_o" />
45+
<Key
46+
latin:keySpec="d"
47+
latin:keyHintLabel="6"
48+
latin:additionalMoreKeys="6" />
49+
<Key
50+
latin:keySpec="r"
51+
latin:keyHintLabel="7"
52+
latin:additionalMoreKeys="7" />
53+
<Key
54+
latin:keySpec="n"
55+
latin:keyHintLabel="8"
56+
latin:additionalMoreKeys="8"
57+
latin:moreKeys="!text/morekeys_n" />
58+
<Key
59+
latin:keySpec="h"
60+
latin:keyHintLabel="9"
61+
latin:additionalMoreKeys="9" />
62+
<Key
63+
latin:keySpec="p"
64+
latin:keyHintLabel="0"
65+
latin:additionalMoreKeys="0" />
66+
<Key
67+
latin:keySpec="!text/keyspec_q" />
68+
<Key
69+
latin:keySpec="!text/keyspec_w" />
70+
</merge>
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
/*
4+
**
5+
** Copyright 2025, The Android Open Source Project
6+
**
7+
** Licensed under the Apache License, Version 2.0 (the "License");
8+
** you may not use this file except in compliance with the License.
9+
** You may obtain a copy of the License at
10+
**
11+
** http://www.apache.org/licenses/LICENSE-2.0
12+
**
13+
** Unless required by applicable law or agreed to in writing, software
14+
** distributed under the License is distributed on an "AS IS" BASIS,
15+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
** See the License for the specific language governing permissions and
17+
** limitations under the License.
18+
*/
19+
-->
20+
21+
<merge
22+
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
23+
>
24+
<Key
25+
latin:keySpec="u"
26+
latin:moreKeys="!text/morekeys_u" />
27+
<Key
28+
latin:keySpec="i"
29+
latin:moreKeys="!text/morekeys_i" />
30+
<Key
31+
latin:keySpec="e"
32+
latin:moreKeys="!text/morekeys_e" />
33+
<Key
34+
latin:keySpec="a"
35+
latin:moreKeys="!text/morekeys_a" />
36+
<Key
37+
latin:keySpec="!text/keyspec_turkish_f_row2_5" />
38+
<Key
39+
latin:keySpec="t" />
40+
<Key
41+
latin:keySpec="k" />
42+
<Key
43+
latin:keySpec="m" />
44+
<Key
45+
latin:keySpec="l" />
46+
<Key
47+
latin:keySpec="!text/keyspec_y"
48+
latin:moreKeys="!text/morekeys_y" />
49+
<Key
50+
latin:keySpec="!text/keyspec_turkish_f_row2_11" />
51+
<Key
52+
latin:keySpec="!text/keyspec_x" />
53+
</merge>
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
/*
4+
**
5+
** Copyright 2025, The Android Open Source Project
6+
**
7+
** Licensed under the Apache License, Version 2.0 (the "License");
8+
** you may not use this file except in compliance with the License.
9+
** You may obtain a copy of the License at
10+
**
11+
** http://www.apache.org/licenses/LICENSE-2.0
12+
**
13+
** Unless required by applicable law or agreed to in writing, software
14+
** distributed under the License is distributed on an "AS IS" BASIS,
15+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
** See the License for the specific language governing permissions and
17+
** limitations under the License.
18+
*/
19+
-->
20+
21+
<merge
22+
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
23+
>
24+
<Key
25+
latin:keySpec="j" />
26+
<Key
27+
latin:keySpec="!text/keyspec_turkish_f_row3_2" />
28+
<Key
29+
latin:keySpec="v" />
30+
<Key
31+
latin:keySpec="c"
32+
latin:moreKeys="!text/morekeys_c" />
33+
<Key
34+
latin:keySpec="!text/keyspec_turkish_f_row3_5" />
35+
<Key
36+
latin:keySpec="z"
37+
latin:moreKeys="!text/morekeys_z" />
38+
<Key
39+
latin:keySpec="s"
40+
latin:moreKeys="!text/morekeys_s" />
41+
<Key
42+
latin:keySpec="b" />
43+
</merge>

java/res/xml/rows_turkish_f.xml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
/*
4+
**
5+
** Copyright 2025, The Android Open Source Project
6+
**
7+
** Licensed under the Apache License, Version 2.0 (the "License");
8+
** you may not use this file except in compliance with the License.
9+
** You may obtain a copy of the License at
10+
**
11+
** http://www.apache.org/licenses/LICENSE-2.0
12+
**
13+
** Unless required by applicable law or agreed to in writing, software
14+
** distributed under the License is distributed on an "AS IS" BASIS,
15+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16+
** See the License for the specific language governing permissions and
17+
** limitations under the License.
18+
*/
19+
-->
20+
21+
<merge
22+
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
23+
>
24+
<include
25+
latin:keyboardLayout="@xml/key_styles_common" />
26+
<include latin:keyboardLayout="@xml/row_number_keys" />
27+
<Row
28+
latin:keyWidth="8.333%p"
29+
>
30+
<include
31+
latin:keyboardLayout="@xml/rowkeys_turkish_f1" />
32+
</Row>
33+
<Row
34+
latin:keyWidth="8.333%p"
35+
>
36+
<include
37+
latin:keyboardLayout="@xml/rowkeys_turkish_f2" />
38+
</Row>
39+
<Row
40+
latin:keyWidth="8.75%p"
41+
>
42+
<Key
43+
latin:keyStyle="shiftKeyStyle"
44+
latin:keyWidth="15%p"
45+
latin:visualInsetsRight="1%p" />
46+
<include
47+
latin:keyboardLayout="@xml/rowkeys_turkish_f3" />
48+
<Key
49+
latin:keyStyle="deleteKeyStyle"
50+
latin:keyWidth="fillRight"
51+
latin:visualInsetsLeft="1%p" />
52+
</Row>
53+
<include
54+
latin:keyboardLayout="@xml/row_qwerty4" />
55+
</merge>

0 commit comments

Comments
 (0)