我现在正在使用SDL2来获取键盘事件,奇怪的是,在编译之后,有时它可以工作,但是有时却没有检测到某些键(通常是A〜Z键,箭头键可以正常工作),我没有t事件重新编译吧! 我无法弄清楚我的代码有什么问题,这很简单。
#include <stdio.h>
#include <SDL2/SDL.h>
int main(){
SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window* window = SDL_CreateWindow("test",SDL_WINDOWPOS_CENTERED,640,480,0);
SDL_Renderer* ren = SDL_CreateRenderer(window,-1,0);
SDL_Event e;
bool r = true;
while(r){
while(SDL_PollEvent(&e)){
if(e.type == SDL_QUIT)
r = false;
else if(e.type == SDL_KEYDOWN)
printf("%d\n",e.key.keysym.sym);
}
}
SDL_DestroyWindow(window);
SDL_DestroyRenderer(ren);
SDL_Quit();
return 0;
}
我正在测试fedora,我认为这可能是平台问题吗?因为每次我运行程序都会有不同的结果。