From 57b0b683e80aee9a32cd4e1a89b3faaa313f348e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Thu, 2 Jul 2020 21:18:12 +0200 Subject: [PATCH] Drop Support for QtGamepad --- CMakeLists.txt | 1 - gui/CMakeLists.txt | 10 ----- gui/include/streamsession.h | 10 ----- gui/src/streamsession.cpp | 81 ------------------------------------- scripts/appveyor.sh | 1 - scripts/travis-build.sh | 1 - 6 files changed, 104 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 551bb58a..9e3f0634 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,7 +18,6 @@ tri_option(CHIAKI_ENABLE_SETSU "Enable libsetsu for touchpad input from controll option(CHIAKI_LIB_ENABLE_OPUS "Use Opus as part of Chiaki Lib" ON) option(CHIAKI_LIB_ENABLE_MBEDTLS "Use mbedtls instead of OpenSSL as part of Chiaki Lib" OFF) option(CHIAKI_LIB_OPENSSL_EXTERNAL_PROJECT "Use OpenSSL as CMake external project" OFF) -option(CHIAKI_GUI_ENABLE_QT_GAMEPAD "Use QtGamepad for Input" OFF) option(CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER "Use SDL Gamecontroller for Input" ON) option(CHIAKI_CLI_ARGP_STANDALONE "Search for standalone argp lib for CLI" OFF) diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt index 072320fc..210e5134 100644 --- a/gui/CMakeLists.txt +++ b/gui/CMakeLists.txt @@ -6,12 +6,6 @@ find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui Multimedia OpenGL Svg) if(APPLE) find_package(Qt5 REQUIRED COMPONENTS MacExtras) endif() -if(CHIAKI_GUI_ENABLE_QT_GAMEPAD AND CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER) - message(FATAL_ERROR "Only one input method may be enabled. Disable either CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER or CHIAKI_GUI_ENABLE_QT_GAMEPAD.") -endif() -if(CHIAKI_GUI_ENABLE_QT_GAMEPAD) - find_package(Qt5 REQUIRED COMPONENTS Gamepad) -endif() if(CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER) find_package(SDL2 MODULE REQUIRED) endif() @@ -85,10 +79,6 @@ if(APPLE) target_link_libraries(chiaki Qt5::MacExtras) target_compile_definitions(chiaki PRIVATE CHIAKI_GUI_ENABLE_QT_MACEXTRAS) endif() -if(CHIAKI_GUI_ENABLE_QT_GAMEPAD) - target_link_libraries(chiaki Qt5::Gamepad) - target_compile_definitions(chiaki PRIVATE CHIAKI_GUI_ENABLE_QT_GAMEPAD) -endif() if(CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER) target_link_libraries(chiaki SDL2::SDL2) target_compile_definitions(chiaki PRIVATE CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER) diff --git a/gui/include/streamsession.h b/gui/include/streamsession.h index 15ac4c51..b6a5b292 100644 --- a/gui/include/streamsession.h +++ b/gui/include/streamsession.h @@ -31,10 +31,6 @@ #include #include -#if CHIAKI_GUI_ENABLE_QT_GAMEPAD -class QGamepad; -#endif - class QAudioOutput; class QIODevice; class QKeyEvent; @@ -72,9 +68,6 @@ class StreamSession : public QObject ChiakiSession session; ChiakiOpusDecoder opus_decoder; -#if CHIAKI_GUI_ENABLE_QT_GAMEPAD - QGamepad *gamepad; -#endif Controller *controller; ChiakiControllerState keyboard_state; @@ -103,9 +96,6 @@ class StreamSession : public QObject void SetLoginPIN(const QString &pin); -#if CHIAKI_GUI_ENABLE_QT_GAMEPAD - QGamepad *GetGamepad() { return gamepad; } -#endif Controller *GetController() { return controller; } VideoDecoder *GetVideoDecoder() { return &video_decoder; } diff --git a/gui/src/streamsession.cpp b/gui/src/streamsession.cpp index bad63051..a0c85a1e 100644 --- a/gui/src/streamsession.cpp +++ b/gui/src/streamsession.cpp @@ -21,11 +21,6 @@ #include -#if CHIAKI_GUI_ENABLE_QT_GAMEPAD -#include -#include -#endif - #include #include @@ -53,9 +48,6 @@ static void EventCb(ChiakiEvent *event, void *user); StreamSession::StreamSession(const StreamSessionConnectInfo &connect_info, QObject *parent) : QObject(parent), log(this, connect_info.log_level_mask, connect_info.log_file), -#if CHIAKI_GUI_ENABLE_QT_GAMEPAD - gamepad(nullptr), -#endif controller(nullptr), video_decoder(connect_info.hw_decode_engine, log.GetChiakiLog()), audio_output(nullptr), @@ -92,9 +84,6 @@ StreamSession::StreamSession(const StreamSessionConnectInfo &connect_info, QObje chiaki_session_set_video_sample_cb(&session, VideoSampleCb, this); chiaki_session_set_event_cb(&session, EventCb, this); -#if CHIAKI_GUI_ENABLE_QT_GAMEPAD - connect(QGamepadManager::instance(), &QGamepadManager::connectedGamepadsChanged, this, &StreamSession::UpdateGamepads); -#endif #if CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER connect(ControllerManager::GetInstance(), &ControllerManager::AvailableControllersUpdated, this, &StreamSession::UpdateGamepads); #endif @@ -108,9 +97,6 @@ StreamSession::~StreamSession() chiaki_session_join(&session); chiaki_session_fini(&session); chiaki_opus_decoder_fini(&opus_decoder); -#if CHIAKI_GUI_ENABLE_QT_GAMEPAD - delete gamepad; -#endif #if CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER delete controller; #endif @@ -202,46 +188,6 @@ void StreamSession::HandleKeyboardEvent(QKeyEvent *event) void StreamSession::UpdateGamepads() { -#if CHIAKI_GUI_ENABLE_QT_GAMEPAD - if(!gamepad || !gamepad->isConnected()) - { - if(gamepad) - { - CHIAKI_LOGI(log.GetChiakiLog(), "Gamepad %d disconnected", gamepad->deviceId()); - delete gamepad; - gamepad = nullptr; - } - const auto connected_pads = QGamepadManager::instance()->connectedGamepads(); - if(!connected_pads.isEmpty()) - { - gamepad = new QGamepad(connected_pads[0], this); - CHIAKI_LOGI(log.GetChiakiLog(), "Gamepad %d connected: \"%s\"", connected_pads[0], gamepad->name().toLocal8Bit().constData()); - connect(gamepad, &QGamepad::buttonAChanged, this, &StreamSession::SendFeedbackState); - 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::buttonL1Changed, this, &StreamSession::SendFeedbackState); - connect(gamepad, &QGamepad::buttonL2Changed, 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); - connect(gamepad, &QGamepad::axisRightYChanged, this, &StreamSession::SendFeedbackState); - } - } - - SendFeedbackState(); -#endif #if CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER if(!controller || !controller->IsConnected()) { @@ -273,33 +219,6 @@ void StreamSession::SendFeedbackState() { ChiakiControllerState state = {}; -#if CHIAKI_GUI_ENABLE_QT_GAMEPAD - if(gamepad) - { - state.buttons |= gamepad->buttonA() ? CHIAKI_CONTROLLER_BUTTON_CROSS : 0; - 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.l2_state = (uint8_t)(gamepad->buttonL2() * 0xff); - state.r2_state = (uint8_t)(gamepad->buttonR2() * 0xff); - state.left_x = static_cast(gamepad->axisLeftX() * 0x7fff); - state.left_y = static_cast(gamepad->axisLeftY() * 0x7fff); - state.right_x = static_cast(gamepad->axisRightX() * 0x7fff); - state.right_y = static_cast(gamepad->axisRightY() * 0x7fff); - } -#endif - #if CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER if(controller) state = controller->GetState(); diff --git a/scripts/appveyor.sh b/scripts/appveyor.sh index 077884a1..0e492869 100755 --- a/scripts/appveyor.sh +++ b/scripts/appveyor.sh @@ -58,7 +58,6 @@ cmake \ -DPYTHON_EXECUTABLE="$PYTHON" \ -DCHIAKI_ENABLE_TESTS=ON \ -DCHIAKI_ENABLE_CLI=OFF \ - -DCHIAKI_GUI_ENABLE_QT_GAMEPAD=OFF \ -DCHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER=ON \ .. || exit 1 diff --git a/scripts/travis-build.sh b/scripts/travis-build.sh index e1790dde..a16ec777 100755 --- a/scripts/travis-build.sh +++ b/scripts/travis-build.sh @@ -6,7 +6,6 @@ cmake \ -DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH \ -DCHIAKI_ENABLE_TESTS=ON \ -DCHIAKI_ENABLE_CLI=OFF \ - -DCHIAKI_GUI_ENABLE_QT_GAMEPAD=OFF \ -DCHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER=ON \ $CMAKE_EXTRA_ARGS \ .. || exit 1