diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt index 2beb67c10a44d59919b8592a6c30e67ab6d44721..d23eed62b8839affa5bd919839c40c3409e70bfd 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/chat/input/Editor.kt @@ -334,6 +334,19 @@ class Editor( } TooltipCompat.setTooltipText(clearButton, clearButton.contentDescription) + chatline.setOnEditorActionListener { _, actionId, event -> + if (event.action == KeyEvent.ACTION_DOWN) { + when (actionId) { + EditorInfo.IME_ACTION_SEND, + EditorInfo.IME_ACTION_DONE -> { + send() + true + } + else -> false + } + } else false + } + chatline.setOnKeyListener { _, keyCode, event -> if (event.action == KeyEvent.ACTION_DOWN) { if (event.isCtrlPressed && !event.isAltPressed) when (keyCode) { @@ -371,7 +384,11 @@ class Editor( } else -> false } - } else false + } else if (keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_NUMPAD_ENTER) { + !event.isShiftPressed + } else { + false + } } }