Thanks to the comment by Adam Lemmon above, this autohotkey 4-liner fragment has been saving my sanity for a couple weeks now. My fingers are learning to remember ctrl-enter is send. Wrap it in proper ahk script and be happy.
Note that although the window class is TeamsWebView, I am using the desktop client. As written it won't do anything for Teams in a web browser.
;Teams Chat cursed enter key workaround using autohotkey v1.1
;Teams behaviour:
; ctrl-enter always sends
; shift-enter always line feeds
; enter is _cursed_ because it changes functions depending on text entry decoration
;
;Solution: map enter -> shift-enter
; leave shift-enter
; use ctrl-enter to send
; spend more time & bytes writing comments rather than script commands
;
;originally this script checked for 'Chat' to be in the title, but that test breaks
;when I 'Open chat in new window'. So far, it seems that shift+enter and enter have the same
;function in every other Teams window I use regularly.
#IfWinActive ahk_class TeamsWebView
enter::
send +{enter}
return