diff --git a/app/src/main/java/com/dessalines/thumbkey/keyboards/FAThumbKey.kt b/app/src/main/java/com/dessalines/thumbkey/keyboards/FAThumbKey.kt index bd066925..d5597f8b 100644 --- a/app/src/main/java/com/dessalines/thumbkey/keyboards/FAThumbKey.kt +++ b/app/src/main/java/com/dessalines/thumbkey/keyboards/FAThumbKey.kt @@ -74,10 +74,6 @@ val KB_FA_THUMBKEY_MAIN = KeyboardC( display = KeyDisplay.TextDisplay("ع"), action = KeyAction.CommitText("ع"), ), - SwipeDirection.LEFT to KeyC( - display = KeyDisplay.TextDisplay("ؤ"), - action = KeyAction.CommitText("ؤ"), - ), ), ), EMOJI_KEY_ITEM, @@ -184,11 +180,6 @@ val KB_FA_THUMBKEY_MAIN = KeyboardC( display = KeyDisplay.TextDisplay("ث"), action = KeyAction.CommitText("ث"), ), - SwipeDirection.BOTTOM to KeyC( - display = KeyDisplay.TextDisplay("،"), - action = KeyAction.CommitText("،"), - color = ColorVariant.MUTED, - ), ), ), KeyItemC( @@ -218,16 +209,16 @@ val KB_FA_THUMBKEY_MAIN = KeyboardC( 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, ), + SwipeDirection.BOTTOM_LEFT to KeyC( + display = KeyDisplay.TextDisplay("*"), + action = KeyAction.CommitText("*"), + color = ColorVariant.MUTED, + ), ), ), KeyItemC( @@ -246,6 +237,10 @@ val KB_FA_THUMBKEY_MAIN = KeyboardC( display = KeyDisplay.TextDisplay("ظ"), action = KeyAction.CommitText("ظ"), ), + SwipeDirection.LEFT to KeyC( + display = KeyDisplay.TextDisplay("ۀ"), + action = KeyAction.CommitText("ۀ"), + ), ), ), BACKSPACE_KEY_ITEM, @@ -262,6 +257,6 @@ val KB_FA_THUMBKEY: KeyboardDefinition = KeyboardDefinition( modes = KeyboardDefinitionModes( main = KB_FA_THUMBKEY_MAIN, shifted = KB_FA_THUMBKEY_MAIN, - numeric = NUMERIC_KEYBOARD, + numeric = FARSI_NUMERIC_KEYBOARD, ), ) diff --git a/app/src/main/java/com/dessalines/thumbkey/keyboards/FarsiNumeric.kt b/app/src/main/java/com/dessalines/thumbkey/keyboards/FarsiNumeric.kt new file mode 100644 index 00000000..1f33a293 --- /dev/null +++ b/app/src/main/java/com/dessalines/thumbkey/keyboards/FarsiNumeric.kt @@ -0,0 +1,283 @@ +package com.dessalines.thumbkey.keyboards + +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.outlined.Abc +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.SwipeDirection + +val FARSI_NUMERIC_KEYBOARD = KeyboardC( + listOf( + listOf( + KeyItemC( + center = KeyC( + display = KeyDisplay.TextDisplay("۱"), + action = KeyAction.CommitText("۱"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipes = mapOf( + SwipeDirection.BOTTOM_LEFT 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_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, + ), + swipes = mapOf( + SwipeDirection.LEFT 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("="), + ), + ), + ), + EMOJI_KEY_ITEM, + ), + listOf( + 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_RIGHT to KeyC( + display = KeyDisplay.TextDisplay("٪"), + action = KeyAction.CommitText("٪"), + ), + SwipeDirection.BOTTOM_RIGHT 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, + ), + ), + 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_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_LEFT to KeyC( + display = KeyDisplay.TextDisplay("@"), + action = KeyAction.CommitText("@"), + ), + ), + ), + KeyItemC( + center = KeyC( + display = KeyDisplay.IconDisplay(Icons.Outlined.Abc), + action = KeyAction.ToggleNumericMode(false), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + backgroundColor = ColorVariant.SURFACE_VARIANT, + ), + ), + listOf( + 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.BOTTOM_RIGHT 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, + ), + swipes = mapOf( + SwipeDirection.TOP_LEFT to KeyC( + display = KeyDisplay.TextDisplay("\""), + action = KeyAction.CommitText("\""), + ), + SwipeDirection.TOP_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, + ), + swipes = mapOf( + 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_LEFT to KeyC( + display = KeyDisplay.TextDisplay("؛"), + action = KeyAction.CommitText("؛"), + ), + SwipeDirection.LEFT to KeyC( + display = KeyDisplay.TextDisplay("#"), + action = KeyAction.CommitText("#"), + ), + ), + ), + BACKSPACE_KEY_ITEM, + ), + listOf( + KeyItemC( + center = KeyC( + display = KeyDisplay.TextDisplay("۰"), + action = KeyAction.CommitText("۰"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + widthMultiplier = 2, + ), + SPACEBAR_SKINNY_KEY_ITEM, + RETURN_KEY_ITEM, + ), + ), +)