Sdl2操纵杆不捕捉“压制事件”

时间:2015-01-23 08:09:10

标签: c++ sdl sdl-2 joystick

我有一个在SDL(简单直接媒体层)上运行的应用程序。我把它移植到了SDL2。但移植后,游戏杆(SDL_PollEvent)仅捕获游戏杆按钮的释放事件。 是否有任何错误或是否有任何设置用于捕获SDL2中的新闻事件?

2 个答案:

答案 0 :(得分:3)

我也有一个循环和swich语句。我只能通过这个循环获得操纵杆按钮的释放事件。

几秒钟前我找到了答案。如果我在SDL_Init语句之前调用SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS,“1”),则操纵杆按钮会获得按下并释放事件,否则轮询无法捕获按下事件。

答案 1 :(得分:0)

您可以使用switch语句来实现此目的,例如:

while( SDL_PollEvent( &event ) )
{
    switch( event.type )
    {
      case SDL_KEYDOWN:
        printf( "Key pressed" );
        break;

      default:
        break;
    }
}

我没有看到有任何特别的变化。

删除此功能也没有意义,所以我的猜测是你可能做错了。