summaryrefslogtreecommitdiff
path: root/src/lib/ecore_wl2/ecore_wl2_input.c
diff options
context:
space:
mode:
authorWoochanlee <wc0917.lee@samsung.com>2020-01-22 07:37:11 -0500
committerChristopher Michael <cp.michael@samsung.com>2020-01-22 07:37:11 -0500
commitf1740535648a4d1c8d372376a727d23e61c68c5d (patch)
treed32eed34d36f8db41d8176acfd12827d9bddf696 /src/lib/ecore_wl2/ecore_wl2_input.c
parent700d87b3709c5eeb6fa7a238b24ae93e6fad4d68 (diff)
downloadefl-f1740535648a4d1c8d372376a727d23e61c68c5d.tar.gz
ecore_wl2: Add ecore_wl2_input_keyboard_repeat_set() API.
Summary: Add API to set input's keyboard repeat. get API was already there. Reviewers: devilhorns Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11131
Diffstat (limited to 'src/lib/ecore_wl2/ecore_wl2_input.c')
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_input.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c b/src/lib/ecore_wl2/ecore_wl2_input.c
index 6694f3687d..92cc9a52bd 100644
--- a/src/lib/ecore_wl2/ecore_wl2_input.c
+++ b/src/lib/ecore_wl2/ecore_wl2_input.c
@@ -1173,8 +1173,11 @@ _keyboard_cb_repeat_setup(void *data, struct wl_keyboard *keyboard EINA_UNUSED,
}
input->repeat.enabled = EINA_TRUE;
- input->repeat.rate = (1.0 / rate);
- input->repeat.delay = (delay / 1000.0);
+ if (!input->repeat.changed)
+ {
+ input->repeat.rate = (1.0 / rate);
+ input->repeat.delay = (delay / 1000.0);
+ }
ev = malloc(sizeof(Ecore_Wl2_Event_Seat_Keymap_Changed));
if (ev)
{
@@ -1615,6 +1618,7 @@ _ecore_wl2_input_add(Ecore_Wl2_Display *display, unsigned int id, unsigned int v
input->repeat.rate = 0.025;
input->repeat.delay = 0.4;
input->repeat.enabled = EINA_TRUE;
+ input->repeat.changed = EINA_FALSE;
wl_array_init(&input->data.selection.types);
wl_array_init(&input->data.drag.types);
@@ -1814,6 +1818,18 @@ ecore_wl2_input_keymap_get(const Ecore_Wl2_Input *input)
}
EAPI Eina_Bool
+ecore_wl2_input_keyboard_repeat_set(Ecore_Wl2_Input *input, double rate, double delay)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(input, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(input->display, EINA_FALSE);
+ EINA_SAFETY_ON_FALSE_RETURN_VAL(input->wl.keyboard, EINA_FALSE);
+ input->repeat.rate = rate;
+ input->repeat.delay = delay;
+ input->repeat.changed = EINA_TRUE;
+ return input->repeat.enabled;
+}
+
+EAPI Eina_Bool
ecore_wl2_input_keyboard_repeat_get(const Ecore_Wl2_Input *input, double *rate, double *delay)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(input, EINA_FALSE);