feat: added czech language layout (#205)

* feat: added czech language layout

* fix: czech qwerty layout mismatch

* docs: update changelog

---------

Co-authored-by: Kamil Vala <kamil.vala@scrumware.eu>
Co-authored-by: Naveen Singh <36371707+naveensingh@users.noreply.github.com>
This commit is contained in:
K-vala
2025-07-27 15:36:51 +02:00
committed by GitHub
parent 2546938785
commit 6d285a03ee
5 changed files with 183 additions and 0 deletions

View File

@@ -5,6 +5,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Added
- Czech layout ([#157])
### Fixed
- Clipboard saving is now case-sensitive ([#202])
@@ -53,6 +56,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Initial release
[#157]: https://github.com/FossifyOrg/Keyboard/issues/157
[#202]: https://github.com/FossifyOrg/Keyboard/issues/202
[Unreleased]: https://github.com/FossifyOrg/Keyboard/compare/1.2.2...HEAD

View File

@@ -45,6 +45,7 @@ import org.fossify.keyboard.helpers.LANGUAGE_BENGALI
import org.fossify.keyboard.helpers.LANGUAGE_BULGARIAN
import org.fossify.keyboard.helpers.LANGUAGE_CENTRAL_KURDISH
import org.fossify.keyboard.helpers.LANGUAGE_CHUVASH
import org.fossify.keyboard.helpers.LANGUAGE_CZECH_QWERTY
import org.fossify.keyboard.helpers.LANGUAGE_DANISH
import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_DVORAK
import org.fossify.keyboard.helpers.LANGUAGE_ENGLISH_QWERTZ
@@ -277,6 +278,7 @@ fun Context.getKeyboardLanguageText(language: Int): String {
LANGUAGE_BULGARIAN -> getString(R.string.translation_bulgarian)
LANGUAGE_CENTRAL_KURDISH -> getString(R.string.translation_central_kurdish)
LANGUAGE_CHUVASH -> getString(R.string.translation_chuvash)
LANGUAGE_CZECH_QWERTY -> "${getString(R.string.translation_czech)} (QWERTY)"
LANGUAGE_DANISH -> getString(R.string.translation_danish)
LANGUAGE_ENGLISH_DVORAK -> "${getString(R.string.translation_english)} (DVORAK)"
LANGUAGE_ENGLISH_QWERTZ -> "${getString(R.string.translation_english)} (QWERTZ)"

View File

@@ -57,6 +57,7 @@ const val LANGUAGE_CENTRAL_KURDISH = 26
const val LANGUAGE_BELARUSIAN_CYRL = 27
const val LANGUAGE_BELARUSIAN_LATN = 28
const val LANGUAGE_KABYLE_AZERTY = 29
const val LANGUAGE_CZECH_QWERTY = 30
// Keep this sorted
val SUPPORTED_LANGUAGES = listOf(
@@ -67,6 +68,7 @@ val SUPPORTED_LANGUAGES = listOf(
LANGUAGE_BULGARIAN,
LANGUAGE_CENTRAL_KURDISH,
LANGUAGE_CHUVASH,
LANGUAGE_CZECH_QWERTY,
LANGUAGE_DANISH,
LANGUAGE_ENGLISH_QWERTY,
LANGUAGE_ENGLISH_QWERTZ,

View File

@@ -445,6 +445,7 @@ class SimpleKeyboardIME : InputMethodService(), OnKeyboardActionListener, Shared
LANGUAGE_BULGARIAN -> R.xml.keys_letters_bulgarian
LANGUAGE_CENTRAL_KURDISH -> R.xml.keys_letters_central_kurdish
LANGUAGE_CHUVASH -> R.xml.keys_letters_chuvash
LANGUAGE_CZECH_QWERTY -> R.xml.keys_letters_czech_qwerty
LANGUAGE_DANISH -> R.xml.keys_letters_danish
LANGUAGE_ENGLISH_DVORAK -> R.xml.keys_letters_english_dvorak
LANGUAGE_ENGLISH_QWERTZ -> R.xml.keys_letters_english_qwertz

View File

@@ -0,0 +1,174 @@
<?xml version="1.0" encoding="utf-8"?>
<Keyboard xmlns:app="http://schemas.android.com/apk/res-auto">
<Row app:isNumbersRow="true">
<Key
app:keyEdgeFlags="left"
app:keyLabel="1"
app:topSmallNumber="1" />
<Key
app:keyLabel="2"
app:topSmallNumber="2" />
<Key
app:keyLabel="3"
app:topSmallNumber="3" />
<Key
app:keyLabel="4"
app:topSmallNumber="4" />
<Key
app:keyLabel="5"
app:topSmallNumber="5" />
<Key
app:keyLabel="6"
app:topSmallNumber="6" />
<Key
app:keyLabel="7"
app:topSmallNumber="7" />
<Key
app:keyLabel="8"
app:topSmallNumber="8" />
<Key
app:keyLabel="9"
app:topSmallNumber="9" />
<Key
app:keyEdgeFlags="right"
app:keyLabel="0"
app:topSmallNumber="0" />
</Row>
<Row>
<Key
app:keyEdgeFlags="left"
app:keyLabel="q"
app:popupCharacters="1"
app:popupKeyboard="@xml/keyboard_popup_template"
app:topSmallNumber="1" />
<Key
app:keyLabel="w"
app:popupCharacters="2"
app:popupKeyboard="@xml/keyboard_popup_template"
app:topSmallNumber="2" />
<Key
app:keyLabel="e"
app:popupCharacters="éě3"
app:popupKeyboard="@xml/keyboard_popup_template"
app:topSmallNumber="3" />
<Key
app:keyLabel="r"
app:popupCharacters="ř4"
app:popupKeyboard="@xml/keyboard_popup_template"
app:topSmallNumber="4" />
<Key
app:keyLabel="t"
app:popupCharacters="ť5"
app:popupKeyboard="@xml/keyboard_popup_template"
app:topSmallNumber="5" />
<Key
app:keyLabel="y"
app:popupCharacters="ý6"
app:popupKeyboard="@xml/keyboard_popup_template"
app:topSmallNumber="6" />
<Key
app:keyLabel="u"
app:popupCharacters="úů7"
app:popupKeyboard="@xml/keyboard_popup_template"
app:topSmallNumber="7" />
<Key
app:keyLabel="i"
app:popupCharacters="í8"
app:popupKeyboard="@xml/keyboard_popup_template"
app:topSmallNumber="8" />
<Key
app:keyLabel="o"
app:popupCharacters="ó9"
app:popupKeyboard="@xml/keyboard_popup_template"
app:topSmallNumber="9" />
<Key
app:keyEdgeFlags="right"
app:keyLabel="p"
app:popupCharacters="0"
app:popupKeyboard="@xml/keyboard_popup_template"
app:topSmallNumber="0" />
</Row>
<Row>
<Key
app:horizontalGap="5%"
app:keyEdgeFlags="left"
app:keyLabel="a"
app:popupCharacters="á"
app:popupKeyboard="@xml/keyboard_popup_template" />
<Key
app:keyLabel="s"
app:popupCharacters="š"
app:popupKeyboard="@xml/keyboard_popup_template" />
<Key
app:keyLabel="d"
app:popupCharacters="ď"
app:popupKeyboard="@xml/keyboard_popup_template" />
<Key app:keyLabel="f" />
<Key app:keyLabel="g" />
<Key app:keyLabel="h" />
<Key app:keyLabel="j" />
<Key app:keyLabel="k" />
<Key
app:keyEdgeFlags="right"
app:keyLabel="l" />
</Row>
<Row>
<Key
app:code="-1"
app:keyEdgeFlags="left"
app:keyIcon="@drawable/ic_caps_outline_vector"
app:keyWidth="15%p" />
<Key
app:keyLabel="z"
app:popupCharacters="ž"
app:popupKeyboard="@xml/keyboard_popup_template" />
<Key app:keyLabel="x" />
<Key
app:keyLabel="c"
app:popupCharacters="č"
app:popupKeyboard="@xml/keyboard_popup_template" />
<Key app:keyLabel="v" />
<Key app:keyLabel="b" />
<Key
app:keyLabel="n"
app:popupCharacters="ň"
app:popupKeyboard="@xml/keyboard_popup_template" />
<Key app:keyLabel="m" />
<Key
app:code="-5"
app:isRepeatable="true"
app:keyEdgeFlags="right"
app:keyIcon="@drawable/ic_clear_vector"
app:keyWidth="15%p" />
</Row>
<Row>
<Key
app:code="-2"
app:keyEdgeFlags="left"
app:keyLabel="\?123"
app:keyWidth="15%p" />
<Key
app:keyLabel=","
app:keyWidth="10%p" />
<Key
app:code="-6"
app:keyEdgeFlags="left"
app:keyIcon="@drawable/ic_emoji_emotions_outline_vector"
app:secondaryKeyIcon="@drawable/ic_language_outlined"
app:keyWidth="10%p" />
<Key
app:code="32"
app:isRepeatable="true"
app:keyWidth="40%p" />
<Key
app:keyLabel="."
app:popupCharacters=",?!;:…"
app:popupKeyboard="@xml/keyboard_popup_template"
app:keyWidth="10%p" />
<Key
app:code="-4"
app:keyEdgeFlags="right"
app:keyIcon="@drawable/ic_enter_vector"
app:keyWidth="15%p" />
</Row>
</Keyboard>