diff --git a/app/src/main/java/net/mezimmah/wkt9/inputmode/BaseInputMode.kt b/app/src/main/java/net/mezimmah/wkt9/inputmode/BaseInputMode.kt index b7a2c00..b96556d 100644 --- a/app/src/main/java/net/mezimmah/wkt9/inputmode/BaseInputMode.kt +++ b/app/src/main/java/net/mezimmah/wkt9/inputmode/BaseInputMode.kt @@ -40,6 +40,14 @@ open class BaseInputMode: InputMode { return KeyEventResult() } + protected fun commit(text: String, composing: Boolean): KeyEventResult { + return KeyEventResult( + consumed = true, + finishComposing = composing, + commit = text + ) + } + protected open fun commitNumber(key: Key, composing: Boolean): KeyEventResult { val number = KeyLayout.numeric[key] ?: return KeyEventResult(true) diff --git a/app/src/main/java/net/mezimmah/wkt9/inputmode/FNInputMode.kt b/app/src/main/java/net/mezimmah/wkt9/inputmode/FNInputMode.kt index 964dd68..d572bce 100644 --- a/app/src/main/java/net/mezimmah/wkt9/inputmode/FNInputMode.kt +++ b/app/src/main/java/net/mezimmah/wkt9/inputmode/FNInputMode.kt @@ -12,6 +12,7 @@ class FNInputMode: BaseInputMode() { parent = super.keyCommandResolver, onShort = HashMap(mapOf( + Key.N0 to Command.NEWLINE, Key.UP to Command.VOL_UP, Key.DOWN to Command.VOL_DOWN, Key.LEFT to Command.BRIGHTNESS_DOWN, @@ -19,6 +20,7 @@ class FNInputMode: BaseInputMode() { )), onRepeat = HashMap(mapOf( + Key.N0 to Command.NEWLINE, Key.UP to Command.VOL_UP, Key.DOWN to Command.VOL_DOWN, Key.LEFT to Command.BRIGHTNESS_DOWN, @@ -38,10 +40,11 @@ class FNInputMode: BaseInputMode() { override fun onKeyDown(key: Key, composing: Boolean): KeyEventResult { return when(keyCommandResolver.getCommand(key)) { Command.BACK -> KeyEventResult(false) - Command.VOL_UP -> volumeUp() - Command.VOL_DOWN -> volumeDown() Command.BRIGHTNESS_DOWN -> brightnessDown() Command.BRIGHTNESS_UP -> brightnessUp() + Command.NEWLINE -> commit("\n", composing) + Command.VOL_UP -> volumeUp() + Command.VOL_DOWN -> volumeDown() else -> KeyEventResult(true) } } @@ -53,10 +56,11 @@ class FNInputMode: BaseInputMode() { override fun onKeyDownRepeatedly(key: Key, repeat: Int, composing: Boolean): KeyEventResult { return when(keyCommandResolver.getCommand(key, repeat = repeat)) { Command.HOME -> goHome(repeat, composing) - Command.VOL_UP -> volumeUp() - Command.VOL_DOWN -> volumeDown() Command.BRIGHTNESS_DOWN -> brightnessDown() Command.BRIGHTNESS_UP -> brightnessUp() + Command.NEWLINE -> commit("\n", composing) + Command.VOL_UP -> volumeUp() + Command.VOL_DOWN -> volumeDown() else -> KeyEventResult(true) } }