X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Finput%2Flinux%2Fgamecontroller.cpp;h=58e4ef17325d2aa8d3b0a22447ccae4b30ac86da;hb=24da3e62cf22663ef16b61b9510fbac49308f756;hp=38d9d2b222901ab6d6fd69462035655f7efb4c77;hpb=06b42c8c1bd84c67c23a4245cbd5d3fc6f66f12b;p=libs%2Fgui.git diff --git a/source/input/linux/gamecontroller.cpp b/source/input/linux/gamecontroller.cpp index 38d9d2b..58e4ef1 100644 --- a/source/input/linux/gamecontroller.cpp +++ b/source/input/linux/gamecontroller.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -15,6 +16,7 @@ namespace Input { vector GameController::Private::detected_controllers; GameController::GameController(unsigned index): + Device(GAME_CONTROLLER), event_disp(0) { if(!detect_done) @@ -42,11 +44,11 @@ unsigned GameController::detect() Private::detected_controllers.clear(); FS::Path dev_input = "/dev/input"; - list devices = FS::list_filtered(dev_input, "^js[0-9]+"); - devices.sort(); - for(list::const_iterator i=devices.begin(); i!=devices.end(); ++i) + vector devices = FS::list_filtered(dev_input, "^js[0-9]+"); + sort(devices); + for(const string &f: devices) // TODO check permissions - Private::detected_controllers.push_back((dev_input / *i).str()); + Private::detected_controllers.push_back((dev_input/f).str()); detect_done = true; n_detected_controllers = Private::detected_controllers.size(); @@ -78,11 +80,11 @@ void GameController::tick() unsigned count = len/sizeof(js_event); for(unsigned i=0; i