abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/KeyEventHandler.java
diff options
context:
space:
mode:
authorJules Aguillon2024-05-02 19:31:48 +0200
committerGitHub2024-05-02 19:31:48 +0200
commit0f11a884185b832496fa5374ff03cfe61b91f9fb (patch)
tree7084c4dbadf517ea876bc4c0c3eb886b37038095 /srcs/juloo.keyboard2/KeyEventHandler.java
parent82e0840568655c8d71f2ac0c0ac5b1c18ef17845 (diff)
downloadunexpected-keyboard-0f11a884185b832496fa5374ff03cfe61b91f9fb.tar.gz
unexpected-keyboard-0f11a884185b832496fa5374ff03cfe61b91f9fb.zip
More precise and faster spacebar slider (#593)
* Make slider speed independent from swipe distance Swipe distances other than the default resulted in a slider that were not easy to control. * refactor: Add class Pointers.Sliding It holds the states and the code needed to make the slider work. 'Pointer.sliding' is set to [null] when sliding is not in progress. The implementation is changed not to depend on [downX] and [dx] but instead use the pointer's [x] coordinate directly. * Move the cursor further for faster slides In sliding mode, compute the speed of the pointer and use it to increase at which the cursor moves. * refactor: Separate kind for cursor movement keys This allows to define a key that moves the cursor more than one position at a time. This will be used to avoid lag during fast slider movements. * Reduce lag when sliding quickly on the spacebar Avoid sending key events in a loop while sliding quickly in a cursor movement key. Key of kind Cursor_move are "multiplied", meaning a single key event represents a movement of more than one position, reducing the number of key events sent. This is only for cursor move keys.
Diffstat (limited to 'srcs/juloo.keyboard2/KeyEventHandler.java')
-rw-r--r--srcs/juloo.keyboard2/KeyEventHandler.java3
1 files changed, 1 insertions, 2 deletions
diff --git a/srcs/juloo.keyboard2/KeyEventHandler.java b/srcs/juloo.keyboard2/KeyEventHandler.java
index 01c4300..b6225f1 100644
--- a/srcs/juloo.keyboard2/KeyEventHandler.java
+++ b/srcs/juloo.keyboard2/KeyEventHandler.java
@@ -94,6 +94,7 @@ public final class KeyEventHandler implements Config.IKeyEventHandler
case Compose_pending:
_recv.set_compose_pending(true);
break;
+ case Cursor_move: move_cursor(key.getCursorMove()); break;
}
update_meta_state(old_mods);
}
@@ -222,8 +223,6 @@ public final class KeyEventHandler implements Config.IKeyEventHandler
case REPLACE: send_context_menu_action(android.R.id.replaceText); break;
case ASSIST: send_context_menu_action(android.R.id.textAssist); break;
case AUTOFILL: send_context_menu_action(android.R.id.autofill); break;
- case CURSOR_LEFT: move_cursor(-1); break;
- case CURSOR_RIGHT: move_cursor(1); break;
}
}