Search Unity

  1. Get the latest news, tutorials and offers directly to your inbox with our newsletters. Sign up now.
    Dismiss Notice

Unity Linux inputfiled IME issue

Discussion in 'Linux' started by yw14205, Dec 22, 2020.

  1. yw14205

    yw14205

    Joined:
    Apr 9, 2019
    Posts:
    1
    Hi,
    I met a problem while developing application with unity linux standalone, that while inputfield is focused, it cannot recognize current IME status. If I switch input metod to CJK related IME and typing somthing, the variable 'Compositionstring' keeps empty and only single english character was input.

    Then I did some test with several editor versions, ubuntu versions and input methods. I create an empty project. Add inputfield(UGUI) and a script that forcing the IMECompositionMode to On and keep reading the two variable Input.imeIsSelected Input.compositionString. Build it in window and fullscreen mode separately. Then launch it and switch input method to a CJK IME and typing something. The imeIsSelected keeps false and compositionString keeps empty (only single english character was input).

    I tried the above test with the following configurations, and all the result are the same. By the way, these three linuxeditor could not use IME as well.
    Ubuntu versions:
    ubuntu16.04LTS(unity)
    ubuntu16.04LTS(gnome)
    ubuntu18.04LTS
    ubuntu20.04LTS
    Editor Versions:
    unityeditor-linux-2019.3.15f1
    unityeditor-linux-2019.4.13f1
    unityeditor-linux-5.6.2xf1
    Input Methods:
    fcitx-pinyin
    ibus-pinyin
    Runtime Environment:
    monobackend and .net4.x

    I am wondering is there any specific configuration (editor version, ubuntu version, inputmethods) that could use IME in inputfield on linux standalone(It works properly on windows standalone)? Or is there any way to get the system IME status and compositionString? I also tried to find native IM labrary to fix this by referenceing the issue resolving methods on WbgGL and windows. But could find a corresponding library.

    Thanks!
     
unityunity