Index: trunk/src/org/openstreetmap/josm/tools/I18n.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/I18n.java	(revision 14012)
+++ trunk/src/org/openstreetmap/josm/tools/I18n.java	(revision 14013)
@@ -90,4 +90,5 @@
     /** Map (english/locale) of plural strings **/
     private static volatile Map<String, String[]> pstrings;
+    private static Locale originalLocale = Locale.getDefault();
     private static Map<String, PluralMode> languages = new HashMap<>();
     static {
@@ -635,3 +636,13 @@
         return new HashMap<>(pstrings);
     }
+
+    /**
+     * Returns the original default locale found when the JVM started.
+     * Used to guess real language/country of current user disregarding language chosen in JOSM preferences.
+     * @return the original default locale found when the JVM started
+     * @since 14013
+     */
+    public static Locale getOriginalLocale() {
+        return originalLocale;
+    }
 }
Index: trunk/src/org/openstreetmap/josm/tools/KeyboardUtils.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/KeyboardUtils.java	(revision 14012)
+++ trunk/src/org/openstreetmap/josm/tools/KeyboardUtils.java	(revision 14013)
@@ -160,4 +160,7 @@
      */
     public static List<Character> getCharactersForKey(char row, int column, Locale l) {
+        if (l == null) {
+            l = I18n.getOriginalLocale();
+        }
         if ('E' == row && 0 == column) {
             List<Character> result = new ArrayList<>();
@@ -258,4 +261,6 @@
                 result.add('*');
                 break;
+            default:
+                // Do nothing
             }
 
@@ -286,4 +291,6 @@
                 result.add('º'); // https://en.wikipedia.org/wiki/Ordinal_indicator
                 break;
+            default:
+                // Do nothing
             }
 
@@ -348,4 +355,6 @@
                 addThaiCharacters(map);
                 break;
+            default:
+                // Do nothing
         }
 
Index: trunk/src/org/openstreetmap/josm/tools/Shortcut.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/Shortcut.java	(revision 14012)
+++ trunk/src/org/openstreetmap/josm/tools/Shortcut.java	(revision 14013)
@@ -4,5 +4,4 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import java.awt.Toolkit;
 import java.awt.event.KeyEvent;
 import java.util.ArrayList;
