From bf94132c1cd421e33d7ec01df0acdb08118aaa68 Mon Sep 17 00:00:00 2001 From: Nehemiah of Zebulun Date: Sun, 27 Aug 2023 09:27:18 +0200 Subject: [PATCH] Progress --- .../mezimmah/wkt9/inputmode/WordInputMode.kt | 24 ++++++++++++++++++- .../java/net/mezimmah/wkt9/keypad/Command.kt | 4 +++- .../main/java/net/mezimmah/wkt9/keypad/Key.kt | 3 ++- .../mezimmah/wkt9/keypad/KeyCodeMapping.kt | 1 + .../wkt9/keypad/KeyCommandResolver.kt | 4 ++++ 5 files changed, 33 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/net/mezimmah/wkt9/inputmode/WordInputMode.kt b/app/src/main/java/net/mezimmah/wkt9/inputmode/WordInputMode.kt index 7b4d629..5e6b909 100644 --- a/app/src/main/java/net/mezimmah/wkt9/inputmode/WordInputMode.kt +++ b/app/src/main/java/net/mezimmah/wkt9/inputmode/WordInputMode.kt @@ -19,7 +19,12 @@ class WordInputMode: InputMode { override fun onKeyDown(key: Key): KeyEventResult { keyStats(key) + val command = keyCommandResolver.getCommand(key) + + Log.d(tag, "Command: $command") + return when(keyCommandResolver.getCommand(key)) { + Command.BACK -> KeyEventResult(false) Command.CHARACTER -> buildCodeWord(key) // Command.SELECT -> true Command.DELETE -> deleteCharacter() @@ -34,6 +39,12 @@ class WordInputMode: InputMode { override fun onKeyLongDown(key: Key): KeyEventResult { // Log.d(tag, "onKeyLongDown") + val command = keyCommandResolver.getCommand(key = key, longPress = true) + + + + Log.d(tag, "Command: $command") + return KeyEventResult() } @@ -47,7 +58,18 @@ class WordInputMode: InputMode { override fun afterKeyDown(key: Key): KeyEventResult { // Log.d(tag, "afterKeyDown") - return KeyEventResult() +// return when(keyCommandResolver.getCommand(key, after = true)) { +// Command.DELETE -> deleteCharacter(repeat) +// else -> KeyEventResult() +// } + + val command = keyCommandResolver.getCommand(key, after = true) + + + + Log.d(tag, "Command: $command") + + return KeyEventResult(false) } override fun afterKeyLongDown(key: Key, keyDownMS: Long): KeyEventResult { diff --git a/app/src/main/java/net/mezimmah/wkt9/keypad/Command.kt b/app/src/main/java/net/mezimmah/wkt9/keypad/Command.kt index d5b083d..80c0b5f 100644 --- a/app/src/main/java/net/mezimmah/wkt9/keypad/Command.kt +++ b/app/src/main/java/net/mezimmah/wkt9/keypad/Command.kt @@ -14,5 +14,7 @@ enum class Command { RIGHT, LEFT, RECORD, - TRANSCRIBE + TRANSCRIBE, + BACK, + HOME } \ No newline at end of file diff --git a/app/src/main/java/net/mezimmah/wkt9/keypad/Key.kt b/app/src/main/java/net/mezimmah/wkt9/keypad/Key.kt index 8ec0813..7719d8f 100644 --- a/app/src/main/java/net/mezimmah/wkt9/keypad/Key.kt +++ b/app/src/main/java/net/mezimmah/wkt9/keypad/Key.kt @@ -18,5 +18,6 @@ enum class Key(val code: Char) { LEFT('c'), RIGHT('d'), SELECT('e'), - DELETE('f') + DELETE('f'), + BACK('g'), } \ No newline at end of file diff --git a/app/src/main/java/net/mezimmah/wkt9/keypad/KeyCodeMapping.kt b/app/src/main/java/net/mezimmah/wkt9/keypad/KeyCodeMapping.kt index c056796..8983509 100644 --- a/app/src/main/java/net/mezimmah/wkt9/keypad/KeyCodeMapping.kt +++ b/app/src/main/java/net/mezimmah/wkt9/keypad/KeyCodeMapping.kt @@ -12,6 +12,7 @@ class KeyCodeMapping( companion object { val basic = mapOf( + 4 to Key.BACK, 7 to Key.N0, 8 to Key.N1, 9 to Key.N2, diff --git a/app/src/main/java/net/mezimmah/wkt9/keypad/KeyCommandResolver.kt b/app/src/main/java/net/mezimmah/wkt9/keypad/KeyCommandResolver.kt index 1db6639..60b6a7f 100644 --- a/app/src/main/java/net/mezimmah/wkt9/keypad/KeyCommandResolver.kt +++ b/app/src/main/java/net/mezimmah/wkt9/keypad/KeyCommandResolver.kt @@ -27,6 +27,7 @@ class KeyCommandResolver ( fun getBasic(): KeyCommandResolver { return KeyCommandResolver( onShort = HashMap(mapOf( + Key.BACK to Command.BACK, Key.N0 to Command.SPACE, Key.N1 to Command.CHARACTER, @@ -50,6 +51,8 @@ class KeyCommandResolver ( )), onLong = HashMap(mapOf( + Key.BACK to Command.HOME, + Key.N0 to Command.NUMBER, Key.N1 to Command.NUMBER, Key.N2 to Command.NUMBER, @@ -66,6 +69,7 @@ class KeyCommandResolver ( )), afterShort = HashMap(mapOf( + Key.BACK to Command.BACK, Key.POUND to Command.SHIFT_MODE, )),