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

Has the automatic switching input method function been canceled? #17816

Closed
ZhangWeinian opened this issue Aug 28, 2024 · 10 comments · Fixed by #17953
Closed

Has the automatic switching input method function been canceled? #17816

ZhangWeinian opened this issue Aug 28, 2024 · 10 comments · Fixed by #17953
Assignees
Labels
Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) In-PR This issue has a related PR Issue-Task It's a feature request, but it doesn't really need a major design. Needs-Tag-Fix Doesn't match tag requirements Product-Terminal The new Windows Terminal.

Comments

@ZhangWeinian
Copy link

The automatic switching input method function before version 1.21.2361.0 is very useful! But after the update, this feature became invalid, and I couldn't find any relevant options in the settings. May I ask if this function can be restored? This is of great convenience for those who do not speak English as their mother tongue!

@ZhangWeinian ZhangWeinian added the Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. label Aug 28, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added Needs-Tag-Fix Doesn't match tag requirements Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting labels Aug 28, 2024
@zadjii-msft
Copy link
Member

Wait, just to be sure - you actually liked that it switched back to English by default?

We had pretty much universally negative feedback on that, or at least the way it was implemented.

In 1.21 we did entirely rewrite the IME code, so we probably can't just bring it back like it was before. But I can imagine we could add an opt-in setting that would bring that back...


older context:

@ZhangWeinian
Copy link
Author

Yes, my friend. When the focus is on the WindowsTerminal window, automatically switch the input method to English; At the same time, when the focus leaves the WindowsTerminal window, switch back to the original input method. I think this feature is quite practical!!!
My native language is Chinese, but when executing commands on a WindowsTerminal, I use English.
Previously, I could search for Chinese content in a browser and execute commands in a WindowsTerminal without having to switch input method languages back and forth. But now when I first open the WindowsTerminal, I have to manually change the input method to English first🤣

@lhecker
Copy link
Member

lhecker commented Aug 29, 2024

Edit: Oh, I haven't reloaded the website while writing this comment. I wrote it before either of you two had commented.

We've received a lot of complaints from our users about the automatic input method switching. It was never an intentional feature either, so we fixed this supposed issue.

But the new version ensures that the input method doesn't change when you switch between applications. When you launch Windows Terminal, it'll be in the composition mode (中), press Shift and it'll switch to English input (英). Then when you switch to another application and come back to Windows Terminal it should restore English input (英). Does this not happen for you?

@ZhangWeinian
Copy link
Author

My previous description may not have been clear enough, but I would like to have this feature:
When opening a new Windows terminal window, always ensure that the default input method at this time is the English input method.
This feature seemed to exist in previous versions (as there was no need to manually switch input methods at the time), but after updating to version 1.21.2361.0, when opening a new Windows terminal window, it uses the Chinese input method.

  • The following picture shows that I am currently using an English input method
    image

  • When I open a new WindowsTerminal window, I didn't manually switch input methods, but now the input method has changed to Chinese input method (although Chinese is my preferred language on my computer)
    image

My intention is to automatically switch the default input method language to English input method if the focus is on the Windows Terminal window, without the need for manual switching, just like before version 1.21.2361.0❤️

@lhecker
Copy link
Member

lhecker commented Aug 29, 2024

Would your issue also be solved if we ensured the input method doesn't change when you create a new window or tab?

Generally speaking, I don't mind adding a setting that changes the method to English on start.

@lhecker lhecker added Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) Product-Terminal The new Windows Terminal. Issue-Task It's a feature request, but it doesn't really need a major design. and removed Issue-Feature Complex enough to require an in depth planning process and actual budgeted, scheduled work. labels Aug 29, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot removed the Needs-Tag-Fix Doesn't match tag requirements label Aug 29, 2024
@lhecker lhecker added this to the Terminal v1.23 milestone Aug 29, 2024
@ZhangWeinian
Copy link
Author

Yes, it would be great if a setting could be added that allows users to decide which language input method to use when opening a WindowsTerminal window!!!

@Delphier
Copy link

Delphier commented Aug 30, 2024

I encountered the same problem. After upgrading, I had to switch the input method every time I opened the terminal.

I don't think it's necessary to add a setting option. Like the previous version, the default English should be a better choice. Because most of the input in the terminal is English commands, few people should use commands in other languages. When you need to input other languages, just use Shift to switch.

