abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/Keyboard2.java
diff options
context:
space:
mode:
Diffstat (limited to 'srcs/juloo.keyboard2/Keyboard2.java')
-rw-r--r--srcs/juloo.keyboard2/Keyboard2.java27
1 files changed, 23 insertions, 4 deletions
diff --git a/srcs/juloo.keyboard2/Keyboard2.java b/srcs/juloo.keyboard2/Keyboard2.java
index 70c0892..abea412 100644
--- a/srcs/juloo.keyboard2/Keyboard2.java
+++ b/srcs/juloo.keyboard2/Keyboard2.java
@@ -139,6 +139,9 @@ public class Keyboard2 extends InputMethodService
refreshSubtypeLayout(subtype);
refreshAccentsOption(imm, subtype);
}
+ _config.shouldOfferSwitchingToProgramming =
+ _config.programming_layout != -1 &&
+ _currentTextLayout != _config.programming_layout;
}
private String actionLabel_of_imeAction(int action)
@@ -276,11 +279,27 @@ public class Keyboard2 extends InputMethodService
conn.performEditorAction(_config.actionId);
}
- public void setLayout(int res_id)
+ public void switchMain()
{
- if (res_id == -1)
- res_id = _currentTextLayout;
- _keyboardView.setKeyboard(getLayout(res_id));
+ _keyboardView.setKeyboard(getLayout(_currentTextLayout));
+ }
+
+ public void switchNumeric()
+ {
+ _keyboardView.setKeyboard(getLayout(R.xml.numeric));
+ }
+
+ public void switchProgramming()
+ {
+ if (_config.programming_layout == -1)
+ return;
+ KeyboardData layout =
+ getLayout(_config.programming_layout).replaceKeys(key -> {
+ if (key != null && key.eventCode == KeyValue.EVENT_SWITCH_PROGRAMMING)
+ return KeyValue.getKeyByName("switch_text");
+ return key;
+ });
+ _keyboardView.setKeyboard(layout);
}
public void sendKeyEvent(int eventAction, int eventCode, int meta)