diff --git a/dll/steam_controller.h b/dll/steam_controller.h index aa2fe523..c316c80e 100644 --- a/dll/steam_controller.h +++ b/dll/steam_controller.h @@ -746,7 +746,10 @@ void SetLEDColor( ControllerHandle_t controllerHandle, uint8 nColorR, uint8 nCol int GetGamepadIndexForController( ControllerHandle_t ulControllerHandle ) { PRINT_DEBUG("Steam_Controller::GetGamepadIndexForController\n"); - return 0; + auto controller = controllers.find(ulControllerHandle); + if (controller == controllers.end()) return -1; + + return ulControllerHandle - 1; } @@ -754,7 +757,10 @@ int GetGamepadIndexForController( ControllerHandle_t ulControllerHandle ) ControllerHandle_t GetControllerForGamepadIndex( int nIndex ) { PRINT_DEBUG("Steam_Controller::GetControllerForGamepadIndex\n"); - return 0; + ControllerHandle_t out = nIndex + 1; + auto controller = controllers.find(out); + if (controller == controllers.end()) return 0; + return out; }