dotnet / wpf

WPF is a .NET Core UI framework for building Windows desktop applications.
MIT License
7.06k stars 1.17k forks source link

The ImeOn and ImeOff keys of the Microsoft Japanese IME do not work with the TextBox control. #6212

Open Dub1shu opened 2 years ago

Dub1shu commented 2 years ago

The ImeOn and ImeOff keys are relatively new features added in Windows 10 Verrsion 1903. https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/keyboard-japan-ime

Actual behavior: The ImeOn and ImeOff keys do not work on the TextBox control when the Microsoft Japanese IME setting is in compatibility mode.

Expected behavior: For normal text input, regardless of compatibility mode, pressing the Ime On key enables Japanese input, and pressing the Ime Off key enables English input. The input to the Textbox control is expected to be the same.

Minimal repro:

  1. If the Japanese language pack is not installed, install it from Language & region in the Windows settings.
  2. Set the Microsoft Japanese IME setting to compatibility mode.
    1. In Windows settings, go to Time & Language> Language & Region Settings.
    2. Click the ... mark to the right of Japanese language to open language options.
    3. Click the ... mark to the right of Microsoft IME to open keyboard options.
    4. Open the General settings and turn on the "Use previous version of Microsoft IME" setting from the Compatibility item.
  3. Set the input mode to Microsoft Japanese IME.
  4. Create an app that contains a Textbox control and press the ImeOn or ImeOff key on the Textbox. Pressing the Ime On key or Ime Off key does not switch the input mode.
  5. When Microsoft Japanese IME is in compatibility mode, pressing the Ime On key or Ime Off key does not switch the input mode. When compatibility mode is OFF, pressing the Ime On key enables Japanese input, and pressing the Ime Off key enables English input.
lindexi commented 2 years ago

Reference: IME can't be turned on for TextBoxes inside a Popup

Not the same issues.