Skip to content
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

MacOS native IME input composition #71

Closed
DJTB opened this issue Oct 25, 2017 · 6 comments
Closed

MacOS native IME input composition #71

DJTB opened this issue Oct 25, 2017 · 6 comments
Labels
Milestone

Comments

@DJTB
Copy link
Collaborator

DJTB commented Oct 25, 2017

User report regarding using IME input in a field with Wanakana active:

On MacOS (sierra and high sierra) when using the Japanese/Hiragana input method, if the romaji I type has a suggestion in the list that is romaji and not kana, it makes it impossible to type in the answer field.

For instance typing "ha" will have the first suggestion as literally "ha" then followed by 派,歯,... What I think happens is: as I tab through the suggestions, the OS puts "ha" into the input field, which wanakana then tries to convert to は, which in turn breaks the OS input suggestions completely and I can't progress down the suggestions list to the kanji input I want.

I'm fairly certain it's due to Wanakana, because if I do the same thing in any other context, for instance the browser location bar, the suggestions show up, and I can progress from "ha" to 歯 and so on. That is my workaround when this happens, see this gif for a live example https://imgur.com/a/pnDk3

In this example I am typing "ha", space, space, space. When in the answer field it inserts は, then highlights, then moves on.

Then I move to the location bar and do the same again to progress past the troublesome option and I can get the kanji I want.

@DJTB DJTB added the bug label Oct 25, 2017
@DJTB
Copy link
Collaborator Author

DJTB commented Oct 25, 2017

Likely related to how the native IME handles composition events.
I'll do some debugging later today to gather more info.

@DJTB
Copy link
Collaborator Author

DJTB commented Nov 3, 2017

Holding off until we merge #70 since we'll have to do this testing for those changes anyway.

@DJTB
Copy link
Collaborator Author

DJTB commented Jan 23, 2018

Sorry for the long delay, this is a tricky pickle.
Seems React is having the same trouble.
facebook/react#8683

I can probably re-write the temporary workaround from that thread for use outside of React and within bind().

Could you visit https://eyesofkids.github.io/ and try out your 'は' tab -> '歯' etc flow in both of the inputs. The red text is what you should monitoring (as an example of how we would want wanakana to wait for conversion), it shouldn't change until you choose your final selection. You might have to zoom the browser to ~150-200% (or just edit the font size/positioning css in devtools) or your IME composition box will probably cover the red text display.

@jimrhoskins
Copy link

I tried this out. I typed in ha, was able to tab through selections without triggering any change in the red text. I hit enter which collapsed the IME suggestion list, again no change in red text. The input is still selected indicating it is still composing. One final press of enter caused the red text to update, and puts the cursor at the end of the input. Seems to work as expected.

@DJTB DJTB added this to the 3.0 milestone Jan 28, 2018
@DJTB
Copy link
Collaborator Author

DJTB commented Feb 6, 2018

@jimrhoskins Sorry to ask you again, but could you visit https://wanakana-device-test.firebaseapp.com

Ignore all the instructions and the form but try composing ha at the bottom of the page in the "Sandbox" input. Thanks!

@jimrhoskins
Copy link

@DJTB I tried composing the tricky words on the sandbox on that form, and it appears to work correctly. I was able to compose and tab past the ha suggestion into without wanakana interfering. That field works as I would expect it to 👍 🎉

Thanks for working on this!

@DJTB DJTB closed this as completed Mar 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants