diff --git a/res/xml/pin.xml b/res/xml/pin.xml
index d3f6846..2f0447e 100644
--- a/res/xml/pin.xml
+++ b/res/xml/pin.xml
@@ -22,6 +22,6 @@
-
+
diff --git a/srcs/juloo.keyboard2/Config.java b/srcs/juloo.keyboard2/Config.java
index 9f95519..e4dbe2b 100644
--- a/srcs/juloo.keyboard2/Config.java
+++ b/srcs/juloo.keyboard2/Config.java
@@ -325,6 +325,27 @@ public final class Config
});
}
+ /** Modify the pin entry layout. [main_kw] is used to map the digits into the
+ same script. */
+ public KeyboardData modify_pinentry(KeyboardData kw, KeyboardData main_kw)
+ {
+ final KeyModifier.Map_char map_digit = KeyModifier.modify_numpad_script(main_kw.numpad_script);
+ return kw.mapKeys(new KeyboardData.MapKeyValues() {
+ public KeyValue apply(KeyValue key, boolean localized)
+ {
+ switch (key.getKind())
+ {
+ case Char:
+ String modified = map_digit.apply(key.getChar());
+ if (modified != null)
+ return key.withSymbol(modified);
+ break;
+ }
+ return key;
+ }
+ });
+ }
+
private float get_dip_pref(DisplayMetrics dm, String pref_name, float def)
{
float value;
diff --git a/srcs/juloo.keyboard2/Keyboard2.java b/srcs/juloo.keyboard2/Keyboard2.java
index 6440c7d..2a6025b 100644
--- a/srcs/juloo.keyboard2/Keyboard2.java
+++ b/srcs/juloo.keyboard2/Keyboard2.java
@@ -88,13 +88,19 @@ public class Keyboard2 extends InputMethodService
return KeyboardData.load(getResources(), layout_id);
}
- /** Load a layout that contains a numpad (eg. the pin entry). */
+ /** Load a layout that contains a numpad. */
KeyboardData loadNumpad(int layout_id)
{
return _config.modify_numpad(KeyboardData.load(getResources(), layout_id),
current_layout_unmodified());
}
+ KeyboardData loadPinentry(int layout_id)
+ {
+ return _config.modify_pinentry(KeyboardData.load(getResources(), layout_id),
+ current_layout_unmodified());
+ }
+
@Override
public void onCreate()
{
@@ -230,7 +236,7 @@ public class Keyboard2 extends InputMethodService
case InputType.TYPE_CLASS_PHONE:
case InputType.TYPE_CLASS_DATETIME:
if (_config.pin_entry_enabled)
- return loadNumpad(R.xml.pin);
+ return loadPinentry(R.xml.pin);
else
return loadNumpad(R.xml.numeric);
default: