Application want to change keyboard repeat rate and delay time.
@tizen_only
Change-Id: I53b92d4ae52d36385eb883a5c1c978e51931eac3
*/
EAPI Eina_List *ecore_wl_window_keygrab_list_unset(Ecore_Wl_Window *win, Eina_List *infos);
+//TIZEN_ONLY(20180108): add keyboard repeat info set/get API.
+/**
+ *
+ * @brief Sets keyboard repeat infomation.
+ *
+ * @param rate key repeat rate value.
+ * @param delay key repeat delay value.
+ *
+ * @return false on error, true otherwise.
+ */
+EAPI Eina_Bool ecore_wl_keyboard_repeat_info_set(double rate, double delay);
+
+/**
+ *
+ * @brief Gets keyboard repeat infomation.
+ *
+ * @param rate key repeat rate value.
+ * @param delay key repeat delay value.
+ *
+ * @return false on error, true otherwise.
+ */
+EAPI Eina_Bool ecore_wl_keyboard_repeat_info_get(double *rate, double *delay);
+//
+
EAPI void ecore_wl_window_conformant_set(Ecore_Wl_Window *win, unsigned int is_conformant);
EAPI Eina_Bool ecore_wl_window_conformant_get(Ecore_Wl_Window *win);
return _ecore_wl_disp->input->is_data_only;
}
+//TIZEN_ONLY(20180108): add keyboard repeat info set/get API.
+EAPI Eina_Bool
+ecore_wl_keyboard_repeat_info_set(double rate, double delay)
+{
+ if (!_ecore_wl_disp) return EINA_FALSE;
+ if (!_ecore_wl_disp->input) return EINA_FALSE;
+
+ _ecore_wl_disp->input->repeat.changed = EINA_TRUE;
+ _ecore_wl_disp->input->repeat.rate = rate;
+ _ecore_wl_disp->input->repeat.delay = delay;
+
+ return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+ecore_wl_keyboard_repeat_info_get(double *rate, double *delay)
+{
+ if (!_ecore_wl_disp) return EINA_FALSE;
+ if (!_ecore_wl_disp->input) return EINA_FALSE;
+
+ if (rate) *rate = _ecore_wl_disp->input->repeat.rate;
+ if (delay) *delay = _ecore_wl_disp->input->repeat.delay;
+
+ return EINA_TRUE;
+}
+//
+
static void
_ecore_wl_cb_clipboard_data_selected(void *data EINA_UNUSED, struct tizen_clipboard *tizen_clipboard EINA_UNUSED, struct wl_surface *surface)
{
input->touch_focus = NULL;
input->repeat.enabled = EINA_TRUE;
+ //TIZEN_ONLY(20180108): add keyboard repeat info set/get API.
+ input->repeat.changed = EINA_FALSE;
+ //
input->repeat.rate = 0.025;
input->repeat.delay = 0.4;
else
input->repeat.enabled = EINA_TRUE;
- input->repeat.rate = (rate / 1000.0);
- input->repeat.delay = (delay / 1000.0);
+ //TIZEN_ONLY(20180108): add keyboard repeat info set/get API.
+ if (!input->repeat.changed)
+ {
+ input->repeat.rate = (rate / 1000.0);
+ input->repeat.delay = (delay / 1000.0);
+ }
}
static Eina_Bool
unsigned int sym, key, time;
double rate, delay;
Eina_Bool enabled : 1;
+ //TIZEN_ONLY(20180108): add keyboard repeat info set/get API.
+ Eina_Bool changed : 1;
+ //
} repeat;
unsigned int seat_version;