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.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.KeyboardDefinitionSettings import com.dessalines.thumbkey.utils.SwipeDirection import com.dessalines.thumbkey.utils.SwipeNWay import com.dessalines.thumbkey.utils.autoCapitalizeI import com.dessalines.thumbkey.utils.autoCapitalizeIApostrophe val KB_EN_MESSAGEASE_TWO_HANDS_MAIN = KeyboardC( listOf( listOf( 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.BOTTOM_RIGHT to KeyC( display = KeyDisplay.TextDisplay("v"), action = KeyAction.CommitText("v"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("n"), action = KeyAction.CommitText("n"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.TWO_WAY_VERTICAL, swipes = mapOf( SwipeDirection.BOTTOM to KeyC( display = KeyDisplay.TextDisplay("l"), action = KeyAction.CommitText("l"), ), ), ), 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("x"), action = KeyAction.CommitText("x"), ), ), ), EMOJI_KEY_ITEM, 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.BOTTOM_RIGHT to KeyC( display = KeyDisplay.TextDisplay("v"), action = KeyAction.CommitText("v"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("n"), action = KeyAction.CommitText("n"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.TWO_WAY_VERTICAL, swipes = mapOf( SwipeDirection.BOTTOM to KeyC( display = KeyDisplay.TextDisplay("l"), action = KeyAction.CommitText("l"), ), ), ), 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("x"), action = KeyAction.CommitText("x"), ), ), ), ), listOf( KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("h"), action = KeyAction.CommitText("h"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.TWO_WAY_HORIZONTAL, swipes = mapOf( SwipeDirection.RIGHT to KeyC( display = KeyDisplay.TextDisplay("k"), action = KeyAction.CommitText("k"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("o"), action = KeyAction.CommitText("o"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipes = mapOf( SwipeDirection.TOP_LEFT to KeyC( display = KeyDisplay.TextDisplay("q"), action = KeyAction.CommitText("q"), ), SwipeDirection.TOP to KeyC( display = KeyDisplay.TextDisplay("u"), action = KeyAction.CommitText("u"), ), SwipeDirection.TOP_RIGHT to KeyC( display = KeyDisplay.TextDisplay("p"), action = KeyAction.CommitText("p"), ), SwipeDirection.RIGHT to KeyC( display = KeyDisplay.TextDisplay("b"), action = KeyAction.CommitText("b"), ), SwipeDirection.BOTTOM_RIGHT to KeyC( display = KeyDisplay.TextDisplay("j"), action = KeyAction.CommitText("j"), ), SwipeDirection.BOTTOM to KeyC( display = KeyDisplay.TextDisplay("d"), action = KeyAction.CommitText("d"), ), SwipeDirection.BOTTOM_LEFT to KeyC( display = KeyDisplay.TextDisplay("g"), action = KeyAction.CommitText("g"), ), SwipeDirection.LEFT to KeyC( display = KeyDisplay.TextDisplay("c"), action = KeyAction.CommitText("c"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("r"), action = KeyAction.CommitText("r"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.FOUR_WAY_CROSS, swipes = mapOf( SwipeDirection.LEFT to KeyC( display = KeyDisplay.TextDisplay("m"), action = KeyAction.CommitText("m"), ), SwipeDirection.TOP to KeyC( display = KeyDisplay.IconDisplay(Icons.Outlined.ArrowDropUp), action = KeyAction.ToggleShiftMode(true), color = ColorVariant.MUTED, ), ), ), NUMERIC_KEY_ITEM, KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("h"), action = KeyAction.CommitText("h"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.TWO_WAY_HORIZONTAL, swipes = mapOf( SwipeDirection.RIGHT to KeyC( display = KeyDisplay.TextDisplay("k"), action = KeyAction.CommitText("k"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("o"), action = KeyAction.CommitText("o"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipes = mapOf( SwipeDirection.TOP_LEFT to KeyC( display = KeyDisplay.TextDisplay("q"), action = KeyAction.CommitText("q"), ), SwipeDirection.TOP to KeyC( display = KeyDisplay.TextDisplay("u"), action = KeyAction.CommitText("u"), ), SwipeDirection.TOP_RIGHT to KeyC( display = KeyDisplay.TextDisplay("p"), action = KeyAction.CommitText("p"), ), SwipeDirection.RIGHT to KeyC( display = KeyDisplay.TextDisplay("b"), action = KeyAction.CommitText("b"), ), SwipeDirection.BOTTOM_RIGHT to KeyC( display = KeyDisplay.TextDisplay("j"), action = KeyAction.CommitText("j"), ), SwipeDirection.BOTTOM to KeyC( display = KeyDisplay.TextDisplay("d"), action = KeyAction.CommitText("d"), ), SwipeDirection.BOTTOM_LEFT to KeyC( display = KeyDisplay.TextDisplay("g"), action = KeyAction.CommitText("g"), ), SwipeDirection.LEFT to KeyC( display = KeyDisplay.TextDisplay("c"), action = KeyAction.CommitText("c"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("r"), action = KeyAction.CommitText("r"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.FOUR_WAY_CROSS, swipes = mapOf( SwipeDirection.LEFT to KeyC( display = KeyDisplay.TextDisplay("m"), action = KeyAction.CommitText("m"), ), SwipeDirection.TOP to KeyC( display = KeyDisplay.IconDisplay(Icons.Outlined.ArrowDropUp), action = KeyAction.ToggleShiftMode(true), color = ColorVariant.MUTED, ), ), ), ), listOf( KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("t"), action = KeyAction.CommitText("t"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, swipes = mapOf( SwipeDirection.TOP_RIGHT to KeyC( display = KeyDisplay.TextDisplay("y"), action = KeyAction.CommitText("y"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("e"), action = KeyAction.CommitText("e"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipes = mapOf( SwipeDirection.TOP to KeyC( display = KeyDisplay.TextDisplay("w"), action = KeyAction.CommitText("w"), ), SwipeDirection.TOP_RIGHT to KeyC( display = KeyDisplay.TextDisplay("'"), action = KeyAction.CommitText("'"), color = ColorVariant.MUTED, ), SwipeDirection.RIGHT to KeyC( display = KeyDisplay.TextDisplay("z"), action = KeyAction.CommitText("z"), ), 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("s"), action = KeyAction.CommitText("s"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, swipes = mapOf( SwipeDirection.TOP_LEFT to KeyC( display = KeyDisplay.TextDisplay("f"), action = KeyAction.CommitText("f"), ), ), ), BACKSPACE_KEY_ITEM, KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("t"), action = KeyAction.CommitText("t"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, swipes = mapOf( SwipeDirection.TOP_RIGHT to KeyC( display = KeyDisplay.TextDisplay("y"), action = KeyAction.CommitText("y"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("e"), action = KeyAction.CommitText("e"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipes = mapOf( SwipeDirection.TOP to KeyC( display = KeyDisplay.TextDisplay("w"), action = KeyAction.CommitText("w"), ), SwipeDirection.TOP_RIGHT to KeyC( display = KeyDisplay.TextDisplay("'"), action = KeyAction.CommitText("'"), color = ColorVariant.MUTED, ), SwipeDirection.RIGHT to KeyC( display = KeyDisplay.TextDisplay("z"), action = KeyAction.CommitText("z"), ), 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("s"), action = KeyAction.CommitText("s"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, swipes = mapOf( SwipeDirection.TOP_LEFT to KeyC( display = KeyDisplay.TextDisplay("f"), action = KeyAction.CommitText("f"), ), ), ), ), listOf( RETURN_KEY_ITEM, BACKSPACE_KEY_ITEM, SPACEBAR_KEY_ITEM, BACKSPACE_KEY_ITEM, RETURN_KEY_ITEM, ), ), ) val KB_EN_MESSAGEASE_TWO_HANDS_SHIFTED = KeyboardC( listOf( listOf( 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.BOTTOM_RIGHT to KeyC( display = KeyDisplay.TextDisplay("V"), action = KeyAction.CommitText("V"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("N"), action = KeyAction.CommitText("N"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.TWO_WAY_VERTICAL, swipes = mapOf( SwipeDirection.BOTTOM to KeyC( display = KeyDisplay.TextDisplay("L"), action = KeyAction.CommitText("L"), ), ), ), 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("X"), action = KeyAction.CommitText("X"), ), ), ), EMOJI_KEY_ITEM, 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.BOTTOM_RIGHT to KeyC( display = KeyDisplay.TextDisplay("V"), action = KeyAction.CommitText("V"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("N"), action = KeyAction.CommitText("N"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.TWO_WAY_VERTICAL, swipes = mapOf( SwipeDirection.BOTTOM to KeyC( display = KeyDisplay.TextDisplay("L"), action = KeyAction.CommitText("L"), ), ), ), 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("X"), action = KeyAction.CommitText("X"), ), ), ), ), listOf( KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("H"), action = KeyAction.CommitText("H"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.TWO_WAY_HORIZONTAL, swipes = mapOf( SwipeDirection.RIGHT to KeyC( display = KeyDisplay.TextDisplay("K"), action = KeyAction.CommitText("K"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("O"), action = KeyAction.CommitText("O"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipes = mapOf( SwipeDirection.TOP_LEFT to KeyC( display = KeyDisplay.TextDisplay("Q"), action = KeyAction.CommitText("Q"), ), SwipeDirection.TOP to KeyC( display = KeyDisplay.TextDisplay("U"), action = KeyAction.CommitText("U"), ), SwipeDirection.TOP_RIGHT to KeyC( display = KeyDisplay.TextDisplay("P"), action = KeyAction.CommitText("P"), ), SwipeDirection.RIGHT to KeyC( display = KeyDisplay.TextDisplay("B"), action = KeyAction.CommitText("B"), ), SwipeDirection.BOTTOM_RIGHT to KeyC( display = KeyDisplay.TextDisplay("J"), action = KeyAction.CommitText("J"), ), SwipeDirection.BOTTOM to KeyC( display = KeyDisplay.TextDisplay("D"), action = KeyAction.CommitText("D"), ), SwipeDirection.BOTTOM_LEFT to KeyC( display = KeyDisplay.TextDisplay("G"), action = KeyAction.CommitText("G"), ), SwipeDirection.LEFT to KeyC( display = KeyDisplay.TextDisplay("C"), action = KeyAction.CommitText("C"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("R"), action = KeyAction.CommitText("R"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.FOUR_WAY_CROSS, swipes = mapOf( SwipeDirection.LEFT to KeyC( display = KeyDisplay.TextDisplay("M"), action = KeyAction.CommitText("M"), ), 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, ), ), ), NUMERIC_KEY_ITEM, KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("H"), action = KeyAction.CommitText("H"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.TWO_WAY_HORIZONTAL, swipes = mapOf( SwipeDirection.RIGHT to KeyC( display = KeyDisplay.TextDisplay("K"), action = KeyAction.CommitText("K"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("O"), action = KeyAction.CommitText("O"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipes = mapOf( SwipeDirection.TOP_LEFT to KeyC( display = KeyDisplay.TextDisplay("Q"), action = KeyAction.CommitText("Q"), ), SwipeDirection.TOP to KeyC( display = KeyDisplay.TextDisplay("U"), action = KeyAction.CommitText("U"), ), SwipeDirection.TOP_RIGHT to KeyC( display = KeyDisplay.TextDisplay("P"), action = KeyAction.CommitText("P"), ), SwipeDirection.RIGHT to KeyC( display = KeyDisplay.TextDisplay("B"), action = KeyAction.CommitText("B"), ), SwipeDirection.BOTTOM_RIGHT to KeyC( display = KeyDisplay.TextDisplay("J"), action = KeyAction.CommitText("J"), ), SwipeDirection.BOTTOM to KeyC( display = KeyDisplay.TextDisplay("D"), action = KeyAction.CommitText("D"), ), SwipeDirection.BOTTOM_LEFT to KeyC( display = KeyDisplay.TextDisplay("G"), action = KeyAction.CommitText("G"), ), SwipeDirection.LEFT to KeyC( display = KeyDisplay.TextDisplay("C"), action = KeyAction.CommitText("C"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("R"), action = KeyAction.CommitText("R"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.FOUR_WAY_CROSS, swipes = mapOf( SwipeDirection.LEFT to KeyC( display = KeyDisplay.TextDisplay("M"), action = KeyAction.CommitText("M"), ), 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, ), ), ), ), listOf( KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("T"), action = KeyAction.CommitText("T"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, swipes = mapOf( SwipeDirection.TOP_RIGHT to KeyC( display = KeyDisplay.TextDisplay("Y"), action = KeyAction.CommitText("Y"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("E"), action = KeyAction.CommitText("E"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipes = mapOf( SwipeDirection.TOP to KeyC( display = KeyDisplay.TextDisplay("W"), action = KeyAction.CommitText("W"), ), SwipeDirection.TOP_RIGHT to KeyC( display = KeyDisplay.TextDisplay("'"), action = KeyAction.CommitText("'"), color = ColorVariant.MUTED, ), SwipeDirection.RIGHT to KeyC( display = KeyDisplay.TextDisplay("Z"), action = KeyAction.CommitText("Z"), ), 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("S"), action = KeyAction.CommitText("S"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, swipes = mapOf( SwipeDirection.TOP_LEFT to KeyC( display = KeyDisplay.TextDisplay("F"), action = KeyAction.CommitText("F"), ), ), ), BACKSPACE_KEY_ITEM, KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("T"), action = KeyAction.CommitText("T"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, swipes = mapOf( SwipeDirection.TOP_RIGHT to KeyC( display = KeyDisplay.TextDisplay("Y"), action = KeyAction.CommitText("Y"), ), ), ), KeyItemC( center = KeyC( display = KeyDisplay.TextDisplay("E"), action = KeyAction.CommitText("E"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipes = mapOf( SwipeDirection.TOP to KeyC( display = KeyDisplay.TextDisplay("W"), action = KeyAction.CommitText("W"), ), SwipeDirection.TOP_RIGHT to KeyC( display = KeyDisplay.TextDisplay("'"), action = KeyAction.CommitText("'"), color = ColorVariant.MUTED, ), SwipeDirection.RIGHT to KeyC( display = KeyDisplay.TextDisplay("Z"), action = KeyAction.CommitText("Z"), ), 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("S"), action = KeyAction.CommitText("S"), size = FontSizeVariant.LARGE, color = ColorVariant.PRIMARY, ), swipeType = SwipeNWay.FOUR_WAY_DIAGONAL, swipes = mapOf( SwipeDirection.TOP_LEFT to KeyC( display = KeyDisplay.TextDisplay("F"), action = KeyAction.CommitText("F"), ), ), ), ), listOf( RETURN_KEY_ITEM, BACKSPACE_KEY_ITEM, SPACEBAR_KEY_ITEM, BACKSPACE_KEY_ITEM, RETURN_KEY_ITEM, ), ), ) val KB_EN_MESSAGEASE_TWO_HANDS: KeyboardDefinition = KeyboardDefinition( title = "english messagease two-hands", modes = KeyboardDefinitionModes( main = KB_EN_MESSAGEASE_TWO_HANDS_MAIN, shifted = KB_EN_MESSAGEASE_TWO_HANDS_SHIFTED, numeric = KB_EN_MESSAGEASE_TWO_HANDS_NUMERIC, ), KeyboardDefinitionSettings( autoCapitalizers = arrayOf(::autoCapitalizeI, ::autoCapitalizeIApostrophe), ), )