From cedf3aeb1c63ac91f550dd48f984cf4f6cf68ed7 Mon Sep 17 00:00:00 2001
From: Jules Aguillon
Date: Sun, 17 Aug 2025 19:24:08 +0200
Subject: Slider sensitivity option and improve slider ergonimics (#1070)
* Add option 'Space bar slider sensitivity'
* Fix slider moving the cursor twice at the beginning
The slider was generating two events when first activated.
Since 2bed42857.
* Make slider less sensitive for the first step
This moves the second slider step approximately 40% further and takes the
new sensitivity option into account.
Allows moving the cursor by one spot more easily.---
res/values/arrays.xml | 10 ++++++++++
res/values/strings.xml | 4 ++++
res/xml/settings.xml | 1 +
srcs/juloo.keyboard2/Config.java | 3 ++-
srcs/juloo.keyboard2/Pointers.java | 3 +--
5 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index b82298e..e5d8c11 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -94,4 +94,14 @@
- number
- normal
+
+ - @string/pref_slider_sensitivity_slow
+ - @string/pref_slider_sensitivity_medium
+ - @string/pref_slider_sensitivity_fast
+
+
+ - 60
+ - 30
+ - 15
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 26c8ce9..5564cc5 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -88,6 +88,10 @@
Medium
Low
Disabled
+ Space bar slider sensitivity
+ Slow
+ Medium
+ Fast
Next
Done
Go
diff --git a/res/xml/settings.xml b/res/xml/settings.xml
index 40e3676..22dbef2 100644
--- a/res/xml/settings.xml
+++ b/res/xml/settings.xml
@@ -15,6 +15,7 @@
+
diff --git a/srcs/juloo.keyboard2/Config.java b/srcs/juloo.keyboard2/Config.java
index 06a82db..6ca8113 100644
--- a/srcs/juloo.keyboard2/Config.java
+++ b/srcs/juloo.keyboard2/Config.java
@@ -144,7 +144,8 @@ public final class Config
float swipe_scaling = Math.min(dm.widthPixels, dm.heightPixels) / 10.f * dpi_ratio;
float swipe_dist_value = Float.valueOf(_prefs.getString("swipe_dist", "15"));
swipe_dist_px = swipe_dist_value / 25.f * swipe_scaling;
- slide_step_px = 0.4f * swipe_scaling;
+ float slider_sensitivity = Float.valueOf(_prefs.getString("slider_sensitivity", "30")) / 100.f;
+ slide_step_px = slider_sensitivity * swipe_scaling;
vibrate_custom = _prefs.getBoolean("vibrate_custom", false);
vibrate_duration = _prefs.getInt("vibrate_duration", 20);
longPressTimeout = _prefs.getInt("longpress_timeout", 600);
diff --git a/srcs/juloo.keyboard2/Pointers.java b/srcs/juloo.keyboard2/Pointers.java
index 90cfc28..62fdbb8 100644
--- a/srcs/juloo.keyboard2/Pointers.java
+++ b/srcs/juloo.keyboard2/Pointers.java
@@ -473,7 +473,6 @@ public final class Pointers implements Handler.Callback
stopLongPress(ptr);
ptr.flags |= FLAG_P_SLIDING;
ptr.sliding = new Sliding(x, y, dirx, diry, kv.getSlider());
- _handler.onPointerDown(kv, true);
}
/** Return the [FLAG_P_*] flags that correspond to pressing [kv]. */
@@ -622,7 +621,7 @@ public final class Pointers implements Handler.Callback
float travelled = Math.abs(x - last_x) + Math.abs(y - last_y);
if (last_move_ms == -1)
{
- if (travelled < _config.swipe_dist_px)
+ if (travelled < (_config.swipe_dist_px + _config.slide_step_px))
return;
last_move_ms = System.currentTimeMillis();
}
--
cgit v1.2.3