Modify

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#21061 closed defect (worksforme)

Warning: Unable to use English input method

Reported by: skyper Owned by: team
Priority: normal Milestone:
Component: Core Version: latest
Keywords: template_report keyboard input method language Cc:

Description (last modified by skyper)

What steps will reproduce the problem?

Do not really know.
I am using an external keyboard with German layout and default 105+ nodeadkeys German setting.
JOSM language setting is unchanged (system defaults) and locale is LANG=en_US.utf8 with LANGUAGE= unset.

What is the expected result?

No repeating warning and info messages in the console.

What happens instead?

Console is spawned with messages:

2021-07-01 17:00:01.311 INFO: Using English input method
2021-07-01 17:00:01.311 WARNING: Unable to use English input method
2021-07-01 17:00:01.311 INFO: Restoring input method to _US
2021-07-01 17:00:09.805 INFO: Using English input method
2021-07-01 17:00:09.806 WARNING: Unable to use English input method
2021-07-01 17:00:09.806 INFO: Restoring input method to _US
2021-07-01 17:00:41.667 INFO: Using English input method
2021-07-01 17:00:41.668 WARNING: Unable to use English input method
2021-07-01 17:00:41.668 INFO: Restoring input method to _US
2021-07-01 17:00:52.892 INFO: Using English input method
2021-07-01 17:00:52.892 WARNING: Unable to use English input method
2021-07-01 17:00:52.893 INFO: Restoring input method to _US
2021-07-01 17:01:28.839 INFO: Using English input method
2021-07-01 17:01:28.839 WARNING: Unable to use English input method
2021-07-01 17:01:28.839 INFO: Restoring input method to _US

Please provide any additional information below. Attach a screenshot if possible.

Can not really tell when it started but not that long ago. Might have some more time after the weekend to try different revisions and different keyboards.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2021-06-28 23:03:35 +0200 (Mon, 28 Jun 2021)
Revision:17943
Build-Date:2021-06-29 01:31:02
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (17943 en) Linux Debian GNU/Linux 10 (buster)
Java version: 11.0.11+9-post-Debian-1deb10u1, Debian, OpenJDK 64-Bit Server VM
Look and Feel: com.formdev.flatlaf.FlatDarkLaf
Environment variable LANG: en_US.utf8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Desktop environment: GNOME

Last errors/warnings:
- 08589.866 W: Unable to use English input method
- 08601.090 W: Unable to use English input method
- 08637.037 W: Unable to use English input method
- 08685.429 W: Unable to use English input method
- 08699.632 W: Unable to use English input method
- 08721.870 W: Unable to use English input method
- 08829.967 W: Unable to use English input method
- 09191.703 W: Unable to use English input method
- 09211.047 W: Unable to use English input method
- 09290.976 W: Unable to use English input method

Change History (9)

comment:1 by skyper, 4 years ago

Description: modified (diff)

comment:2 by skyper, 4 years ago

Ok, I have tested with a different keyboard and back to r14620 without any different behavior.

I figured out, that it is triggered by the "Add Value" dialog with the context menu option "Use English language for tag by default" enabled. It is kind of strange as I would remember if I had gotten these messages on the console for month now. Maybe, I enabled this option by accident or some underlying software did change.

comment:3 by Don-vip, 4 years ago

Resolution: worksforme
Status: newclosed

This is really environment specific. If Java cannot use English input for whatever reason, JOSM can do nothing about it.

comment:4 by skyper, 4 years ago

Why is JOSM expecting an English keyboard setting and even trying to change the setting/layout if I enable "Use English language for tag by default"? This seems to be wrong.

comment:5 by Don-vip, 4 years ago

If you enable this option, JOSM tries to setup English input method but restores the previous one in case of failure:

    /**
     * If the locale is fixed, English keyboard layout will be used by default for this combobox
     * all other components can still have different keyboard layout selected
     * @param f fixed locale
     */
    public void setFixedLocale(boolean f) {
        useFixedLocale = f;
        if (useFixedLocale) {
            Locale oldLocale = privateInputContext.getLocale();
            Logging.info("Using English input method");
            if (!privateInputContext.selectInputMethod(new Locale("en", "US"))) {
                // Unable to use English keyboard layout, disable the feature
                Logging.warn("Unable to use English input method");
                useFixedLocale = false;
                if (oldLocale != null) {
                    Logging.info("Restoring input method to " + oldLocale);
                    if (!privateInputContext.selectInputMethod(oldLocale)) {
                        Logging.warn("Unable to restore input method to " + oldLocale);
                    }
                }
            }
        }
    }

This is perfectly fine. The problem is that your setup forbids to use English input, I don't know why.

comment:6 by skyper, 4 years ago

Ok, then the description is off as there is no word about input method.

Does changing the input method only for certain windows or combo boxes work with Wayland?

Last edited 4 years ago by skyper (previous) (diff)

comment:7 by Don-vip, 4 years ago

It's here since r5704 and it seems to do exactly what is meant by the UI. If you find it unclear, please feel free to update the wiki.

comment:8 by skyper, 4 years ago

If was referring to Use English language for tag by default which, in my eyes, should be changed to Use English input method for tag by default or Use English keyboard layout for tag by default. As written above, my whole system is using English but with a German keyboard and German keyboard layout.

I will try to better document on the wiki but the description in the context menu is misinterpretable and, at least, for languages with Latin letters quite strange.

Last edited 4 years ago by skyper (previous) (diff)

comment:9 by skyper, 4 years ago

Can anyone confirm that this setting is working on Linux, especially, with Xwayland in use?

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.