@ -152,7 +152,8 @@ bool ImGui_ImplSdlGL2_ProcessEvent(SDL_Event* event)
case SDL_KEYDOWN :
case SDL_KEYUP :
{
int key = event - > key . keysym . sym & ~ SDLK_SCANCODE_MASK ;
int key = event - > key . keysym . scancode ;
IM_ASSERT ( key > = 0 & & key < IM_ARRAYSIZE ( io . KeysDown ) ) ;
io . KeysDown [ key ] = ( event - > type = = SDL_KEYDOWN ) ;
io . KeyShift = ( ( SDL_GetModState ( ) & KMOD_SHIFT ) ! = 0 ) ;
io . KeyCtrl = ( ( SDL_GetModState ( ) & KMOD_CTRL ) ! = 0 ) ;
@ -203,8 +204,9 @@ void ImGui_ImplSdlGL2_InvalidateDeviceObjects()
bool ImGui_ImplSdlGL2_Init ( SDL_Window * window )
{
// Keyboard mapping. ImGui will use those indices to peek into the io.KeyDown[] array.
ImGuiIO & io = ImGui : : GetIO ( ) ;
io . KeyMap [ ImGuiKey_Tab ] = SDLK_TAB ; // Keyboard mapping. ImGui will use those indices to peek into the io.KeyDown[] array.
io . KeyMap [ ImGuiKey_Tab ] = SDL_SCANCODE_TAB ;
io . KeyMap [ ImGuiKey_LeftArrow ] = SDL_SCANCODE_LEFT ;
io . KeyMap [ ImGuiKey_RightArrow ] = SDL_SCANCODE_RIGHT ;
io . KeyMap [ ImGuiKey_UpArrow ] = SDL_SCANCODE_UP ;
@ -214,16 +216,16 @@ bool ImGui_ImplSdlGL2_Init(SDL_Window* window)
io . KeyMap [ ImGuiKey_Home ] = SDL_SCANCODE_HOME ;
io . KeyMap [ ImGuiKey_End ] = SDL_SCANCODE_END ;
io . KeyMap [ ImGuiKey_Insert ] = SDL_SCANCODE_INSERT ;
io . KeyMap [ ImGuiKey_Delete ] = SDLK _DELETE ;
io . KeyMap [ ImGuiKey_Backspace ] = SDLK _BACKSPACE ;
io . KeyMap [ ImGuiKey_Enter ] = SDLK _RETURN ;
io . KeyMap [ ImGuiKey_Escape ] = SDLK _ESCAPE ;
io . KeyMap [ ImGuiKey_A ] = SDLK_a ;
io . KeyMap [ ImGuiKey_C ] = SDLK_c ;
io . KeyMap [ ImGuiKey_V ] = SDLK_v ;
io . KeyMap [ ImGuiKey_X ] = SDLK_x ;
io . KeyMap [ ImGuiKey_Y ] = SDLK_y ;
io . KeyMap [ ImGuiKey_Z ] = SDLK_z ;
io . KeyMap [ ImGuiKey_Delete ] = SDL_SCANCODE _DELETE ;
io . KeyMap [ ImGuiKey_Backspace ] = SDL_SCANCODE _BACKSPACE ;
io . KeyMap [ ImGuiKey_Enter ] = SDL_SCANCODE _RETURN ;
io . KeyMap [ ImGuiKey_Escape ] = SDL_SCANCODE _ESCAPE ;
io . KeyMap [ ImGuiKey_A ] = SDL_SCANCODE_A ;
io . KeyMap [ ImGuiKey_C ] = SDL_SCANCODE_C ;
io . KeyMap [ ImGuiKey_V ] = SDL_SCANCODE_V ;
io . KeyMap [ ImGuiKey_X ] = SDL_SCANCODE_X ;
io . KeyMap [ ImGuiKey_Y ] = SDL_SCANCODE_Y ;
io . KeyMap [ ImGuiKey_Z ] = SDL_SCANCODE_Z ;
io . RenderDrawListsFn = ImGui_ImplSdlGL2_RenderDrawLists ; // Alternatively you can set this to NULL and call ImGui::GetDrawData() after ImGui::Render() to get the same ImDrawData pointer.
io . SetClipboardTextFn = ImGui_ImplSdlGL2_SetClipboardText ;