abouttreesummaryrefslogcommitdiff
diff options
context:
space:
mode:
-rw-r--r--srcs/juloo.keyboard2/KeyEventHandler.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/srcs/juloo.keyboard2/KeyEventHandler.java b/srcs/juloo.keyboard2/KeyEventHandler.java
index c1f0a89..e903bdb 100644
--- a/srcs/juloo.keyboard2/KeyEventHandler.java
+++ b/srcs/juloo.keyboard2/KeyEventHandler.java
@@ -183,14 +183,20 @@ class KeyEventHandler implements Config.IKeyEventHandler
}
/** Move the cursor right or left, if possible without sending key events.
- Unlike arrow keys, the selection is not removed even if shift is not on. */
+ Unlike arrow keys, the selection is not removed even if shift is not on.
+ Falls back to sending arrow keys events if the editor do not support
+ moving the cursor or a modifier other than shift is pressed. */
void move_cursor(int d, Pointers.Modifiers mods)
{
InputConnection conn = _recv.getCurrentInputConnection();
if (conn == null)
return;
ExtractedText et = get_cursor_pos(conn);
- if (et == null) // Editor doesn't support moving the cursor
+ // Fallback to sending key events
+ if (et == null
+ || mods.has(KeyValue.Modifier.CTRL)
+ || mods.has(KeyValue.Modifier.ALT)
+ || mods.has(KeyValue.Modifier.META))
{
move_cursor_fallback(d, mods);
return;