Feedback History working!

This commit is contained in:
Florian Märkl 2019-07-04 23:46:26 +02:00
commit e37ac7bc77
No known key found for this signature in database
GPG key ID: 125BC8A5A6A1E857
9 changed files with 326 additions and 36 deletions

View file

@ -117,6 +117,17 @@ void StreamSession::UpdateGamepads()
connect(gamepad, &QGamepad::buttonBChanged, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonXChanged, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonYChanged, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonLeftChanged, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonRightChanged, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonUpChanged, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonDownChanged, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonL1Changed, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonR1Changed, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonL3Changed, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonR3Changed, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonStartChanged, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonSelectChanged, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::buttonGuideChanged, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::axisLeftXChanged, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::axisLeftYChanged, this, &StreamSession::SendFeedbackState);
connect(gamepad, &QGamepad::axisRightXChanged, this, &StreamSession::SendFeedbackState);
@ -137,6 +148,17 @@ void StreamSession::SendFeedbackState()
state.buttons |= gamepad->buttonB() ? CHIAKI_CONTROLLER_BUTTON_MOON : 0;
state.buttons |= gamepad->buttonX() ? CHIAKI_CONTROLLER_BUTTON_BOX : 0;
state.buttons |= gamepad->buttonY() ? CHIAKI_CONTROLLER_BUTTON_PYRAMID : 0;
state.buttons |= gamepad->buttonLeft() ? CHIAKI_CONTROLLER_BUTTON_DPAD_LEFT : 0;
state.buttons |= gamepad->buttonRight() ? CHIAKI_CONTROLLER_BUTTON_DPAD_RIGHT : 0;
state.buttons |= gamepad->buttonUp() ? CHIAKI_CONTROLLER_BUTTON_DPAD_UP : 0;
state.buttons |= gamepad->buttonDown() ? CHIAKI_CONTROLLER_BUTTON_DPAD_DOWN : 0;
state.buttons |= gamepad->buttonL1() ? CHIAKI_CONTROLLER_BUTTON_L1 : 0;
state.buttons |= gamepad->buttonR1() ? CHIAKI_CONTROLLER_BUTTON_R1 : 0;
state.buttons |= gamepad->buttonL3() ? CHIAKI_CONTROLLER_BUTTON_L3 : 0;
state.buttons |= gamepad->buttonR3() ? CHIAKI_CONTROLLER_BUTTON_R3 : 0;
state.buttons |= gamepad->buttonStart() ? CHIAKI_CONTROLLER_BUTTON_OPTIONS : 0;
state.buttons |= gamepad->buttonSelect() ? CHIAKI_CONTROLLER_BUTTON_SHARE : 0;
state.buttons |= gamepad->buttonGuide() ? CHIAKI_CONTROLLER_BUTTON_PS : 0;
state.left_x = static_cast<int16_t>(gamepad->axisLeftX() * 0x7fff);
state.left_y = static_cast<int16_t>(gamepad->axisLeftY() * 0x7fff);
state.right_x = static_cast<int16_t>(gamepad->axisRightX() * 0x7fff);