feat: disable text input when window gains focus
This commit is contained in:
parent
200cab9d17
commit
fb9a164111
3 changed files with 12 additions and 1 deletions
|
|
@ -301,6 +301,15 @@ void SdlInputHandler::notifyFocusLost()
|
|||
// Raise all keys that are currently pressed. If we don't do this, certain keys
|
||||
// used in shortcuts that cause focus loss (such as Alt+Tab) may get stuck down.
|
||||
raiseAllKeys();
|
||||
|
||||
// Re-enable text input when window loses focus
|
||||
SDL_StartTextInput();
|
||||
}
|
||||
|
||||
void SdlInputHandler::notifyFocusGained()
|
||||
{
|
||||
// Disable text input when window gains focus to prevent IME popup interference
|
||||
SDL_StopTextInput();
|
||||
}
|
||||
|
||||
bool SdlInputHandler::isCaptureActive()
|
||||
|
|
|
|||
|
|
@ -138,6 +138,8 @@ public:
|
|||
|
||||
void notifyFocusLost();
|
||||
|
||||
void notifyFocusGained();
|
||||
|
||||
bool isCaptureActive();
|
||||
|
||||
bool isSystemKeyCaptureActive();
|
||||
|
|
|
|||
|
|
@ -2108,6 +2108,7 @@ void Session::execInternal()
|
|||
if (m_Preferences->muteOnFocusLoss) {
|
||||
m_AudioMuted = false;
|
||||
}
|
||||
m_InputHandler->notifyFocusGained();
|
||||
break;
|
||||
case SDL_WINDOWEVENT_LEAVE:
|
||||
m_InputHandler->notifyMouseLeave();
|
||||
|
|
@ -2420,4 +2421,3 @@ DispatchDeferredCleanup:
|
|||
// reference.
|
||||
QThreadPool::globalInstance()->start(new DeferredSessionCleanupTask(this));
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue