You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If alternative TIPs such as speech recognition are installed, Keyman may fail to start on first use in a newly started application. Switching the keyboard off and on again will normally work around this.
If a non-keyboard TIP is activated, then we should be detecting that on line 167 above and ignoring the activation. Only if a keyboard-type TIP is activated should we be deactivating Keyman.
To Reproduce
Installing speech recognition may trigger this behaviour but that may not be deterministic if the activation order differs.
Keyman for Windows/macOS/Linux:
OS: Windows 10
Keyman version: 14.0.271
Target Application: any
The text was updated successfully, but these errors were encountered:
Note that despite the fActivated flag being passed, it seems that this function is only ever called on activation, not on deactivation -- the logs never show any fActivated == 0.
Fixes#4965.
When speech recognition is enabled, it sometimes activates after a
Keyman keyboard is selected. This would cause Keyman to think it is
being deactivated. We needed to check in
`CKMTipTextService::OnActivated` that it was a keyboard-type TIP that
was being activated, and only deactivate the Keyman hooks in that
situation.
This commit also adds a little logging helper function, and removes an
unused variable `guidActiveProfile`.
Fixes#4965.
When speech recognition is enabled, it sometimes activates after a
Keyman keyboard is selected. This would cause Keyman to think it is
being deactivated. We needed to check in
`CKMTipTextService::OnActivated` that it was a keyboard-type TIP that
was being activated, and only deactivate the Keyman hooks in that
situation.
This commit also adds a little logging helper function, and removes an
unused variable `guidActiveProfile`.
Describe the bug
If alternative TIPs such as speech recognition are installed, Keyman may fail to start on first use in a newly started application. Switching the keyboard off and on again will normally work around this.
This issue was first noted in diagnostic investigation at https://community.software.sil.org/t/keyboard-shows-as-on-but-doesnt-work-until-it-is-turned-off-and-on-again/4336
The problem relates to function
STDAPI CKMTipTextService::OnActivated(REFCLSID clsid, REFGUID guidProfile, BOOL fActivated)
in tmgrsink.cpp:keyman/windows/src/engine/kmtip/tmgrsink.cpp
Lines 150 to 172 in 03c230c
If a non-keyboard TIP is activated, then we should be detecting that on line 167 above and ignoring the activation. Only if a keyboard-type TIP is activated should we be deactivating Keyman.
To Reproduce
Installing speech recognition may trigger this behaviour but that may not be deterministic if the activation order differs.
Keyman for Windows/macOS/Linux:
The text was updated successfully, but these errors were encountered: