abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/KeyEventHandler.java
diff options
context:
space:
mode:
authorJules Aguillon2025-08-25 01:40:21 +0200
committerJules Aguillon2025-12-28 18:08:36 +0100
commit2b60f94ead0f7ac6c1df0b8c60a8c2facd385167 (patch)
tree7c7f593000b497dd050a89402b29014d9b8330ab /srcs/juloo.keyboard2/KeyEventHandler.java
parentf082fcdebc4f129cd262ee4a0a6b83d91fde72bb (diff)
downloadunexpected-keyboard-2b60f94ead0f7ac6c1df0b8c60a8c2facd385167.tar.gz
unexpected-keyboard-2b60f94ead0f7ac6c1df0b8c60a8c2facd385167.zip
Enter the suggestion when it's pressed
The current word is replaced by the pressed suggestion.
Diffstat (limited to 'srcs/juloo.keyboard2/KeyEventHandler.java')
-rw-r--r--srcs/juloo.keyboard2/KeyEventHandler.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/srcs/juloo.keyboard2/KeyEventHandler.java b/srcs/juloo.keyboard2/KeyEventHandler.java
index 336398c..c6b1730 100644
--- a/srcs/juloo.keyboard2/KeyEventHandler.java
+++ b/srcs/juloo.keyboard2/KeyEventHandler.java
@@ -121,7 +121,7 @@ public final class KeyEventHandler
@Override
public void suggestion_entered(String text)
{
- // TODO
+ replace_text_before_cursor(_typedword.get().length(), text + " ");
}
@Override
@@ -235,6 +235,19 @@ public final class KeyEventHandler
_typedword.typed(text);
}
+ void replace_text_before_cursor(int remove_length, String new_text)
+ {
+ InputConnection conn = _recv.getCurrentInputConnection();
+ if (conn == null)
+ return;
+ conn.beginBatchEdit();
+ conn.deleteSurroundingText(remove_length, 0);
+ conn.commitText(new_text, 1);
+ conn.endBatchEdit();
+ _autocap.typed(new_text);
+ _typedword.typed(new_text);
+ }
+
/** See {!InputConnection.performContextMenuAction}. */
void send_context_menu_action(int id)
{