diff --git a/src/vmainwindow.cpp b/src/vmainwindow.cpp index b2b38ee4..a67755aa 100644 --- a/src/vmainwindow.cpp +++ b/src/vmainwindow.cpp @@ -3093,9 +3093,18 @@ void VMainWindow::initUniversalEntry() { m_ue = new VUniversalEntry(this); m_ue->hide(); + +#if defined(Q_OS_MACOS) || defined(Q_OS_MAC) + // Qt::Popup on macOS does not work well with input method. + m_ue->setWindowFlags(Qt::Tool + | Qt::NoDropShadowWindowHint); + m_ue->setWindowModality(Qt::ApplicationModal); +#else m_ue->setWindowFlags(Qt::Popup | Qt::FramelessWindowHint | Qt::NoDropShadowWindowHint); +#endif + connect(m_ue, &VUniversalEntry::exited, this, [this]() { m_captain->setCaptainModeEnabled(true); diff --git a/src/vuniversalentry.cpp b/src/vuniversalentry.cpp index 8fd54a73..a280c0ef 100644 --- a/src/vuniversalentry.cpp +++ b/src/vuniversalentry.cpp @@ -274,6 +274,10 @@ void VUniversalEntry::keyPressEvent(QKeyEvent *p_event) break; + case Qt::Key_Escape: + hide(); + return; + // Up/Down Ctrl+K/J to navigate to next item. case Qt::Key_Up: forward = false;