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

Can't input text in Safari 15 with InputMethodKit such as 搜狗拼音输入法 #3639

Closed
Innei opened this issue Feb 14, 2022 · 9 comments
Closed

Comments

@Innei
Copy link

Innei commented Feb 14, 2022

Can't input text in Safari 15 with speical input source such as 搜狗拼音输入法 English mode.

Details

  • Browser and browser version: Safari 15.2
  • OS version: macOS 12.2.1
  • xterm.js version: 4.17.0

Steps to reproduce

  1. Go codesandbox https://codesandbox.io/s/intelligent-smoke-eovbu?file=/index.html
  2. Open with Safari
  3. Use 搜狗拼音输入法's English mode to input text.

It look like this issue: #3396

@Innei
Copy link
Author

Innei commented Feb 14, 2022

Screen.Recording.2022-02-14.at.2.39.25.PM.mov

@Innei
Copy link
Author

Innei commented Feb 14, 2022

Chrome is work expected.

@childrentime
Copy link
Contributor

@Innei It might be because of xterm's css style issue.

.xterm {
    position: relative;
    user-select: none;
    -ms-user-select: none;
    -webkit-user-select: none;
}

You can get reference from here.
facebook/react#16836

@Innei
Copy link
Author

Innei commented Mar 16, 2022

@childrentime Not working, becuase xterm has not input, maybe use some hack to simulate an input box.

I add user-select: none; to xterm element, not working, then I set .xterm * {user-select: none;}, it can input ascii char in speical mode, but can not input Chinese.

@childrentime
Copy link
Contributor

@Innei I'm sorry because i do not have a mac to reproduce it.

@Innei Innei changed the title Can't input text in Safari 15 with speical input source such as 搜狗拼音输入法 Can't input text in Safari 15 with InputMethodKit such as 搜狗拼音输入法 Mar 17, 2022
@ShikiSuen
Copy link

Further tests confirmed that this issue is IME-specific.
vChewing IME will fix this issue in the incoming 1.3.9b release.

@Tyriar
Copy link
Member

Tyriar commented Mar 28, 2022

Closing as it's an IME issue, thanks for the investigation

@ShikiSuen
Copy link

ShikiSuen commented Mar 29, 2022

@Tyriar I think I need to update my comment:

Although this issue can be avoidable by doing something on the IME developers' side, it can still be considered as having lack of compatibility between xtermjs and the InputMethodKit since xtermjs rejects those inputs which other usual apps don't reject.

Thankfully, this issue is bypassable by simply enabling "Use CapsLock to switch between alphanumeric keyboard layout and an input method" in macOS System Preferences (probably starting with macOS releases shipped by the first-generation Thunderbolt 3 models of MacBook Pro).

@Tyriar
Copy link
Member

Tyriar commented Mar 29, 2022

@ShikiSuen this sort of problem has come up before and if we try to workaround it to play nicely with the IME it often ends up regressing other IMEs. If it can be fixed on the IME side so it acts more proper then we can avoid the risk of regressions in other areas.

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

No branches or pull requests

4 participants