Merge remote-tracking branch 'Mr_Goldberg/master' into open_xinput

This commit is contained in:
Nemirtingas 2020-01-19 11:27:09 +01:00
commit 1da2cb0213
2 changed files with 5 additions and 2 deletions

View File

@ -878,7 +878,7 @@ static void GamepadUpdateDevice(GAMEPAD_DEVICE gamepad) {
if (events[i].value) { if (events[i].value) {
STATE[gamepad].bCurrent |= BUTTON_TO_FLAG(button); STATE[gamepad].bCurrent |= BUTTON_TO_FLAG(button);
} else { } else {
STATE[gamepad].bCurrent ^= BUTTON_TO_FLAG(button); STATE[gamepad].bCurrent &= ~BUTTON_TO_FLAG(button);
} }
break; break;
case EV_ABS: case EV_ABS:

View File

@ -133,6 +133,7 @@ public ISteamInput
std::map<EControllerActionOrigin, std::string> steamcontroller_glyphs; std::map<EControllerActionOrigin, std::string> steamcontroller_glyphs;
bool disabled; bool disabled;
bool initialized;
void set_handles(std::map<std::string, std::map<std::string, std::pair<std::set<std::string>, std::string>>> action_sets) { void set_handles(std::map<std::string, std::map<std::string, std::pair<std::set<std::string>, std::string>>> action_sets) {
uint64 handle_num = 1; uint64 handle_num = 1;
@ -214,6 +215,7 @@ Steam_Controller(class Settings *settings, class SteamCallResults *callback_resu
set_handles(settings->controller_settings.action_sets); set_handles(settings->controller_settings.action_sets);
disabled = !action_handles.size(); disabled = !action_handles.size();
initialized = false;
} }
~Steam_Controller() ~Steam_Controller()
@ -245,6 +247,7 @@ bool Init()
controllers.insert(std::pair<ControllerHandle_t, struct Controller_Action>(i, cont_action)); controllers.insert(std::pair<ControllerHandle_t, struct Controller_Action>(i, cont_action));
} }
initialized = true;
return true; return true;
} }
@ -277,7 +280,7 @@ void SetOverrideMode( const char *pchMode )
void RunFrame() void RunFrame()
{ {
PRINT_DEBUG("Steam_Controller::RunFrame()\n"); PRINT_DEBUG("Steam_Controller::RunFrame()\n");
if (disabled) { if (disabled || !initialized) {
return; return;
} }