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 not change IME on Ubuntu 16.04 #7106

Closed
volzhs opened this issue Nov 13, 2016 · 15 comments
Closed

Can not change IME on Ubuntu 16.04 #7106

volzhs opened this issue Nov 13, 2016 · 15 comments

Comments

@volzhs
Copy link
Contributor

volzhs commented Nov 13, 2016

Operating system or device - Godot version:
Ubuntu 16.04, master head (c93c2a6)

Issue description (what happened, and what was expected):
I got error when run editor or game.

Error setting locale modifiers

comes from https://github.com/godotengine/godot/blob/master/platform/x11/os_x11.cpp#L118-L121

@reduz
Copy link
Member

reduz commented Nov 13, 2016

I've seen this before, but don' t have the slightest clue why it happens
for some people

On Sun, Nov 13, 2016 at 11:44 AM, volzhs [email protected] wrote:

Operating system or device - Godot version:
Ubuntu 16.04, master head (c93c2a6
c93c2a6
)

Issue description (what happened, and what was expected):
I got error when run editor or game.

Error setting locale modifiers

comes from https://github.com/godotengine/godot/blob/master/
platform/x11/os_x11.cpp#L118-L121


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#7106, or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2_p0Ejf4V69dk6_oPv2nCKB5IG5qks5q9yJWgaJpZM4KwtP6
.

@volzhs
Copy link
Contributor Author

volzhs commented Nov 13, 2016

I just read #5158, and I tried to run with sudo ./godot.tool.64.
I got no error, though can't change locale.

@bojidar-bg
Copy link
Contributor

@volzhs What about running it with an absolute path to the binary?

@volzhs
Copy link
Contributor Author

volzhs commented Jan 30, 2017

@bojidar-bg it's same. I have this problem with Krita(.appimage) too.
and blender(steam version) shows square.

@bojidar-bg
Copy link
Contributor

@volzhs Hm, that's strange, I can't confirm it on my arch linux when running it from $PATH... Maybe some installation weirdness?

@volzhs
Copy link
Contributor Author

volzhs commented Jan 30, 2017

maybe. I've tried several ways to configure IME, but not good so far. :(

@akien-mga
Copy link
Member

As discussed on IRC with @hpvb, the issue might be due to some locales that do not allow not to have an input method defined, so our call to XSetLocaleModifiers ("@im=none"); fails. That would explain #5158 which we worked around by printing the error @volzhs mentioned above.
See https://www.x.org/archive/X11R6.8.0/doc/XSetLocaleModifiers.3.html for the X11 documentation about XSetLocaleModifiers.

So a potential solution would be to find the X11 calls that can list the valid im modifier values, and define the proper one instead of forcing none.

@Tugsav
Copy link
Contributor

Tugsav commented Feb 17, 2017

I seem to get this issue as well on Ubuntu 16.04. (godot 2.1.2-stable)
After some tinkering i have found that setting the XMODIFIERS environment var to an empty string using
export XMODIFIERS=""
in the terminal before starting godot solves it for me.

@akien-mga
Copy link
Member

What's your usual XMODIFIERS env var when not overridden?

@Tugsav
Copy link
Contributor

Tugsav commented Feb 17, 2017

"@im"

@Tugsav
Copy link
Contributor

Tugsav commented Feb 17, 2017

[update]
It seems that XMODIFIERS can also be set to
"@im="
or any string of the form "@im=[something]" such as
"@im=ibus" or even "@im=blabla123"
and godot will not get the warning

@volzhs
Copy link
Contributor Author

volzhs commented Feb 17, 2017

in my test, export XMODIFIERS="" or "@im=" makes no warning but still can't change IME on Ubuntu 16.04.1

@akien-mga
Copy link
Member

akien-mga commented Feb 17, 2017

I think having proper IME support will likely be way more complex than just fixing the parsing of XMODIFIERS. But that's a first step.

sowfelicity added a commit to sowfelicity/godot that referenced this issue Jun 25, 2017
    Workaround for supporting input method frameworks like SCIM,
    IBus, Fcitx, etc.

    The locale is set when the application starts.

    Workaround for input when the input context within the specified
    input method is not available.
@volzhs
Copy link
Contributor Author

volzhs commented Jun 25, 2017

it's fixed by 41029eb.
now I can type Korean in script editor. 👍

@volzhs volzhs closed this as completed Jun 25, 2017
@volzhs
Copy link
Contributor Author

volzhs commented Jun 25, 2017

I wish 2.1.x has this fix too. 😄

@akien-mga akien-mga added this to the 3.0 milestone Jun 25, 2017
sowfelicity added a commit to sowfelicity/godot that referenced this issue Jun 26, 2017
…otengine#7106 godotengine#9381):

    Check each event in the queue to send echo event even if IME is
    activated.
sowfelicity added a commit to sowfelicity/godot that referenced this issue Jun 29, 2017
    Request detectable auto-repeat (Require XKB extension) to support
    echo events and IME at the same time. Fixes godotengine#29, godotengine#7106 and godotengine#9381.
akien-mga added a commit that referenced this issue Jul 3, 2017
Workaround for IME and echo events on Linux (fixes #29 #7106 #9381):
groscalin pushed a commit to groscalin/godot that referenced this issue Jul 15, 2017
    Workaround for supporting input method frameworks like SCIM,
    IBus, Fcitx, etc.

    The locale is set when the application starts.

    Workaround for input when the input context within the specified
    input method is not available.
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

5 participants