diff --git a/java/src/org/futo/inputmethod/keyboard/Key.kt b/java/src/org/futo/inputmethod/keyboard/Key.kt index ed8c5dd433d753b79a2f8ace3b1739127201f918..3d92ce087607e9a4153e579aab7a6af86c3bd243 100644 --- a/java/src/org/futo/inputmethod/keyboard/Key.kt +++ b/java/src/org/futo/inputmethod/keyboard/Key.kt @@ -129,7 +129,7 @@ data class Key( val hintLabel: String? = null, /** Hint icon to display instead of hint label. Icon takes precedence over a label */ - val hintIconId: String? = null, + val hintIconId: String? = if(hintLabel?.isNotEmpty() == true) { "" } else { null }, /** Flags of the label */ val labelFlags: Int, @@ -190,6 +190,14 @@ data class Key( /** Key is enabled and responds on press */ val isEnabled: Boolean = code != Constants.CODE_UNSPECIFIED, ) { + /** Validation */ + init { + assert((code == Constants.CODE_OUTPUT_TEXT && outputText != null) || + (code != Constants.CODE_OUTPUT_TEXT && outputText == null)) { + "Output text validation failed: $code $outputText" + } + } + /** The current pressed state of this key */ private var mPressed = false diff --git a/java/src/org/futo/inputmethod/v2keyboard/LayoutEngine.kt b/java/src/org/futo/inputmethod/v2keyboard/LayoutEngine.kt index 8e455f6f906cba7ab6b07be8f1873bb451307b12..bb6780850f7095fe83f9448dbba3ff9b4d86d9db 100644 --- a/java/src/org/futo/inputmethod/v2keyboard/LayoutEngine.kt +++ b/java/src/org/futo/inputmethod/v2keyboard/LayoutEngine.kt @@ -503,7 +503,9 @@ data class LayoutEngine( labelFlags = data.labelFlags, moreKeys = data.moreKeys, moreKeysColumnAndFlags = data.moreKeyFlags, - visualStyle = data.style + visualStyle = data.style, + outputText = data.outputText, + hintLabel = data.hint.ifEmpty { null } ) params.onAddKey(key) diff --git a/java/src/org/futo/inputmethod/v2keyboard/TemplateKeys.kt b/java/src/org/futo/inputmethod/v2keyboard/TemplateKeys.kt index a958513936098fc62f5215c8df5ca3bed874e043..5d4a2f35e3083431ac24239a290bbe96fc48b8b9 100644 --- a/java/src/org/futo/inputmethod/v2keyboard/TemplateKeys.kt +++ b/java/src/org/futo/inputmethod/v2keyboard/TemplateKeys.kt @@ -159,7 +159,7 @@ data class EnterKey( repeatable = false, moreKeyFlags = moreKeyFlags, countsToKeyCoordinate = false, - hint = "", + hint = " ", labelFlags = 0 ) }