static int _ecore_x_fd_handler(void *data, Ecore_Fd_Handler *fd_handler);
static int _ecore_x_fd_handler_buf(void *data, Ecore_Fd_Handler *fd_handler);
static int _ecore_x_key_mask_get(KeySym sym);
+static int _ecore_x_event_modifier(unsigned int state);
static Ecore_Fd_Handler *_ecore_x_fd_handler_handle = NULL;
static int _ecore_x_event_shape_id = 0;
b = button;
if (b == 0) b = AnyButton;
- m = mod;
+ m = _ecore_x_event_modifier(mod);
if (any_mod) m = AnyModifier;
locks[0] = 0;
locks[1] = ECORE_X_LOCK_CAPS;
b = button;
if (b == 0) b = AnyButton;
- m = mod;
+ m = _ecore_x_event_modifier(mod);
if (any_mod) m = AnyModifier;
locks[0] = 0;
locks[1] = ECORE_X_LOCK_CAPS;
}
if (keycode == 0) return;
- m = mod;
+ m = _ecore_x_event_modifier(mod);
if (any_mod) m = AnyModifier;
locks[0] = 0;
locks[1] = ECORE_X_LOCK_CAPS;
}
if (keycode == 0) return;
- m = mod;
+ m = _ecore_x_event_modifier(mod);
if (any_mod) m = AnyModifier;
locks[0] = 0;
locks[1] = ECORE_X_LOCK_CAPS;
/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/
+
+static int
+_ecore_x_event_modifier(unsigned int state)
+{
+ int xmodifiers = 0;
+
+ if (state & ECORE_EVENT_MODIFIER_SHIFT) xmodifiers |= ECORE_X_MODIFIER_SHIFT;
+ if (state & ECORE_EVENT_MODIFIER_CTRL) xmodifiers |= ECORE_X_MODIFIER_CTRL;
+ if (state & ECORE_EVENT_MODIFIER_ALT) xmodifiers |= ECORE_X_MODIFIER_ALT;
+ if (state & ECORE_EVENT_MODIFIER_WIN) xmodifiers |= ECORE_X_MODIFIER_WIN;
+ if (state & ECORE_EVENT_LOCK_SCROLL) xmodifiers |= ECORE_X_LOCK_SCROLL;
+ if (state & ECORE_EVENT_LOCK_NUM) xmodifiers |= ECORE_X_LOCK_NUM;
+ if (state & ECORE_EVENT_LOCK_CAPS) xmodifiers |= ECORE_X_LOCK_CAPS;
+
+ return xmodifiers;
+}