ui/cocoa: Override windowDidResignKey
This fixes pressed keys being stuck when the deck is clicked and the
window loses focus.
In the past, Gustavo Noronha Silva also had a patch to fix this issue
though it only ungrabs mouse and does not release keys, and depends on
another out-of-tree patch:
e906a80147
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20230228070946.12370-1-akihiko.odaki@daynix.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
0c38e9ddd7
commit
9d9bc7db50
11
ui/cocoa.m
11
ui/cocoa.m
@ -1330,10 +1330,15 @@ static CGEventRef handleTapEvent(CGEventTapProxy proxy, CGEventType type, CGEven
|
||||
return NO;
|
||||
}
|
||||
|
||||
/* Called when QEMU goes into the background */
|
||||
- (void) applicationWillResignActive: (NSNotification *)aNotification
|
||||
/*
|
||||
* Called when QEMU goes into the background. Note that
|
||||
* [-NSWindowDelegate windowDidResignKey:] is used here instead of
|
||||
* [-NSApplicationDelegate applicationWillResignActive:] because it cannot
|
||||
* detect that the window loses focus when the deck is clicked on macOS 13.2.1.
|
||||
*/
|
||||
- (void) windowDidResignKey: (NSNotification *)aNotification
|
||||
{
|
||||
COCOA_DEBUG("QemuCocoaAppController: applicationWillResignActive\n");
|
||||
COCOA_DEBUG("%s\n", __func__);
|
||||
[cocoaView ungrabMouse];
|
||||
[cocoaView raiseAllKeys];
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user