SDL超时无法获取键盘输入事件

我现在正在使用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,我认为这可能是平台问题吗?因为每次我运行程序都会有不同的结果。

lihaizheng17 回答:SDL超时无法获取键盘输入事件

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3007660.html

大家都在问