/**
* @brief Flags for Events
*
- * @since_tizen 5.5
+ * @since_tizen 7.5
*/
typedef enum _Ecore_Event_Flags
{
ECORE_EVENT_FLAG_NONE = 0, /**< No fancy flags set */
ECORE_EVENT_FLAG_ON_HOLD = (1 << 0), /**< This event is being delivered but should be put "on hold" until the on hold flag is unset. The event should be used for informational purposes and maybe some indications visually, but not actually perform anything */
ECORE_EVENT_FLAG_ON_SCROLL = (1 << 1), /**< This event flag indicates the event occurs while scrolling; for example, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */
- ECORE_EVENT_FLAG_CANCEL = (1 << 2) /**< This event flag indicates the event is canceled. The event should be used for informational purposes and maybe some indications visually, but not actually perform anything.*/
+ ECORE_EVENT_FLAG_CANCEL = (1 << 2), /**< This event flag indicates the event is canceled. The event should be used for informational purposes and maybe some indications visually, but not actually perform anything.*/
+ ECORE_EVENT_FLAG_REPEAT = (1 << 3) /**< This event flag indicates the event is repeated. The event should be used for informational purposes and maybe some indications visually, but not actually perform anything.*/
} Ecore_Event_Flags;
/**
}
static void
-_ecore_wl2_input_key_send(Ecore_Wl2_Input *input, Ecore_Wl2_Window *window, xkb_keysym_t sym, xkb_keysym_t sym_name, unsigned int code, unsigned int state, unsigned int timestamp, Eina_Bool cancel)
+_ecore_wl2_input_key_send(Ecore_Wl2_Input *input, Ecore_Wl2_Window *window, xkb_keysym_t sym, xkb_keysym_t sym_name, unsigned int code, unsigned int state, unsigned int timestamp, Eina_Bool cancel, Eina_Bool repeat)
{
Ecore_Event_Key *ev;
char key[256] = "", keyname[256] = "", compose[256] = "";
ev->event_flags = ECORE_EVENT_FLAG_NONE;
if (cancel)
ev->event_flags |= ECORE_EVENT_FLAG_CANCEL;
+ if (repeat)
+ ev->event_flags |= ECORE_EVENT_FLAG_REPEAT;
strcpy((char *)ev->keyname, keyname);
strcpy((char *)ev->key, key);
input->repeat.sym, input->repeat.sym_name,
input->repeat.key + 8,
WL_KEYBOARD_KEY_STATE_PRESSED,
- input->repeat.time, EINA_FALSE);
+ input->repeat.time, EINA_FALSE, EINA_TRUE);
return ECORE_CALLBACK_RENEW;
}
else
{
_ecore_wl2_input_key_send(input, window, sym, sym_name, code,
- state, timestamp, _key_event_cancel);
+ state, timestamp, _key_event_cancel, EINA_FALSE);
if (!xkb_keymap_key_repeats(input->xkb.keymap, code)) return;
/**
* @brief Flags for Events
*
- * @since_tizen 5.5
+ * @since_tizen 7.5
*/
typedef enum _Evas_Event_Flags
{
EVAS_EVENT_FLAG_NONE = 0, /**< No fancy flags set */
EVAS_EVENT_FLAG_ON_HOLD = (1 << 0), /**< This event is being delivered but should be put "on hold" until the on hold flag is unset. The event should be used for informational purposes and maybe some indications visually, but not actually perform anything */
EVAS_EVENT_FLAG_ON_SCROLL = (1 << 1), /**< This event flag indicates the event occurs while scrolling; for example, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */
- EVAS_EVENT_FLAG_CANCEL = (1 << 2) /**< This event flag indicates the event is canceled. The event should be used for informational purposes and maybe some indications visually, but not actually perform anything.*/
+ EVAS_EVENT_FLAG_CANCEL = (1 << 2), /**< This event flag indicates the event is canceled. The event should be used for informational purposes and maybe some indications visually, but not actually perform anything.*/
+ EVAS_EVENT_FLAG_REPEAT = (1 << 3) /**< This event flag indicates the event is repeated. The event should be used for informational purposes and maybe some indications visually, but not actually perform anything.*/
} Evas_Event_Flags;
typedef enum _Evas_Aspect_Control
The event should be used for informational purposes
and maybe some indications visually, but not actually
perform anything.]]
+ repeated = (1 << 3), [[This event flag indicates the event is repeated.
+ The event should be used for informational purposes
+ and maybe some indications visually, but not actually
+ perform anything.]]
}
enum Efl.Input.Object_Pointer_Mode {
evt = ev->eo;
ev->modifiers = &(e->modifiers);
ev->locks = &(e->locks);
- ev->event_flags = (Efl_Input_Flags)e->default_event_flags;
+ ev->event_flags |= (Efl_Input_Flags)e->default_event_flags;
if (ev->device) efl_ref(ev->device);
if (e->grabs)