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

Use handleEvent instead of interpretKeyEvents. #202

Closed
wants to merge 1 commit into
base: master
from

Conversation

Projects
None yet
2 participants
@mzp

mzp commented Mar 20, 2015

This patch is related with https://code.google.com/p/iterm2/issues/detail?id=2629 but not same.

What steps will reproduce the problem?

  1. Install AquaSKK.
  2. Give focus a window of iTerm2 and make AquaSKK enable.
  3. Change the mode to Japane Hirakana Input mode.
  4. Press l to turn on ASCII input mode.

What is the expected output?

The [A] icon with orange background is displayed at the location by the cursor in an iTerm window, and any characters are not inputted in the iTerm window.

What do you see instead?

The [あ] icon with orange background is displayed at the location by the cursor in an iTerm window, and a newline character is inputted in the iTerm window.

What OS version are you using?

MacOS X 10.10.2

Solution

Because some IME(e.g. AquaSKK) consume event without insert any text, _inputMethodIsInserting is not enough.

So, we need use handleEvent instead of interpretKeyEvents.

Use handleEvent instead of interpretKeyEvents.
Because some IME(e.g. AquaSKK) consume event without insert any text, `_inputMethodIsInserting` is not enough.
@gnachman

This comment has been minimized.

Show comment
Hide comment
@gnachman

gnachman Mar 23, 2015

Owner

I have to warn you that this is going to be a very hard change to do correctly. This code is very complex.

I don't know why, but as written, it breaks key repeat. If you press and hold "x" (as an example) with a US keyboard, [self.inputContext handleEvent:event] returns YES and [delegate keyDown:event] never gets called.

Owner

gnachman commented Mar 23, 2015

I have to warn you that this is going to be a very hard change to do correctly. This code is very complex.

I don't know why, but as written, it breaks key repeat. If you press and hold "x" (as an example) with a US keyboard, [self.inputContext handleEvent:event] returns YES and [delegate keyDown:event] never gets called.

@gnachman

This comment has been minimized.

Show comment
Hide comment
@gnachman

gnachman May 15, 2016

Owner

Fixed in commit 71aaf59

Owner

gnachman commented May 15, 2016

Fixed in commit 71aaf59

@gnachman gnachman closed this May 15, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment