diff options
| author | Jules Aguillon | 2022-12-30 15:15:58 +0100 |
|---|---|---|
| committer | Jules Aguillon | 2022-12-30 15:29:18 +0100 |
| commit | e333eb06fd9f95ad1234c2bf0c50ce229b0a0e03 (patch) | |
| tree | 39313ab4ed726142d0ca6c48cb8a560840a76654 /srcs | |
| parent | 764cd882d2980bc734cf9ed9f0b1d74e552474aa (diff) | |
| download | unexpected-keyboard-e333eb06fd9f95ad1234c2bf0c50ce229b0a0e03.tar.gz unexpected-keyboard-e333eb06fd9f95ad1234c2bf0c50ce229b0a0e03.zip | |
Add keys for every context menu actions
The most requested keys are undo and redo. Unfortunatly redo doesn't
work reliably.
The other context menu actions like share, assist and autofill are added
even thought they are rarely useful or implemented.
Diffstat (limited to 'srcs')
| -rw-r--r-- | srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java | 9 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/KeyEventHandler.java | 27 | ||||
| -rw-r--r-- | srcs/juloo.keyboard2/KeyValue.java | 17 |
3 files changed, 44 insertions, 9 deletions
diff --git a/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java b/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java index f8e0d1e..f013e51 100644 --- a/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java +++ b/srcs/juloo.keyboard2/ExtraKeyCheckBoxPreference.java @@ -39,7 +39,14 @@ public class ExtraKeyCheckBoxPreference extends CheckBoxPreference "copy", "paste", "cut", - "select_all", + "selectAll", + "shareText", + "pasteAsPlainText", + "undo", + "redo", + "replaceText", + "textAssist", + "autofill", }; public static boolean default_checked(String name) diff --git a/srcs/juloo.keyboard2/KeyEventHandler.java b/srcs/juloo.keyboard2/KeyEventHandler.java index 9be23c5..d6afb46 100644 --- a/srcs/juloo.keyboard2/KeyEventHandler.java +++ b/srcs/juloo.keyboard2/KeyEventHandler.java @@ -66,17 +66,30 @@ class KeyEventHandler implements Config.IKeyEventHandler case Modifier: break; case Editing: - switch (key.getEditing()) - { - case COPY: send_context_menu_action(android.R.id.copy); break; - case PASTE: send_context_menu_action(android.R.id.paste); break; - case CUT: send_context_menu_action(android.R.id.cut); break; - case SELECT_ALL: send_context_menu_action(android.R.id.selectAll); break; - } + send_context_menu_action(action_of_editing_key(key.getEditing())); break; } } + static int action_of_editing_key(KeyValue.Editing e) + { + switch (e) + { + case COPY: return android.R.id.copy; + case PASTE: return android.R.id.paste; + case CUT: return android.R.id.cut; + case SELECT_ALL: return android.R.id.selectAll; + case SHARE: return android.R.id.shareText; + case PASTE_PLAIN: return android.R.id.pasteAsPlainText; + case UNDO: return android.R.id.undo; + case REDO: return android.R.id.redo; + case REPLACE: return android.R.id.replaceText; + case ASSIST: return android.R.id.textAssist; + case AUTOFILL: return android.R.id.autofill; + default: return -1; // sad + } + } + // private void handleDelKey(int before, int after) // { // CharSequence selection = getCurrentInputConnection().getSelectedText(0); diff --git a/srcs/juloo.keyboard2/KeyValue.java b/srcs/juloo.keyboard2/KeyValue.java index 7215736..b7a0593 100644 --- a/srcs/juloo.keyboard2/KeyValue.java +++ b/srcs/juloo.keyboard2/KeyValue.java @@ -58,6 +58,14 @@ final class KeyValue PASTE, CUT, SELECT_ALL, + PASTE_PLAIN, + UNDO, + REDO, + // Android context menu actions + REPLACE, + SHARE, + ASSIST, + AUTOFILL, } public static enum Kind @@ -356,7 +364,14 @@ final class KeyValue addEditingKey("copy", "copy", Editing.COPY); addEditingKey("paste", "paste", Editing.PASTE); addEditingKey("cut", "cut", Editing.CUT); - addEditingKey("select_all", "s. all", Editing.SELECT_ALL); + addEditingKey("selectAll", "s. all", Editing.SELECT_ALL); + addEditingKey("shareText", "share", Editing.SHARE); + addEditingKey("pasteAsPlainText", "<paste>", Editing.PASTE_PLAIN); + addEditingKey("undo", "undo", Editing.UNDO); + addEditingKey("redo", "redo", Editing.REDO); + addEditingKey("replaceText", "repl.", Editing.REPLACE); + addEditingKey("textAssist", "assist", Editing.ASSIST); + addEditingKey("autofill", "auto.", Editing.AUTOFILL); } static final HashMap<String, String> keys_descr = new HashMap<String, String>(); |
