diff --git a/app/src/main/java/com/dessalines/thumbkey/keyboards/EUESThumbKey.kt b/app/src/main/java/com/dessalines/thumbkey/keyboards/EUESThumbKey.kt new file mode 100644 index 00000000..9a4c599e --- /dev/null +++ b/app/src/main/java/com/dessalines/thumbkey/keyboards/EUESThumbKey.kt @@ -0,0 +1,606 @@ +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 androidx.compose.material.icons.outlined.Copyright +import androidx.compose.material.icons.outlined.KeyboardCapslock +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.KeyboardDefinition +import com.dessalines.thumbkey.utils.KeyboardDefinitionModes +import com.dessalines.thumbkey.utils.SwipeDirection +import com.dessalines.thumbkey.utils.SwipeNWay + +val KB_EU_ES_THUMBKEY_MAIN = + KeyboardC( + listOf( + listOf( + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("r"), + action = KeyAction.CommitText("r"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, + swipes = + mapOf( + SwipeDirection.BOTTOM_RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("s"), + action = KeyAction.CommitText("s"), + ), + ), + ), + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("z"), + action = KeyAction.CommitText("z"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.TWO_WAY_VERTICAL, + swipes = + mapOf( + SwipeDirection.BOTTOM to + KeyC( + display = KeyDisplay.TextDisplay("h"), + action = KeyAction.CommitText("h"), + ), + ), + ), + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("i"), + action = KeyAction.CommitText("i"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, + swipes = + mapOf( + SwipeDirection.BOTTOM_LEFT to + KeyC( + display = KeyDisplay.TextDisplay("d"), + action = KeyAction.CommitText("d"), + ), + SwipeDirection.RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("í"), + action = KeyAction.CommitText("í"), + ), + ), + ), + EMOJI_KEY_ITEM, + ), + listOf( + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("t"), + action = KeyAction.CommitText("t"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.TWO_WAY_HORIZONTAL, + swipes = + mapOf( + SwipeDirection.RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("g"), + action = KeyAction.CommitText("g"), + ), + SwipeDirection.LEFT to + KeyC( + display = KeyDisplay.TextDisplay("w"), + action = KeyAction.CommitText("w"), + ), + ), + ), + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("u"), + action = KeyAction.CommitText("u"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipes = + mapOf( + SwipeDirection.TOP_LEFT to + KeyC( + display = KeyDisplay.TextDisplay("c"), + action = KeyAction.CommitText("c"), + ), + SwipeDirection.TOP to + KeyC( + display = KeyDisplay.TextDisplay("m"), + action = KeyAction.CommitText("m"), + ), + SwipeDirection.TOP_RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("j"), + action = KeyAction.CommitText("j"), + ), + SwipeDirection.RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("ú"), + action = KeyAction.CommitText("ú"), + ), + SwipeDirection.BOTTOM_RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("x"), + action = KeyAction.CommitText("x"), + ), + SwipeDirection.BOTTOM to + KeyC( + display = KeyDisplay.TextDisplay("v"), + action = KeyAction.CommitText("v"), + ), + SwipeDirection.BOTTOM_LEFT to + KeyC( + display = KeyDisplay.TextDisplay("y"), + action = KeyAction.CommitText("y"), + ), + SwipeDirection.LEFT to + KeyC( + display = KeyDisplay.TextDisplay("f"), + action = KeyAction.CommitText("f"), + ), + ), + ), + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("e"), + action = KeyAction.CommitText("e"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_CROSS, + swipes = + mapOf( + SwipeDirection.LEFT to + KeyC( + display = KeyDisplay.TextDisplay("b"), + action = KeyAction.CommitText("b"), + ), + SwipeDirection.TOP to + KeyC( + display = KeyDisplay.IconDisplay(Icons.Outlined.ArrowDropUp), + action = KeyAction.ToggleShiftMode(true), + color = ColorVariant.MUTED, + ), + SwipeDirection.RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("é"), + action = KeyAction.CommitText("é"), + ), + ), + ), + NUMERIC_KEY_ITEM, + ), + listOf( + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("n"), + action = KeyAction.CommitText("n"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, + swipes = + mapOf( + SwipeDirection.TOP_RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("l"), + action = KeyAction.CommitText("l"), + ), + SwipeDirection.LEFT to + KeyC( + display = KeyDisplay.TextDisplay("ñ"), + action = KeyAction.CommitText("ñ"), + ), + SwipeDirection.BOTTOM to + KeyC( + display = KeyDisplay.TextDisplay("¡"), + action = KeyAction.CommitText("¡"), + color = ColorVariant.MUTED, + ), + ), + ), + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("o"), + action = KeyAction.CommitText("o"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipes = + mapOf( + SwipeDirection.TOP to + KeyC( + display = KeyDisplay.TextDisplay("p"), + action = KeyAction.CommitText("p"), + ), + SwipeDirection.LEFT to + KeyC( + display = KeyDisplay.TextDisplay("q"), + action = KeyAction.CommitText("q"), + ), + SwipeDirection.RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("ó"), + action = KeyAction.CommitText("ó"), + ), + 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, + ), + ), + ), + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("a"), + action = KeyAction.CommitText("a"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, + swipes = + mapOf( + SwipeDirection.TOP_LEFT to + KeyC( + display = KeyDisplay.TextDisplay("k"), + action = KeyAction.CommitText("k"), + ), + SwipeDirection.RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("á"), + action = KeyAction.CommitText("á"), + ), + SwipeDirection.BOTTOM to + KeyC( + display = KeyDisplay.TextDisplay("¿"), + action = KeyAction.CommitText("¿"), + color = ColorVariant.MUTED, + ), + ), + ), + BACKSPACE_KEY_ITEM, + ), + listOf( + SPACEBAR_KEY_ITEM, + RETURN_KEY_ITEM, + ), + ), + ) + +val KB_EU_ES_THUMBKEY_SHIFTED = + KeyboardC( + listOf( + listOf( + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("R"), + action = KeyAction.CommitText("R"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, + swipes = + mapOf( + SwipeDirection.BOTTOM_RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("S"), + action = KeyAction.CommitText("S"), + ), + ), + ), + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("Z"), + action = KeyAction.CommitText("Z"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.TWO_WAY_VERTICAL, + swipes = + mapOf( + SwipeDirection.BOTTOM to + KeyC( + display = KeyDisplay.TextDisplay("H"), + action = KeyAction.CommitText("H"), + ), + ), + ), + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("I"), + action = KeyAction.CommitText("I"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, + swipes = + mapOf( + SwipeDirection.BOTTOM_LEFT to + KeyC( + display = KeyDisplay.TextDisplay("D"), + action = KeyAction.CommitText("D"), + ), + SwipeDirection.RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("Í"), + action = KeyAction.CommitText("Í"), + ), + ), + ), + EMOJI_KEY_ITEM, + ), + listOf( + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("T"), + action = KeyAction.CommitText("T"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.TWO_WAY_HORIZONTAL, + swipes = + mapOf( + SwipeDirection.RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("G"), + action = KeyAction.CommitText("G"), + ), + SwipeDirection.LEFT to + KeyC( + display = KeyDisplay.TextDisplay("W"), + action = KeyAction.CommitText("W"), + ), + ), + ), + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("U"), + action = KeyAction.CommitText("U"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipes = + mapOf( + SwipeDirection.TOP_LEFT to + KeyC( + display = KeyDisplay.TextDisplay("C"), + action = KeyAction.CommitText("C"), + ), + SwipeDirection.TOP to + KeyC( + display = KeyDisplay.TextDisplay("M"), + action = KeyAction.CommitText("M"), + ), + SwipeDirection.TOP_RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("J"), + action = KeyAction.CommitText("J"), + ), + SwipeDirection.RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("Ú"), + action = KeyAction.CommitText("Ú"), + ), + SwipeDirection.BOTTOM_RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("X"), + action = KeyAction.CommitText("X"), + ), + SwipeDirection.BOTTOM to + KeyC( + display = KeyDisplay.TextDisplay("V"), + action = KeyAction.CommitText("V"), + ), + SwipeDirection.BOTTOM_LEFT to + KeyC( + display = KeyDisplay.TextDisplay("Y"), + action = KeyAction.CommitText("Y"), + ), + SwipeDirection.LEFT to + KeyC( + display = KeyDisplay.TextDisplay("F"), + action = KeyAction.CommitText("F"), + ), + ), + ), + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("E"), + action = KeyAction.CommitText("E"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_CROSS, + swipes = + mapOf( + SwipeDirection.LEFT to + KeyC( + display = KeyDisplay.TextDisplay("B"), + action = KeyAction.CommitText("B"), + ), + SwipeDirection.BOTTOM to + KeyC( + display = KeyDisplay.IconDisplay(Icons.Outlined.ArrowDropDown), + action = KeyAction.ToggleShiftMode(false), + color = ColorVariant.MUTED, + ), + SwipeDirection.TOP to + KeyC( + display = KeyDisplay.IconDisplay(Icons.Outlined.KeyboardCapslock), + capsModeDisplay = KeyDisplay.IconDisplay(Icons.Outlined.Copyright), + action = KeyAction.ToggleCapsLock, + color = ColorVariant.MUTED, + ), + SwipeDirection.RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("É"), + action = KeyAction.CommitText("É"), + ), + ), + ), + NUMERIC_KEY_ITEM, + ), + listOf( + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("N"), + action = KeyAction.CommitText("N"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, + swipes = + mapOf( + SwipeDirection.TOP_RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("L"), + action = KeyAction.CommitText("L"), + ), + SwipeDirection.LEFT to + KeyC( + display = KeyDisplay.TextDisplay("Ñ"), + action = KeyAction.CommitText("Ñ"), + ), + SwipeDirection.BOTTOM to + KeyC( + display = KeyDisplay.TextDisplay("¡"), + action = KeyAction.CommitText("¡"), + color = ColorVariant.MUTED, + ), + ), + ), + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("O"), + action = KeyAction.CommitText("O"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipes = + mapOf( + SwipeDirection.TOP to + KeyC( + display = KeyDisplay.TextDisplay("P"), + action = KeyAction.CommitText("P"), + ), + SwipeDirection.LEFT to + KeyC( + display = KeyDisplay.TextDisplay("Q"), + action = KeyAction.CommitText("Q"), + ), + SwipeDirection.RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("Ó"), + action = KeyAction.CommitText("Ó"), + ), + 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, + ), + ), + ), + KeyItemC( + center = + KeyC( + display = KeyDisplay.TextDisplay("A"), + action = KeyAction.CommitText("A"), + size = FontSizeVariant.LARGE, + color = ColorVariant.PRIMARY, + ), + swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, + swipes = + mapOf( + SwipeDirection.TOP_LEFT to + KeyC( + display = KeyDisplay.TextDisplay("K"), + action = KeyAction.CommitText("K"), + ), + SwipeDirection.RIGHT to + KeyC( + display = KeyDisplay.TextDisplay("Á"), + action = KeyAction.CommitText("Á"), + ), + SwipeDirection.BOTTOM to + KeyC( + display = KeyDisplay.TextDisplay("¿"), + action = KeyAction.CommitText("¿"), + color = ColorVariant.MUTED, + ), + ), + ), + BACKSPACE_KEY_ITEM, + ), + listOf( + SPACEBAR_KEY_ITEM, + RETURN_KEY_ITEM, + ), + ), + ) + +val KB_EU_ES_THUMBKEY: KeyboardDefinition = + KeyboardDefinition( + title = "euskara español thumb-key", + modes = + KeyboardDefinitionModes( + main = KB_EU_ES_THUMBKEY_MAIN, + shifted = KB_EU_ES_THUMBKEY_SHIFTED, + numeric = NUMERIC_KEYBOARD, + ), + ) diff --git a/app/src/main/java/com/dessalines/thumbkey/utils/KeyboardLayout.kt b/app/src/main/java/com/dessalines/thumbkey/utils/KeyboardLayout.kt index cba1f8de..bf9c732f 100644 --- a/app/src/main/java/com/dessalines/thumbkey/utils/KeyboardLayout.kt +++ b/app/src/main/java/com/dessalines/thumbkey/utils/KeyboardLayout.kt @@ -34,6 +34,7 @@ import com.dessalines.thumbkey.keyboards.KB_ES_EO_THUMBKEY import com.dessalines.thumbkey.keyboards.KB_ES_MESSAGEEASE import com.dessalines.thumbkey.keyboards.KB_ES_THUMBKEY import com.dessalines.thumbkey.keyboards.KB_ES_TYPESPLIT +import com.dessalines.thumbkey.keyboards.KB_EU_ES_THUMBKEY import com.dessalines.thumbkey.keyboards.KB_EU_THUMBKEY import com.dessalines.thumbkey.keyboards.KB_FA_THUMBKEY import com.dessalines.thumbkey.keyboards.KB_FI_THUMBKEY @@ -164,4 +165,5 @@ enum class KeyboardLayout(val index: Int, val keyboardDefinition: KeyboardDefini ENTwoHandsSymbolsNumbers(77, KB_EN_TWO_HANDS_SYMBOLS_NUMBERS), JATypeSplitHiragana(78, KB_JA_TYPESPLIT_HIRAGANA), JATypeSplitKatakana(79, KB_JA_TYPESPLIT_KATAKANA), + EUESThumbKey(80, KB_EU_ES_THUMBKEY), }