@lhecker
Copy link
Member

lhecker commented Sep 3, 2024

I don't think it's necessary to add a setting option. Like the previous version, the default English should be a better choice.

As mentioned above, a lot of people complained about the switching, so we won't do that anymore. The IME now uses whatever language Windows picks for us.

@Delphier By the way, if you don't mind, can you explain why this change is annoying for you? I know that you can switch to English input by pressing Shift, right? So, is this more about convenience for you, or are there some bugs in Windows Terminal where it switches between Chinese and English input unexpectedly?

@Delphier
Copy link

Delphier commented Sep 4, 2024

@lhecker

Since Windows 11 (maybe Windows 10, I'm not sure), the problem of input method switching has been bothering me:
My default input method is Chinese, but some programs are in English input state by default after opening, such as Chrome, Edge, VSCode, and the old version of Windows Terminal, but some programs are in Chinese input state after opening, such as Sublime Text, Notepad and many other programs.

I don't know much about input method development, so I'm not sure where the problem lies.

I just checked the Windows input method settings again and found that the input method I use can set the default mode (Chinese or English). It was always Chinese before. After I switched to English, I found that the new version of Windows Terminal will be in English input state by default.

image

So my previous suggestion should be inaccurate. The current Windows Terminal input method processing should be correct: keep it consistent with the Windows input method settings.

@ZhangWeinian
Copy link
Author

Considering the widespread use of WindowsTerminal, I believe adding a setting for users to decide which language input method to use when opening WindowsTerminal is the most widely accepted choice. Combined with the feature in Windows that allows different input methods to be used in different windows, it should be possible to completely avoid manually switching input methods.

Ensure that the default input method when typing in WindowsTerminal is English (unless the user switches to it after opening the terminal), and that windows outside the terminal are determined by the Windows system and the user.

@carlos-zamora carlos-zamora removed the Needs-Triage It's a new issue that the core contributor team needs to triage at the next triage meeting label Sep 4, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added the In-PR This issue has a related PR label Sep 23, 2024
DHowett pushed a commit that referenced this issue Sep 24, 2024
This adds a "defaultInputScope" setting, hooks it up to our TSF,
and exposes it as a setting in the UI under the startup page.
In order to stay close with the other language setting, I moved that
one from the appearance to the startup page as well.
20 out of the 26 files in this PR are boilerplate unfortunately.

Closes #17816

## Validation Steps Performed
* Install and use the Chinese IME
* Launch WT
* Chinese input ✅
* Change setting to `alphanumericHalfWidth`
* Restart WT
* English input ✅
@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs-Tag-Fix Doesn't match tag requirements label Sep 24, 2024
DHowett pushed a commit that referenced this issue Sep 26, 2024
This adds a "defaultInputScope" setting, hooks it up to our TSF,
and exposes it as a setting in the UI under the startup page.
In order to stay close with the other language setting, I moved that
one from the appearance to the startup page as well.
20 out of the 26 files in this PR are boilerplate unfortunately.

Closes #17816

* Install and use the Chinese IME
* Launch WT
* Chinese input ✅
* Change setting to `alphanumericHalfWidth`
* Restart WT
* English input ✅

(cherry picked from commit fc606d2)
Service-Card-Id: PVTI_lADOAF3p4s4AmhmszgTTKAE
Service-Version: 1.21
DHowett pushed a commit that referenced this issue Sep 26, 2024
This adds a "defaultInputScope" setting, hooks it up to our TSF,
and exposes it as a setting in the UI under the startup page.
In order to stay close with the other language setting, I moved that
one from the appearance to the startup page as well.
20 out of the 26 files in this PR are boilerplate unfortunately.

Closes #17816

## Validation Steps Performed
* Install and use the Chinese IME
* Launch WT
* Chinese input ✅
* Change setting to `alphanumericHalfWidth`
* Restart WT
* English input ✅

(cherry picked from commit fc606d2)
Service-Card-Id: PVTI_lADOAF3p4s4AmhmQzgTTKAI
Service-Version: 1.22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-TerminalControl Issues pertaining to the terminal control (input, selection, keybindings, mouse interaction, etc.) In-PR This issue has a related PR Issue-Task It's a feature request, but it doesn't really need a major design. Needs-Tag-Fix Doesn't match tag requirements Product-Terminal The new Windows Terminal.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants