mirror of
git://source.winehq.org/git/wine.git
synced 2024-09-30 04:38:32 +00:00
winemac.drv: Exclude dictation when looking for input methods.
After a recent OS update, the dictation input source remains "selected" in *all* apps for about 10 minutes after it is activated, even when it is not in use. There doesn't seem to be any way to determine whether it's actually active or just lingering, and sending input to it regardless means that we falsely process input as if it was going to an IME.
This commit is contained in:
parent
d6c41f95c0
commit
d77006fd5a
|
@ -2065,9 +2065,7 @@ - (void) tryToActivateIgnoringOtherApps:(BOOL)ignore
|
|||
static BOOL InputSourceShouldBeIgnored(TISInputSourceRef inputSource)
|
||||
{
|
||||
/* Certain system utilities are technically input sources, but we
|
||||
shouldn't consider them as such for our purposes.
|
||||
Dictation is its own source too (com.apple.inputmethod.ironwood), but
|
||||
it should receive keypresses; it cancels input on escape. */
|
||||
shouldn't consider them as such for our purposes. */
|
||||
static CFStringRef ignoredIDs[] = {
|
||||
/* The "Emoji & Symbols" palette. */
|
||||
CFSTR("com.apple.CharacterPaletteIM"),
|
||||
|
@ -2077,6 +2075,11 @@ Dictation is its own source too (com.apple.inputmethod.ironwood), but
|
|||
CFSTR("com.apple.PressAndHold"),
|
||||
/* Emoji list on MacBooks with the Touch Bar. */
|
||||
CFSTR("com.apple.inputmethod.EmojiFunctionRowItem"),
|
||||
/* Dictation. Ideally this would actually receive key events, since
|
||||
escape cancels it, but it remains a "selected" input source even
|
||||
when not active, so we need to ignore it to avoid incorrectly
|
||||
sending input to it. */
|
||||
CFSTR("com.apple.inputmethod.ironwood"),
|
||||
};
|
||||
|
||||
CFStringRef sourceID = TISGetInputSourceProperty(inputSource, kTISPropertyInputSourceID);
|
||||
|
|
Loading…
Reference in a new issue