From 45941f42116c3e5175c03f09ecce3c26da8dd85b Mon Sep 17 00:00:00 2001 From: gvalson Date: Tue, 23 May 2023 21:37:39 +0400 Subject: [PATCH 1/2] Add Georgian keyboard layout Based on http://simia.net/letters/ --- .../thumbkey/keyboards/ThumbKeyKAv1.kt | 269 ++++++++++++++++++ 1 file changed, 269 insertions(+) create mode 100644 app/src/main/java/com/dessalines/thumbkey/keyboards/ThumbKeyKAv1.kt diff --git a/app/src/main/java/com/dessalines/thumbkey/keyboards/ThumbKeyKAv1.kt b/app/src/main/java/com/dessalines/thumbkey/keyboards/ThumbKeyKAv1.kt new file mode 100644 index 00000000..8d8d84b2 --- /dev/null +++ b/app/src/main/java/com/dessalines/thumbkey/keyboards/ThumbKeyKAv1.kt @@ -0,0 +1,269 @@ +package com.dessalines.thumbkey.keyboards + +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.ArrowDropDown +import androidx.compose.material.icons.outlined.ArrowDropUp +import com.dessalines.thumbkey.utils.ColorVariant +import com.dessalines.thumbkey.utils.FontSizeVariant +import com.dessalines.thumbkey.utils.KeyAction +import com.dessalines.thumbkey.utils.KeyC +import com.dessalines.thumbkey.utils.KeyDisplay +import com.dessalines.thumbkey.utils.KeyItemC +import com.dessalines.thumbkey.utils.KeyboardC +import com.dessalines.thumbkey.utils.KeyboardMode +import com.dessalines.thumbkey.utils.SwipeDirection +import com.dessalines.thumbkey.utils.SwipeNWay + +val THUMBKEY_KA_V1_MAIN = KeyboardC( + listOf( + listOf( + KeyItemC( + center = KeyC( + display = KeyDisplay.TextDisplay("მ"), + action = KeyAction.CommitText("მ"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipes = mapOf( + SwipeDirection.RIGHT to KeyC( + display = KeyDisplay.TextDisplay("ხ"), + action = KeyAction.CommitText("ხ"), + ), + SwipeDirection.BOTTOM_RIGHT to KeyC( + display = KeyDisplay.TextDisplay("ვ"), + action = KeyAction.CommitText("ვ"), + ), + SwipeDirection.BOTTOM to KeyC( + display = KeyDisplay.TextDisplay("ც"), + action = KeyAction.CommitText("ც"), + ), + ), + ), + KeyItemC( + center = KeyC( + display = KeyDisplay.TextDisplay("ბ"), + action = KeyAction.CommitText("ბ"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.TWO_WAY_VERTICAL, + swipes = mapOf( + SwipeDirection.BOTTOM to KeyC( + display = KeyDisplay.TextDisplay("ლ"), + action = KeyAction.CommitText("ლ"), + ), + ), + ), + KeyItemC( + center = KeyC( + display = KeyDisplay.TextDisplay("ე"), + action = KeyAction.CommitText("ე"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, + swipes = mapOf( + SwipeDirection.BOTTOM_LEFT to KeyC( + display = KeyDisplay.TextDisplay("გ"), + action = KeyAction.CommitText("გ"), + ), + SwipeDirection.BOTTOM_RIGHT to KeyC( + display = KeyDisplay.TextDisplay("ჰ"), + action = KeyAction.CommitText("ჰ"), + ) + ), + ), + SETTINGS_KEY_ITEM, + ), + listOf( + KeyItemC( + center = KeyC( + display = KeyDisplay.TextDisplay("ს"), + action = KeyAction.CommitText("ს"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_CROSS, + swipes = mapOf( + SwipeDirection.RIGHT to KeyC( + display = KeyDisplay.TextDisplay("თ"), + action = KeyAction.CommitText("თ"), + ), + SwipeDirection.BOTTOM to KeyC( + display = KeyDisplay.TextDisplay("ნ"), + action = KeyAction.CommitText("ნ"), + ), + ), + ), + KeyItemC( + center = KeyC( + display = KeyDisplay.TextDisplay("დ"), + action = KeyAction.CommitText("დ"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipes = mapOf( + SwipeDirection.TOP_LEFT to KeyC( + display = KeyDisplay.TextDisplay("ძ"), + action = KeyAction.CommitText("ძ"), + ), + SwipeDirection.TOP to KeyC( + display = KeyDisplay.TextDisplay("ჩ"), + action = KeyAction.CommitText("ჩ"), + ), + SwipeDirection.TOP_RIGHT to KeyC( + display = KeyDisplay.TextDisplay("ღ"), + action = KeyAction.CommitText("ღ"), + ), + SwipeDirection.RIGHT to KeyC( + display = KeyDisplay.TextDisplay("პ"), + action = KeyAction.CommitText("პ"), + ), + SwipeDirection.BOTTOM_RIGHT to KeyC( + display = KeyDisplay.TextDisplay("ქ"), + action = KeyAction.CommitText("ქ"), + ), + SwipeDirection.BOTTOM to KeyC( + display = KeyDisplay.TextDisplay("ფ"), + action = KeyAction.CommitText("ფ"), + ), + SwipeDirection.BOTTOM_LEFT to KeyC( + display = KeyDisplay.TextDisplay("ყ"), + action = KeyAction.CommitText("ყ"), + ), + SwipeDirection.LEFT to KeyC( + display = KeyDisplay.TextDisplay("ზ"), + action = KeyAction.CommitText("ზ"), + ), + ), + ), + KeyItemC( + center = KeyC( + display = KeyDisplay.TextDisplay("ი"), + action = KeyAction.CommitText("ი"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_CROSS, + swipes = mapOf( + SwipeDirection.LEFT to KeyC( + display = KeyDisplay.TextDisplay("კ"), + action = KeyAction.CommitText("კ"), + ), + SwipeDirection.TOP to KeyC( + display = KeyDisplay.IconDisplay(Icons.Outlined.ArrowDropUp), + action = KeyAction.ToggleShiftMode(true), + color = ColorVariant.MUTED, + ), + SwipeDirection.BOTTOM to KeyC( + display = KeyDisplay.IconDisplay(Icons.Outlined.ArrowDropDown), + action = KeyAction.ToggleShiftMode(false), + color = ColorVariant.MUTED, + ), + ), + ), + NUMERIC_KEY_ITEM, + ), + listOf( + KeyItemC( + center = KeyC( + display = KeyDisplay.TextDisplay("რ"), + action = KeyAction.CommitText("რ"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipes = mapOf( + SwipeDirection.TOP_RIGHT to KeyC( + display = KeyDisplay.TextDisplay("წ"), + action = KeyAction.CommitText("წ"), + ), + SwipeDirection.TOP to KeyC( + display = KeyDisplay.TextDisplay("შ"), + action = KeyAction.CommitText("შ"), + ), + SwipeDirection.RIGHT to KeyC( + display = KeyDisplay.TextDisplay("ჟ"), + action = KeyAction.CommitText("ჟ"), + ), + ), + ), + KeyItemC( + center = KeyC( + display = KeyDisplay.TextDisplay("ო"), + action = KeyAction.CommitText("ო"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipes = mapOf( + SwipeDirection.TOP to KeyC( + display = KeyDisplay.TextDisplay("ტ"), + action = KeyAction.CommitText("ტ"), + ), + SwipeDirection.RIGHT to KeyC( + display = KeyDisplay.TextDisplay("ჯ"), + action = KeyAction.CommitText("ჯ"), + ), + SwipeDirection.TOP_LEFT to KeyC( + display = KeyDisplay.TextDisplay("\""), + action = KeyAction.CommitText("\""), + color = ColorVariant.MUTED, + ), + SwipeDirection.TOP_RIGHT to KeyC( + display = KeyDisplay.TextDisplay("'"), + action = KeyAction.CommitText("'"), + color = ColorVariant.MUTED, + ), + SwipeDirection.BOTTOM_RIGHT to KeyC( + display = KeyDisplay.TextDisplay("-"), + action = KeyAction.CommitText("-"), + color = ColorVariant.MUTED, + ), + SwipeDirection.BOTTOM to KeyC( + display = KeyDisplay.TextDisplay("."), + action = KeyAction.CommitText("."), + color = ColorVariant.MUTED, + ), + SwipeDirection.BOTTOM_LEFT to KeyC( + display = KeyDisplay.TextDisplay("*"), + action = KeyAction.CommitText("*"), + color = ColorVariant.MUTED, + ), + SwipeDirection.LEFT to KeyC( + display = KeyDisplay.TextDisplay(","), + action = KeyAction.CommitText(","), + color = ColorVariant.MUTED, + ), + ), + ), + KeyItemC( + center = KeyC( + display = KeyDisplay.TextDisplay("ა"), + action = KeyAction.CommitText("ა"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipes = mapOf( + SwipeDirection.TOP_LEFT to KeyC( + display = KeyDisplay.TextDisplay("უ"), + action = KeyAction.CommitText("უ"), + ), + SwipeDirection.TOP to KeyC( + display = KeyDisplay.TextDisplay("ჭ"), + action = KeyAction.CommitText("ჭ"), + ), + ), + ), + BACKSPACE_KEY_ITEM, + ), + listOf( + SPACEBAR_KEY_ITEM, + RETURN_KEY_ITEM + ) + ) +) + +val THUMBKEY_KA_V1_KEYBOARD_MODES: Map = mapOf( + KeyboardMode.MAIN to THUMBKEY_KA_V1_MAIN, + KeyboardMode.SHIFTED to THUMBKEY_KA_V1_MAIN, + KeyboardMode.NUMERIC to NUMERIC_KEYBOARD +) From f9e189cb4add2c59401e8448ee049209b9670337 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Thu, 25 May 2023 10:03:55 -0400 Subject: [PATCH 2/2] Finishing adding georgian keyboard. --- .../thumbkey/keyboards/ThumbKeyKAv1.kt | 23 ++++--------------- .../com/dessalines/thumbkey/utils/Types.kt | 1 + .../com/dessalines/thumbkey/utils/Utils.kt | 2 ++ 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/dessalines/thumbkey/keyboards/ThumbKeyKAv1.kt b/app/src/main/java/com/dessalines/thumbkey/keyboards/ThumbKeyKAv1.kt index 8d8d84b2..f250d7b1 100644 --- a/app/src/main/java/com/dessalines/thumbkey/keyboards/ThumbKeyKAv1.kt +++ b/app/src/main/java/com/dessalines/thumbkey/keyboards/ThumbKeyKAv1.kt @@ -1,8 +1,5 @@ package com.dessalines.thumbkey.keyboards -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.outlined.ArrowDropDown -import androidx.compose.material.icons.outlined.ArrowDropUp import com.dessalines.thumbkey.utils.ColorVariant import com.dessalines.thumbkey.utils.FontSizeVariant import com.dessalines.thumbkey.utils.KeyAction @@ -70,7 +67,7 @@ val THUMBKEY_KA_V1_MAIN = KeyboardC( SwipeDirection.BOTTOM_RIGHT to KeyC( display = KeyDisplay.TextDisplay("ჰ"), action = KeyAction.CommitText("ჰ"), - ) + ), ), ), SETTINGS_KEY_ITEM, @@ -150,16 +147,6 @@ val THUMBKEY_KA_V1_MAIN = KeyboardC( display = KeyDisplay.TextDisplay("კ"), action = KeyAction.CommitText("კ"), ), - SwipeDirection.TOP to KeyC( - display = KeyDisplay.IconDisplay(Icons.Outlined.ArrowDropUp), - action = KeyAction.ToggleShiftMode(true), - color = ColorVariant.MUTED, - ), - SwipeDirection.BOTTOM to KeyC( - display = KeyDisplay.IconDisplay(Icons.Outlined.ArrowDropDown), - action = KeyAction.ToggleShiftMode(false), - color = ColorVariant.MUTED, - ), ), ), NUMERIC_KEY_ITEM, @@ -257,13 +244,13 @@ val THUMBKEY_KA_V1_MAIN = KeyboardC( ), listOf( SPACEBAR_KEY_ITEM, - RETURN_KEY_ITEM - ) - ) + RETURN_KEY_ITEM, + ), + ), ) val THUMBKEY_KA_V1_KEYBOARD_MODES: Map = mapOf( KeyboardMode.MAIN to THUMBKEY_KA_V1_MAIN, KeyboardMode.SHIFTED to THUMBKEY_KA_V1_MAIN, - KeyboardMode.NUMERIC to NUMERIC_KEYBOARD + KeyboardMode.NUMERIC to NUMERIC_KEYBOARD, ) diff --git a/app/src/main/java/com/dessalines/thumbkey/utils/Types.kt b/app/src/main/java/com/dessalines/thumbkey/utils/Types.kt index d640f903..551ebd68 100644 --- a/app/src/main/java/com/dessalines/thumbkey/utils/Types.kt +++ b/app/src/main/java/com/dessalines/thumbkey/utils/Types.kt @@ -117,6 +117,7 @@ enum class KeyboardLayout(val title: String, val index: Int) { MessageEaseDE("MessageEase Deutsch", 23), ThumbKeyNOv1("Thumb-Key norsk", 24), ThumbKeyDEv2MultiLingual("Thumb-Key Deutsch v2 Multilingual", 25), + ThumbKeyKAv1("Thumb-Key kartuli ena", 26), } enum class KeyboardPosition(private val stringId: Int) { diff --git a/app/src/main/java/com/dessalines/thumbkey/utils/Utils.kt b/app/src/main/java/com/dessalines/thumbkey/utils/Utils.kt index 2e253cf3..eb83f7f6 100644 --- a/app/src/main/java/com/dessalines/thumbkey/utils/Utils.kt +++ b/app/src/main/java/com/dessalines/thumbkey/utils/Utils.kt @@ -50,6 +50,7 @@ import com.dessalines.thumbkey.keyboards.THUMBKEY_FI_V1_KEYBOARD_MODES import com.dessalines.thumbkey.keyboards.THUMBKEY_FI_V1_WIDE_KEYBOARD_MODES import com.dessalines.thumbkey.keyboards.THUMBKEY_FR_V1_KEYBOARD_MODES import com.dessalines.thumbkey.keyboards.THUMBKEY_IT_V1_KEYBOARD_MODES +import com.dessalines.thumbkey.keyboards.THUMBKEY_KA_V1_KEYBOARD_MODES import com.dessalines.thumbkey.keyboards.THUMBKEY_NL_V1_KEYBOARD_MODES import com.dessalines.thumbkey.keyboards.THUMBKEY_NO_V1_KEYBOARD_MODES import com.dessalines.thumbkey.keyboards.THUMBKEY_PL_V2_KEYBOARD_MODES @@ -116,6 +117,7 @@ fun keyboardLayoutToModes(layout: KeyboardLayout): Map KeyboardLayout.MessageEaseDE -> MESSAGEEASE_DE_KEYBOARD_MODES KeyboardLayout.ThumbKeyNOv1 -> THUMBKEY_NO_V1_KEYBOARD_MODES KeyboardLayout.ThumbKeyDEv2MultiLingual -> THUMBKEY_DE_V2_MULTILINGUAL_KEYBOARD_MODES + KeyboardLayout.ThumbKeyKAv1 -> THUMBKEY_KA_V1_KEYBOARD_MODES } }