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;
|
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 ungrabMouse];
|
||||||
[cocoaView raiseAllKeys];
|
[cocoaView raiseAllKeys];
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user