У меня есть приложение, которое работает на SDL (простой уровень directmedia). Я перенес его на SDL2. Но после портирования джойстик (SDL_PollEvent) только фиксирует событие отпускания кнопки джойстика.
Что-то не так или есть какие-либо настройки для захвата событий пресса в SDL2?
У меня также есть цикл и заявление swich. Я мог получить только события выпуска кнопки джойстика этим циклом.
Я нашел ответ несколько секунд назад. Если я вызываю SDL_SetHint (SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, «1») перед оператором SDL_Init, кнопка джойстика получает события нажатия и отпускания, в противном случае опрос не может захватить событие нажатия.
Вы можете достичь этого с помощью оператора switch, например:
while( SDL_PollEvent( &event ) )
{
switch( event.type )
{
case SDL_KEYDOWN:
printf( "Key pressed" );
break;
default:
break;
}
}
Я не вижу, чтобы что-то изменилось, в частности, по этому поводу.
Также не имеет смысла удалять эту функцию, поэтому я предполагаю, что вы делаете что-то не так.