From e333eb06fd9f95ad1234c2bf0c50ce229b0a0e03 Mon Sep 17 00:00:00 2001 From: Jules Aguillon Date: Fri, 30 Dec 2022 15:15:58 +0100 Subject: 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. --- srcs/juloo.keyboard2/KeyEventHandler.java | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'srcs/juloo.keyboard2/KeyEventHandler.java') 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); -- cgit v1.2.3