diff --git a/app/src/keyboards/AndroidManifest.xml b/app/src/keyboards/AndroidManifest.xml index 1fa97244..7047da2c 100644 --- a/app/src/keyboards/AndroidManifest.xml +++ b/app/src/keyboards/AndroidManifest.xml @@ -41,6 +41,19 @@ android:name="android.view.im" android:resource="@xml/method_german" /> + + + + + + + R.xml.keys_letters_greek_tablet + isPeriodAndCommaEnabled() -> R.xml.keys_letters_greek + else -> R.xml.keys_letters_greek_without_period_and_comma + } + + override val defaultConjugateModeType: String = "2x2" + override val defaultConjugateLayoutXML: Int = R.xml.conjugate_view_2x2 + + override val keyboardLetters: Int = 0 + override val keyboardSymbols: Int = 1 + override val keyboardSymbolShift: Int = 2 + + override var lastShiftPressTS: Long = 0L + override var keyboardMode: Int = keyboardLetters + override var inputTypeClass: Int = InputType.TYPE_CLASS_TEXT + override var enterKeyType: Int = IME_ACTION_NONE + override var switchToLetters: Boolean = false + + private val keyHandler by lazy { KeyHandler(this) } + + override fun onKey(code: Int) { + keyHandler.handleKey(code, language) + } +} diff --git a/app/src/main/java/be/scri/models/ScribeLanguage.kt b/app/src/main/java/be/scri/models/ScribeLanguage.kt index 448181a7..939f40fb 100644 --- a/app/src/main/java/be/scri/models/ScribeLanguage.kt +++ b/app/src/main/java/be/scri/models/ScribeLanguage.kt @@ -15,6 +15,7 @@ enum class ScribeLanguage( ENGLISH("English", "EN"), FRENCH("French", "FR"), GERMAN("German", "DE"), + GREEK("Greek", "EL"), ITALIAN("Italian", "IT"), PORTUGUESE("Portuguese", "PT"), RUSSIAN("Russian", "RU"), diff --git a/app/src/main/res/xml/keys_letters_greek.xml b/app/src/main/res/xml/keys_letters_greek.xml new file mode 100644 index 00000000..ff635599 --- /dev/null +++ b/app/src/main/res/xml/keys_letters_greek.xml @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/xml/keys_letters_greek_tablet.xml b/app/src/main/res/xml/keys_letters_greek_tablet.xml new file mode 100644 index 00000000..d38b93f7 --- /dev/null +++ b/app/src/main/res/xml/keys_letters_greek_tablet.xml @@ -0,0 +1,227 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/xml/keys_letters_greek_without_period_and_comma.xml b/app/src/main/res/xml/keys_letters_greek_without_period_and_comma.xml new file mode 100644 index 00000000..0cc416b0 --- /dev/null +++ b/app/src/main/res/xml/keys_letters_greek_without_period_and_comma.xml @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/xml/method_greek.xml b/app/src/main/res/xml/method_greek.xml new file mode 100644 index 00000000..e364213f --- /dev/null +++ b/app/src/main/res/xml/method_greek.xml @@ -0,0 +1,8 @@ + + +