forked from enlightenment/efl
Patch to add key modifiers for Ecore_SDL (thanks Ryan Hope)
SVN revision: 45322
This commit is contained in:
parent
6052f73462
commit
fe05034678
|
@ -108,6 +108,23 @@ ecore_sdl_shutdown(void)
|
||||||
return _ecore_sdl_init_count;
|
return _ecore_sdl_init_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static unsigned int
|
||||||
|
_ecore_sdl_event_modifiers(int mod)
|
||||||
|
{
|
||||||
|
unsigned int modifiers = 0;
|
||||||
|
|
||||||
|
if(mod & KMOD_LSHIFT) modifiers |= ECORE_EVENT_MODIFIER_SHIFT;
|
||||||
|
if(mod & KMOD_RSHIFT) modifiers |= ECORE_EVENT_MODIFIER_SHIFT;
|
||||||
|
if(mod & KMOD_LCTRL) modifiers |= ECORE_EVENT_MODIFIER_CTRL;
|
||||||
|
if(mod & KMOD_RCTRL) modifiers |= ECORE_EVENT_MODIFIER_CTRL;
|
||||||
|
if(mod & KMOD_LALT) modifiers |= ECORE_EVENT_MODIFIER_ALT;
|
||||||
|
if(mod & KMOD_RALT) modifiers |= ECORE_EVENT_MODIFIER_ALT;
|
||||||
|
if(mod & KMOD_NUM) modifiers |= ECORE_EVENT_LOCK_NUM;
|
||||||
|
if(mod & KMOD_CAPS) modifiers |= ECORE_EVENT_LOCK_CAPS;
|
||||||
|
|
||||||
|
return modifiers;
|
||||||
|
}
|
||||||
|
|
||||||
static Ecore_Event_Key*
|
static Ecore_Event_Key*
|
||||||
_ecore_sdl_event_key(SDL_Event *event, double time)
|
_ecore_sdl_event_key(SDL_Event *event, double time)
|
||||||
{
|
{
|
||||||
|
@ -119,7 +136,7 @@ _ecore_sdl_event_key(SDL_Event *event, double time)
|
||||||
|
|
||||||
ev->timestamp = time;
|
ev->timestamp = time;
|
||||||
ev->window = 0;
|
ev->window = 0;
|
||||||
ev->modifiers = 0; /* FIXME: keep modifier around. */
|
ev->modifiers = _ecore_sdl_event_modifiers(SDL_GetModState());
|
||||||
ev->key = NULL;
|
ev->key = NULL;
|
||||||
ev->compose = NULL;
|
ev->compose = NULL;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue