diff --git a/res/xml/azerty.xml b/res/xml/azerty.xml
index c081d56..0e3f073 100644
--- a/res/xml/azerty.xml
+++ b/res/xml/azerty.xml
@@ -14,13 +14,13 @@
-
+
-
+
@@ -31,7 +31,7 @@
-
+
diff --git a/res/xml/dvorak.xml b/res/xml/dvorak.xml
index 7f2cbe9..028daa6 100644
--- a/res/xml/dvorak.xml
+++ b/res/xml/dvorak.xml
@@ -2,32 +2,32 @@
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
+
+
-
+
diff --git a/res/xml/local_bgph1.xml b/res/xml/local_bgph1.xml
index 0d71527..7ed407a 100644
--- a/res/xml/local_bgph1.xml
+++ b/res/xml/local_bgph1.xml
@@ -9,28 +9,28 @@
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
diff --git a/res/xml/neo2.xml b/res/xml/neo2.xml
index 7ff0be7..b3d36d2 100644
--- a/res/xml/neo2.xml
+++ b/res/xml/neo2.xml
@@ -14,17 +14,17 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/xml/qwerty.xml b/res/xml/qwerty.xml
index 4457bec..39df62e 100644
--- a/res/xml/qwerty.xml
+++ b/res/xml/qwerty.xml
@@ -3,34 +3,34 @@
-
+
-
+
-
-
-
-
+
+
+
+
-
-
+
+
-
+
-
+
diff --git a/res/xml/qwerty_es.xml b/res/xml/qwerty_es.xml
index 3695996..f83bb4a 100644
--- a/res/xml/qwerty_es.xml
+++ b/res/xml/qwerty_es.xml
@@ -9,17 +9,17 @@
-
+
-
-
+
+
-
+
-
+
@@ -28,7 +28,7 @@
-
+
diff --git a/res/xml/qwerty_ko.xml b/res/xml/qwerty_ko.xml
index b945147..482f342 100644
--- a/res/xml/qwerty_ko.xml
+++ b/res/xml/qwerty_ko.xml
@@ -3,7 +3,7 @@
-
+
@@ -14,8 +14,8 @@
-
-
+
+
diff --git a/res/xml/qwerty_lv.xml b/res/xml/qwerty_lv.xml
index e9a1fc2..9d4db25 100644
--- a/res/xml/qwerty_lv.xml
+++ b/res/xml/qwerty_lv.xml
@@ -14,9 +14,9 @@
-
-
-
+
+
+
diff --git a/res/xml/qwerty_pt.xml b/res/xml/qwerty_pt.xml
index 40110da..6e5d28d 100644
--- a/res/xml/qwerty_pt.xml
+++ b/res/xml/qwerty_pt.xml
@@ -3,10 +3,10 @@
-
+
-
+
@@ -14,9 +14,9 @@
-
-
-
+
+
+
diff --git a/res/xml/qwerty_sv_se.xml b/res/xml/qwerty_sv_se.xml
index 15aa6ca..fe41134 100644
--- a/res/xml/qwerty_sv_se.xml
+++ b/res/xml/qwerty_sv_se.xml
@@ -15,9 +15,9 @@
-
-
-
+
+
+
diff --git a/res/xml/qwertz.xml b/res/xml/qwertz.xml
index 77d0fc5..ffa8d36 100644
--- a/res/xml/qwertz.xml
+++ b/res/xml/qwertz.xml
@@ -15,7 +15,7 @@
-
+
diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java
index 856f387..d88f027 100644
--- a/srcs/juloo.keyboard2/KeyValue.java
+++ b/srcs/juloo.keyboard2/KeyValue.java
@@ -106,6 +106,14 @@ class KeyValue
flags = f;
}
+ private static String stripPrefix(String s, String prefix)
+ {
+ if (s.startsWith(prefix))
+ return s.substring(prefix.length());
+ else
+ return null;
+ }
+
public static KeyValue getKeyByName(String name)
{
if (name == null)
@@ -113,6 +121,12 @@ class KeyValue
KeyValue kv = KeyValue.keys.get(name);
if (kv != null)
return kv;
+ String localized = stripPrefix(name, "loc ");
+ if (localized != null)
+ {
+ kv = getKeyByName(localized);
+ return kv.withFlags(kv.flags | FLAG_LOCALIZED);
+ }
char c = (name.length() == 1) ? name.charAt(0) : CHAR_NONE;
return new KeyValue(name, name, c, EVENT_NONE, 0);
}
@@ -165,18 +179,18 @@ class KeyValue
FLAG_SHIFT | FLAG_KEY_FONT | FLAG_SMALLER_FONT);
addModifierKey("ctrl", "Ctrl", FLAG_CTRL | FLAG_SMALLER_FONT);
addModifierKey("alt", "Alt", FLAG_ALT | FLAG_SMALLER_FONT);
- addModifierKey("accent_aigu", "\u0050", FLAG_ACCENT2 | FLAG_KEY_FONT | FLAG_LOCALIZED);
- addModifierKey("accent_caron", "\u0051", FLAG_ACCENT_CARON | FLAG_KEY_FONT | FLAG_LOCALIZED);
- addModifierKey("accent_cedille", "\u0052", FLAG_ACCENT5 | FLAG_KEY_FONT | FLAG_LOCALIZED);
- addModifierKey("accent_circonflexe", "\u0053", FLAG_ACCENT3 | FLAG_KEY_FONT | FLAG_LOCALIZED);
- addModifierKey("accent_grave", "\u0054", FLAG_ACCENT1 | FLAG_KEY_FONT | FLAG_LOCALIZED);
- addModifierKey("accent_macron", "\u0055", FLAG_ACCENT_MACRON | FLAG_KEY_FONT | FLAG_LOCALIZED);
- addModifierKey("accent_ring", "\u0056", FLAG_ACCENT_RING | FLAG_KEY_FONT | FLAG_LOCALIZED);
- addModifierKey("accent_tilde", "\u0057", FLAG_ACCENT4 | FLAG_KEY_FONT | FLAG_LOCALIZED);
- addModifierKey("accent_trema", "\u0058", FLAG_ACCENT6 | FLAG_KEY_FONT | FLAG_LOCALIZED);
- addModifierKey("accent_ogonek", "\u0059", FLAG_ACCENT_OGONEK | FLAG_KEY_FONT | FLAG_LOCALIZED);
- addModifierKey("accent_dot_above", "\u005a", FLAG_ACCENT_DOT_ABOVE | FLAG_KEY_FONT | FLAG_LOCALIZED);
- addModifierKey("accent_double_aigu", "\u005b", FLAG_ACCENT_DOUBLE_AIGU | FLAG_KEY_FONT | FLAG_LOCALIZED);
+ addModifierKey("accent_aigu", "\u0050", FLAG_ACCENT2 | FLAG_KEY_FONT);
+ addModifierKey("accent_caron", "\u0051", FLAG_ACCENT_CARON | FLAG_KEY_FONT);
+ addModifierKey("accent_cedille", "\u0052", FLAG_ACCENT5 | FLAG_KEY_FONT);
+ addModifierKey("accent_circonflexe", "\u0053", FLAG_ACCENT3 | FLAG_KEY_FONT);
+ addModifierKey("accent_grave", "\u0054", FLAG_ACCENT1 | FLAG_KEY_FONT);
+ addModifierKey("accent_macron", "\u0055", FLAG_ACCENT_MACRON | FLAG_KEY_FONT);
+ addModifierKey("accent_ring", "\u0056", FLAG_ACCENT_RING | FLAG_KEY_FONT);
+ addModifierKey("accent_tilde", "\u0057", FLAG_ACCENT4 | FLAG_KEY_FONT);
+ addModifierKey("accent_trema", "\u0058", FLAG_ACCENT6 | FLAG_KEY_FONT);
+ addModifierKey("accent_ogonek", "\u0059", FLAG_ACCENT_OGONEK | FLAG_KEY_FONT);
+ addModifierKey("accent_dot_above", "\u005a", FLAG_ACCENT_DOT_ABOVE | FLAG_KEY_FONT);
+ addModifierKey("accent_double_aigu", "\u005b", FLAG_ACCENT_DOUBLE_AIGU | FLAG_KEY_FONT);
addModifierKey("superscript", "Sup", FLAG_ACCENT_SUPERSCRIPT | FLAG_SMALLER_FONT);
addModifierKey("subscript", "Sub", FLAG_ACCENT_SUBSCRIPT | FLAG_SMALLER_FONT);
addModifierKey("ordinal", "Ord", FLAG_ACCENT_ORDINAL | FLAG_SMALLER_FONT);
@@ -238,9 +252,6 @@ class KeyValue
addCharKey('#', KeyEvent.KEYCODE_POUND);
addCharKey('(', KeyEvent.KEYCODE_NUMPAD_LEFT_PAREN);
addCharKey(')', KeyEvent.KEYCODE_NUMPAD_RIGHT_PAREN);
- addCharKey('ß', EVENT_NONE, FLAG_LOCALIZED);
- addCharKey('€', EVENT_NONE, FLAG_LOCALIZED);
- addCharKey('£', EVENT_NONE, FLAG_LOCALIZED);
addSpecialKey("config", "\u0004", EVENT_CONFIG, FLAG_KEY_FONT | FLAG_SMALLER_FONT);
addSpecialKey("switch_text", "ABC", EVENT_SWITCH_TEXT, FLAG_SMALLER_FONT);