Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * SDL2 keyboard-input/deadkey test for sdl2_x11_no_deadkeys_wo_textinput.patch
- *
- * Click into window to disable/enable SDL_TEXTINPUT
- */
- #include <stdio.h>
- #include <SDL2/SDL.h>
- void eventloop() {
- while(1) {
- SDL_Event ev;
- if(SDL_PollEvent(&ev) == 0) {
- // printf("SDL_PollEvent() didn't return an event!\n");
- SDL_Delay(250);
- continue;
- }
- switch(ev.type) {
- case SDL_QUIT:
- printf("Received SDL_QUIT - bye!\n");
- return;
- case SDL_KEYUP:
- case SDL_KEYDOWN:
- if(ev.type == SDL_KEYUP)
- printf("SDL_KEYUP: ");
- else
- printf("SDL_KEYDOWN: ");
- printf("Keycode: %s Scancode: %s\n",
- SDL_GetKeyName(ev.key.keysym.sym),
- SDL_GetScancodeName(ev.key.keysym.scancode));
- break;
- case SDL_TEXTINPUT:
- printf("SDL_TEXTINPUT: %s\n", ev.text.text ? ev.text.text : "<NULL>");
- break;
- case SDL_MOUSEBUTTONDOWN:
- {
- int newstate = !SDL_GetEventState(SDL_TEXTINPUT);
- printf("SDL_EventState(SDL_TEXTINPUT, %s)\n", newstate ? "SDL_ENABLE" : "SDL_DISABLE");
- SDL_EventState(SDL_TEXTINPUT, newstate);
- break;
- }
- default:
- // printf("SDL_Event of type: %d received\n", ev.type);
- // just ignore all the mouse events and stuff
- break;
- }
- }
- }
- int main(int argc, char** argv) {
- SDL_Init(SDL_INIT_VIDEO);
- SDL_Window *win = SDL_CreateWindow("Hello World!", 100, 100, 640, 480, SDL_WINDOW_SHOWN);
- eventloop();
- SDL_DestroyWindow(win);
- SDL_Quit();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement