diff --git a/app/src/main/java/net/mezimmah/wkt9/inputhandler/WordInputHandler.kt b/app/src/main/java/net/mezimmah/wkt9/inputhandler/WordInputHandler.kt index 0969bc1..17350b1 100644 --- a/app/src/main/java/net/mezimmah/wkt9/inputhandler/WordInputHandler.kt +++ b/app/src/main/java/net/mezimmah/wkt9/inputhandler/WordInputHandler.kt @@ -88,7 +88,7 @@ class WordInputHandler( when (command) { Command.CAP_MODE -> toggleCapMode(key) Command.CHARACTER -> buildCodeword(key) - Command.DELETE -> delete() + Command.DELETE -> delete(event.repeatCount) Command.ENTER -> enter(key) Command.INPUT_MODE -> inputMode(key) Command.MOVE_CURSOR -> moveCursor(key) @@ -114,16 +114,18 @@ class WordInputHandler( handleCodewordChange(codeword) } - private fun delete() { + private fun delete(repeatCount: Int) { lastSelectedWord = null if (codeword.length > 1) { codeword.deleteAt(codeword.length - 1) handleCodewordChange(codeword) + } else if (codeword.isNotEmpty() && repeatCount > 1) { + codeword.clear() + wkt9.onCompose("") } else if (codeword.isNotEmpty()) { codeword.clear() - wkt9.onCommit() - wkt9.onDeleteText(1) + wkt9.onCompose("") } else { wkt9.onDeleteText(1) }