diff --git a/src/lib/components/channel/MessageInput.svelte b/src/lib/components/channel/MessageInput.svelte index 27976e0af5..bc7cd1a8de 100644 --- a/src/lib/components/channel/MessageInput.svelte +++ b/src/lib/components/channel/MessageInput.svelte @@ -943,19 +943,17 @@ navigator.msMaxTouchPoints > 0 ) ) { - // Prevent Enter key from creating a new line // Uses keyCode '13' for Enter key for chinese/japanese keyboards - if (e.keyCode === 13 && !e.shiftKey) { - e.preventDefault(); - } + const enterPressed = + ($settings?.ctrlEnterToSend ?? false) + ? (e.key === 'Enter' || e.keyCode === 13) && isCtrlPressed + : (e.key === 'Enter' || e.keyCode === 13) && !e.shiftKey; - // Submit the content when Enter key is pressed - if ( - (content !== '' || files.length > 0) && - e.keyCode === 13 && - !e.shiftKey - ) { - submitHandler(); + if (enterPressed) { + e.preventDefault(); + if (content !== '' || files.length > 0) { + submitHandler(); + } } } }