-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switching to Chinese/Korean IMEs produce Latin/QWERTY output until switching windows #5
Comments
Thank you! Can you describe you system settings more detailed, particularly I'am interested what state of the: "Automatically switch to a document’s input source" checkbox (can be found in System Preferences -> Keyboard -> Input Sources)? |
Wow, that was a fast reply! That checkbox is not checked, but the behavior is the same even if it is. I'm happy to supply any other configuration information you require! |
After some experiments, seems it is fixable, moreover it can fix other bugs and strange behaviours. But I need some time (probably day or two) to rewrite code properly. |
Current progress:
Actually not (I was think that this issue can be fixed by run actual NSRunLoop to allow HIToolbox to manage its cooperation with other system processes). I converted code to use run loop, but unfortunately issue remain. I have some thoughts... Documentation (note that this is all old and deprecated apis) from
So this is documented behavior. And I think that by call Currently I try investigate how TIS currently work in my system to found out the proper way to address this problem.
|
Jesus, this sounds like a real can of worms...
Very strange, since I wish I could help, but you clearly know way more about this than I do. |
I think I will try to investigate more, but not sure about time... (If not this week, then only in September, because of vacation, sorry) |
No rush — these problems aren't going anywhere. ;) Enjoy your vacation. |
Hey, just thought I'd check in. Any progress on this issue? (If not, no worries.) |
Hi! Sorry, still in TODO... :-( |
emacs-mac don't have such a problem |
kawa has a workaround https://github.com/utatti/kawa/blob/master/kawa/TISInputSourceExtension.swift |
Thanks! I'll look at it! |
https://github.com/laishulu/macism I wrote an alternative tool, based on the codes from https://github.com/utatti/kawa |
@vovkasm |
I discovered this project by way of vim-xkbswitch, after first learning of xkbswitch-macosx.
In using
issw
, I came across a bug identical to one I found in xkbswitch (reported here). The text of that issue is copied below, with references toxkbswitch
replaced withissw
:I'm running into a strange problem where I can use
issw
to switch IMEs, but for certain non-Latin input methods, input to the current window comes out as US English until you switch to another window.Specifically, I've tested on a handful of languages (Arabic, Spanish, English, Japanese-Hiragana, Japanese-Katakana, Korean, Simplified Chinese-Pinyin, Traditional Chinese-Zhuyin), and it only seems to be happening in Korean and Chinese (both Pinyin and Zhuyin) — both East Asian IMEs with alternate modes for English input.
Observations:
It's not limited to the GUI terminal.
I thought it might just be limited to the terminal at first, but then tested by running
switching over to Firefox, waiting for the IME to change, and then starting to type. The same thing happens.
It's always US English output, even if you're switching from a non-Latin language. (Possibly because US English is the default on my system.)
If switching from Arabic to Chinese, US English characters still come out, not Arabic or Chinese. Usually, it's normal (single-width) characters, but sometimes (still haven't figured out why/when), it's double-width characters. Originally, this led me to believe that the unexpected US English input I was observing was a sub-mode of the IME that
issw
had switched to, but then I noticed the following:Both Korean and Chinese IMEs offer some mechanism for inputting US English characters without having to switch back to the English IME (in Zhuyin, caps lock will force all input to Latin/QWERTY; in Korean, holding down
<Option>
does the same). The behavior described in this issue is not a result of triggering these mechanisms: when this problem begins,<Option-a>
outputs ‘å’, which is ordinarily not possible in Zhuyin.issw
appears to preserve some IME statefulness that is not preserved by the standard system keyboard shortcut for switching IMEs.This one's kind of hard to explain, so I'll format it as a series of shell commands with comments:
Thoughts?
The text was updated successfully, but these errors were encountered: