SDL不检测Linux或Windows上的xbox控制器

时间:2013-10-23 21:57:02

标签: c linux windows sdl joystick

这是我的代码

#include <SDL.h>
#include <iostream>

int main(int argc,char **argv)
{
    std::cout<<SDL_NumHaptics()<<std::endl<<SDL_NumJoysticks()<<std::endl;
    return 0;
}

当我运行它时,它说0个操纵杆和0个触觉设备,这发生在Linux和Windows上。在linux上我安装了xboxdrv,它检测到控制器,在Windows上我也安装了必要的驱动程序。 SFML确实将控制器检测为linux上的操纵杆,但是,我更倾向于使用SDL,因为它支持触觉设备和openGL配置文件。

1 个答案:

答案 0 :(得分:3)

您忘记初始化SDL。例如:

SDL_Init(SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC);

或者,如果你正在使用SDL(图形,音频等),那么:

SDL_Init(SDL_INIT_EVERYTHING);