From 687d88f4f767190d2d60fe104a140381b6652d18 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Sun, 3 Sep 2023 23:38:55 +0200 Subject: Per-script numpad The numeric layout and the optional right hand side numpad are modified to show the digits belonging to the script used in the current layout. The numpads are still defined as it was before. The digits are changed in `modify_numpad` if needed. --- srcs/juloo.keyboard2/Keyboard2.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'srcs/juloo.keyboard2/Keyboard2.java') diff --git a/srcs/juloo.keyboard2/Keyboard2.java b/srcs/juloo.keyboard2/Keyboard2.java index 924f87b..5720f64 100644 --- a/srcs/juloo.keyboard2/Keyboard2.java +++ b/srcs/juloo.keyboard2/Keyboard2.java @@ -40,8 +40,8 @@ public class Keyboard2 extends InputMethodService private Config _config; - /** Layout currently visible. */ - KeyboardData current_layout() + /** Layout currently visible before it has been modified. */ + KeyboardData current_layout_unmodified() { if (_currentSpecialLayout != null) return _currentSpecialLayout; @@ -52,7 +52,13 @@ public class Keyboard2 extends InputMethodService layout = _config.layouts.get(_currentTextLayout); if (layout == null) layout = _localeTextLayout; - return _config.modify_layout(layout); + return layout; + } + + /** Layout currently visible. */ + KeyboardData current_layout() + { + return _config.modify_layout(current_layout_unmodified()); } void setTextLayout(int l) @@ -84,7 +90,9 @@ public class Keyboard2 extends InputMethodService /** Load a layout that contains a numpad (eg. the pin entry). */ KeyboardData loadNumpad(int layout_id) { - return _config.modify_numpad(KeyboardData.load(getResources(), layout_id)); + String current_script = current_layout_unmodified().script; + return _config.modify_numpad(KeyboardData.load(getResources(), layout_id), + current_script); } @Override -- cgit v1.2.3