This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch x11-keeb-repeat-delay
in repository enlightenment.

View the commit online.

commit 85157a69b1759c9f4892b71d95e69aec172adfa1
Author: Swagtoy <m...@ow.swag.toys>
AuthorDate: Fri Jul 4 00:02:12 2025 -0400

    xkbswitch: Show units and align functionality with xset better
---
 src/modules/xkbswitch/e_mod_config.c | 32 ++++++++++++++++++--------------
 1 file changed, 18 insertions(+), 14 deletions(-)

diff --git a/src/modules/xkbswitch/e_mod_config.c b/src/modules/xkbswitch/e_mod_config.c
index a67891b77..881d79691 100644
--- a/src/modules/xkbswitch/e_mod_config.c
+++ b/src/modules/xkbswitch/e_mod_config.c
@@ -1,3 +1,4 @@
+#include "Elementary.h"
 #include "Evas.h"
 #include "e.h"
 #include "e_mod_main.h"
@@ -62,8 +63,8 @@ struct _E_Config_Dialog_Data
 
    int          only_label;
    int          dont_touch_my_damn_keyboard;
-   int          key_rate;
-   int          key_delay;
+   float        key_rate;
+   float        key_delay;
 
    E_Dialog *dlg_add_new;
    E_Config_Dialog *cfd;
@@ -205,8 +206,8 @@ _create_data(E_Config_Dialog *cfd)
 
    cfdata->_only_label_ = e_config->xkb.only_label;
    cfdata->dont_touch_my_damn_keyboard = e_config->xkb.dont_touch_my_damn_keyboard;
-   cfdata->key_rate = e_config->keyboard.repeat_rate;
-   cfdata->key_delay = e_config->keyboard.repeat_delay;
+   cfdata->key_rate = -1000.0f / -e_config->keyboard.repeat_rate;
+   cfdata->key_delay = e_config->keyboard.repeat_delay / 1000.0f;
 
 #undef FILL_DATA
 #define FILL_DATA(name, list_name) \
@@ -304,8 +305,8 @@ _check_changed(E_Config_Dialog_Data *cfdata)
        (e_config->xkb.default_model != cfdata->default_model) ||
        (e_config->xkb.only_label != cfdata->only_label) ||
        (e_config->xkb.dont_touch_my_damn_keyboard != cfdata->dont_touch_my_damn_keyboard) ||
-	   (e_config->keyboard.repeat_delay != cfdata->key_delay) ||
-	   (e_config->keyboard.repeat_rate != cfdata->key_rate))
+       (e_config->keyboard.repeat_delay != (int)cfdata->key_delay) ||
+       (e_config->keyboard.repeat_rate != (int)cfdata->key_rate))
      return 1;
 
    l2 = cfdata->cfg_layouts;
@@ -447,8 +448,8 @@ _basic_apply(E_Config_Dialog *cfd EINA_UNUSED, E_Config_Dialog_Data *cfdata)
    /* Save options */
    e_config->xkb._only_label_ = cfdata->only_label;
    e_config->xkb.dont_touch_my_damn_keyboard = cfdata->dont_touch_my_damn_keyboard;
-   e_config->keyboard.repeat_delay = cfdata->key_delay;
-   e_config->keyboard.repeat_rate = cfdata->key_rate;
+   e_config->keyboard.repeat_delay = cfdata->key_delay * 1000;
+   e_config->keyboard.repeat_rate = 1000 / cfdata->key_rate;
 
    EINA_LIST_FREE(e_config->xkb.used_options, oc)
      {
@@ -662,9 +663,10 @@ _config_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfd
    elm_separator_horizontal_set(o, EINA_TRUE);
    
    key_rate = elm_slider_add(mainn);
-   elm_slider_min_max_set(key_rate, 30, 1000);
-   elm_slider_value_set(mainn, cfdata->key_rate);
-   elm_object_text_set(key_rate, _("Key rate"));
+   elm_slider_min_max_set(key_rate, 1, 333);
+   elm_slider_value_set(key_rate, 1000.0f / cfdata->key_rate);
+   elm_slider_indicator_format_set(key_rate, "%.0f keys/second");
+   elm_object_text_set(key_rate, _("Repeat rate"));
    evas_object_smart_callback_add(key_rate, "changed",
                                   _key_rate_changed, cfdata);
    evas_object_size_hint_fill_set(key_rate, EVAS_HINT_FILL, 0.5);
@@ -674,9 +676,11 @@ _config_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfd
    cfdata->key_rate_slider = key_rate;
    
    key_delay = elm_slider_add(mainn);
-   elm_slider_min_max_set(key_delay, 30, 3000);
-   elm_slider_value_set(mainn, cfdata->key_delay);
-   elm_object_text_set(key_delay, _("Key delay"));
+   elm_slider_min_max_set(key_delay, 0.1, 3);
+   elm_slider_step_set(key_delay, 0.05);
+   elm_slider_value_set(key_delay, cfdata->key_delay);
+   elm_object_text_set(key_delay, _("Repeat delay"));
+   elm_slider_indicator_format_set(key_delay, "%.2f seconds");
    evas_object_smart_callback_add(key_delay, "changed",
                                   _key_delay_changed, cfdata);
    evas_object_size_hint_fill_set(key_delay, EVAS_HINT_FILL, 0.5);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to