diff --git a/CHANGELOG.md b/CHANGELOG.md
index e54af04f..5846bec4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,7 @@
- Bugfix: Don't create native messaging manifest file if browser directory doesn't exist. (#6116)
- Bugfix: Make reply-cancel button less coarse-grained. (#6106)
- Bugfix: Fixed missing BetterTTV live updates of emotes. (#6132)
+- Bugfix: Handle CMD + BACKSPACE behavior explicitly in main chat dialog input for macOS. (#6111)
- Dev: Conan will no longer generate a `CMakeUserPresets.json` file. (#6117)
- Dev: Pass `--force-openssl` when installing from CMake in Qt 6.8+. (#6129)
diff --git a/src/widgets/helper/ResizingTextEdit.cpp b/src/widgets/helper/ResizingTextEdit.cpp
index 0ac7e0e8..cb373e99 100644
--- a/src/widgets/helper/ResizingTextEdit.cpp
+++ b/src/widgets/helper/ResizingTextEdit.cpp
@@ -131,6 +131,18 @@ bool ResizingTextEdit::eventFilter(QObject *obj, QEvent *event)
}
void ResizingTextEdit::keyPressEvent(QKeyEvent *event)
{
+#ifdef Q_OS_MACOS
+ if ((event->modifiers() == Qt::ControlModifier) &&
+ (event->key() == Qt::Key_Backspace))
+ {
+ QTextCursor cursor = this->textCursor();
+ cursor.movePosition(QTextCursor::StartOfLine, QTextCursor::KeepAnchor);
+ cursor.removeSelectedText();
+ this->setTextCursor(cursor);
+ return;
+ }
+#endif
+
event->ignore();
this->keyPressed.invoke(event);