diff --git a/libs/sdl/sdl.c b/libs/sdl/sdl.c index 9baa75cba..4f22b29ff 100644 --- a/libs/sdl/sdl.c +++ b/libs/sdl/sdl.c @@ -91,6 +91,7 @@ typedef struct { ws_change state; int keyCode; int scanCode; + int modifier; bool keyRepeat; int reference; int value; @@ -187,6 +188,7 @@ HL_PRIM bool HL_NAME(event_loop)( event_data *event ) { event->window = e.key.windowID; event->keyCode = e.key.keysym.sym; event->scanCode = e.key.keysym.scancode; + event->modifier = e.key.keysym.mod; event->keyRepeat = e.key.repeat != 0; break; case SDL_KEYUP: @@ -194,6 +196,7 @@ HL_PRIM bool HL_NAME(event_loop)( event_data *event ) { event->window = e.key.windowID; event->keyCode = e.key.keysym.sym; event->scanCode = e.key.keysym.scancode; + event->modifier = e.key.keysym.mod; break; case SDL_SYSWMEVENT: continue; diff --git a/libs/sdl/sdl/Event.hx b/libs/sdl/sdl/Event.hx index 1546db152..a0e1c7a2a 100644 --- a/libs/sdl/sdl/Event.hx +++ b/libs/sdl/sdl/Event.hx @@ -11,6 +11,7 @@ package sdl; public var state : WindowStateChange; public var keyCode : Int; public var scanCode : Int; + public var modifier : Int; public var keyRepeat : Bool; public var reference : Int; public var value : Int;