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

[Bug] Random input in normal mode with IME #178

Open
LawrenceGK opened this issue May 22, 2024 · 3 comments
Open

[Bug] Random input in normal mode with IME #178

LawrenceGK opened this issue May 22, 2024 · 3 comments

Comments

@LawrenceGK
Copy link

I noticed that issue #83 attempted to resolve this problem, but I am still encountering it. I am using Microsoft Input Method or Rime Input Method (Chinese).

Expected Result: The input method should be disabled in normal mode (or behave the same as in English input mode), and pressing keys such as a, o, j, k should not move the cursor or input characters (or should move the cursor correctly).

Actual Result: In normal mode, the behavior is random (varies depending on the input method used), such as h and l moving two characters, both j and k moving down, and a character behind the cursor being deleted or modified.

I tested this on https://codemirror.net/5/demo/vim.html, and it behaves as expected. However, when I forked and ran the project at https://replit.com/@util/codemirror-vim, the issue still exists. The test page mentioned in issue #83, https://raw.githack.com/replit/codemirror-vim/github-demo/dev/web-demo.html, is now inaccessible.

@LawrenceGK
Copy link
Author

Btw, behaves as expected on cm5 demo on https://replit.com/@replitfaris/codemirror-vim.

@frybox
Copy link

frybox commented Oct 7, 2024

I encounter the same problem. I am using Chinese input method on Windows.

@frybox
Copy link

frybox commented Oct 15, 2024

In command mode, when users input by IME, this plugin currently removes the DOM element and re-adds it, to cancel the IME after receiving the character users input. I suspect some internal state of the external IME doesn't update during this procedure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants