mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-10-26 12:27:30 +00:00 
			
		
		
		
	Examples: SDL2: Enabling vsync. Using scancode consistently, fixed keyboard weirdness.
This commit is contained in:
		| @@ -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; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 omar
					omar