tutorial sdl2 español c++ sdl

c++ - sdl2 - No se detectaron eventos de pulsación de teclas SDL



sdl2 2.0 8 zip (1)

Estoy completamente perplejo de por qué este código no recibe ningún evento de pulsación de tecla SDL. Los otros eventos de SDL (eliminados por claridad) funcionan bien. No funciona en mis máquinas XP o Vista. Sin errores de compilación / enlace, simplemente nunca recibas un evento de selección.

#include "SDL/SDL.h" // Yes SDL.lib and SDLmain.lib are linked Uint32 TimeLeft(void) { static Uint32 next_time = 0; Uint32 now; now = SDL_GetTicks(); if ( next_time <= now ) { next_time = now + tickInterval; return 0; } return(next_time-now); } int main( int argc, char **argv ) { if( -1 == SDL_Init( SDL_INIT_EVERYTHING ) ) { cerr << "Error: SDL_Init failed" << endl; return -1; } SDL_Event event; bool quit = false; while( !quit ) { while( SDL_PollEvent( &event ) ) { switch( event.type ) { case SDL_KEYDOWN: switch( event.key.keysym.sym ) { case SDLK_ESCAPE: case SDLK_q: quit = true; break; default: break; } break; case SDL_JOYAXISMOTION: // stuff removed break; case SDL_QUIT: quit = true; break; default: break; } } SDL_Delay( TimeLeft() ); } SDL_Quit(); return 0; }


Tendrá que crear una ventana con SDL_SetVideoMode para obtener eventos de mouse y teclado.

No creo que tengas suerte intentando SDL_WM_GrabIntroducir el mouse y el teclado sin una ventana. También puede generar alertas de seguridad la primera vez en máquinas con Windows moderno.