mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-08-19 21:13:12 -07:00
Drop Support for QtGamepad
This commit is contained in:
parent
699d6bb1d9
commit
57b0b683e8
6 changed files with 0 additions and 104 deletions
|
@ -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_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_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_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_GUI_ENABLE_SDL_GAMECONTROLLER "Use SDL Gamecontroller for Input" ON)
|
||||||
option(CHIAKI_CLI_ARGP_STANDALONE "Search for standalone argp lib for CLI" OFF)
|
option(CHIAKI_CLI_ARGP_STANDALONE "Search for standalone argp lib for CLI" OFF)
|
||||||
|
|
||||||
|
|
|
@ -6,12 +6,6 @@ find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui Multimedia OpenGL Svg)
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
find_package(Qt5 REQUIRED COMPONENTS MacExtras)
|
find_package(Qt5 REQUIRED COMPONENTS MacExtras)
|
||||||
endif()
|
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)
|
if(CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER)
|
||||||
find_package(SDL2 MODULE REQUIRED)
|
find_package(SDL2 MODULE REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
@ -85,10 +79,6 @@ if(APPLE)
|
||||||
target_link_libraries(chiaki Qt5::MacExtras)
|
target_link_libraries(chiaki Qt5::MacExtras)
|
||||||
target_compile_definitions(chiaki PRIVATE CHIAKI_GUI_ENABLE_QT_MACEXTRAS)
|
target_compile_definitions(chiaki PRIVATE CHIAKI_GUI_ENABLE_QT_MACEXTRAS)
|
||||||
endif()
|
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)
|
if(CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER)
|
||||||
target_link_libraries(chiaki SDL2::SDL2)
|
target_link_libraries(chiaki SDL2::SDL2)
|
||||||
target_compile_definitions(chiaki PRIVATE CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER)
|
target_compile_definitions(chiaki PRIVATE CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER)
|
||||||
|
|
|
@ -31,10 +31,6 @@
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
|
||||||
#if CHIAKI_GUI_ENABLE_QT_GAMEPAD
|
|
||||||
class QGamepad;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
class QAudioOutput;
|
class QAudioOutput;
|
||||||
class QIODevice;
|
class QIODevice;
|
||||||
class QKeyEvent;
|
class QKeyEvent;
|
||||||
|
@ -72,9 +68,6 @@ class StreamSession : public QObject
|
||||||
ChiakiSession session;
|
ChiakiSession session;
|
||||||
ChiakiOpusDecoder opus_decoder;
|
ChiakiOpusDecoder opus_decoder;
|
||||||
|
|
||||||
#if CHIAKI_GUI_ENABLE_QT_GAMEPAD
|
|
||||||
QGamepad *gamepad;
|
|
||||||
#endif
|
|
||||||
Controller *controller;
|
Controller *controller;
|
||||||
|
|
||||||
ChiakiControllerState keyboard_state;
|
ChiakiControllerState keyboard_state;
|
||||||
|
@ -103,9 +96,6 @@ class StreamSession : public QObject
|
||||||
|
|
||||||
void SetLoginPIN(const QString &pin);
|
void SetLoginPIN(const QString &pin);
|
||||||
|
|
||||||
#if CHIAKI_GUI_ENABLE_QT_GAMEPAD
|
|
||||||
QGamepad *GetGamepad() { return gamepad; }
|
|
||||||
#endif
|
|
||||||
Controller *GetController() { return controller; }
|
Controller *GetController() { return controller; }
|
||||||
VideoDecoder *GetVideoDecoder() { return &video_decoder; }
|
VideoDecoder *GetVideoDecoder() { return &video_decoder; }
|
||||||
|
|
||||||
|
|
|
@ -21,11 +21,6 @@
|
||||||
|
|
||||||
#include <chiaki/base64.h>
|
#include <chiaki/base64.h>
|
||||||
|
|
||||||
#if CHIAKI_GUI_ENABLE_QT_GAMEPAD
|
|
||||||
#include <QGamepadManager>
|
|
||||||
#include <QGamepad>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
#include <QAudioOutput>
|
#include <QAudioOutput>
|
||||||
|
|
||||||
|
@ -53,9 +48,6 @@ static void EventCb(ChiakiEvent *event, void *user);
|
||||||
StreamSession::StreamSession(const StreamSessionConnectInfo &connect_info, QObject *parent)
|
StreamSession::StreamSession(const StreamSessionConnectInfo &connect_info, QObject *parent)
|
||||||
: QObject(parent),
|
: QObject(parent),
|
||||||
log(this, connect_info.log_level_mask, connect_info.log_file),
|
log(this, connect_info.log_level_mask, connect_info.log_file),
|
||||||
#if CHIAKI_GUI_ENABLE_QT_GAMEPAD
|
|
||||||
gamepad(nullptr),
|
|
||||||
#endif
|
|
||||||
controller(nullptr),
|
controller(nullptr),
|
||||||
video_decoder(connect_info.hw_decode_engine, log.GetChiakiLog()),
|
video_decoder(connect_info.hw_decode_engine, log.GetChiakiLog()),
|
||||||
audio_output(nullptr),
|
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_video_sample_cb(&session, VideoSampleCb, this);
|
||||||
chiaki_session_set_event_cb(&session, EventCb, 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
|
#if CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER
|
||||||
connect(ControllerManager::GetInstance(), &ControllerManager::AvailableControllersUpdated, this, &StreamSession::UpdateGamepads);
|
connect(ControllerManager::GetInstance(), &ControllerManager::AvailableControllersUpdated, this, &StreamSession::UpdateGamepads);
|
||||||
#endif
|
#endif
|
||||||
|
@ -108,9 +97,6 @@ StreamSession::~StreamSession()
|
||||||
chiaki_session_join(&session);
|
chiaki_session_join(&session);
|
||||||
chiaki_session_fini(&session);
|
chiaki_session_fini(&session);
|
||||||
chiaki_opus_decoder_fini(&opus_decoder);
|
chiaki_opus_decoder_fini(&opus_decoder);
|
||||||
#if CHIAKI_GUI_ENABLE_QT_GAMEPAD
|
|
||||||
delete gamepad;
|
|
||||||
#endif
|
|
||||||
#if CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER
|
#if CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER
|
||||||
delete controller;
|
delete controller;
|
||||||
#endif
|
#endif
|
||||||
|
@ -202,46 +188,6 @@ void StreamSession::HandleKeyboardEvent(QKeyEvent *event)
|
||||||
|
|
||||||
void StreamSession::UpdateGamepads()
|
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 CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER
|
||||||
if(!controller || !controller->IsConnected())
|
if(!controller || !controller->IsConnected())
|
||||||
{
|
{
|
||||||
|
@ -273,33 +219,6 @@ void StreamSession::SendFeedbackState()
|
||||||
{
|
{
|
||||||
ChiakiControllerState state = {};
|
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<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);
|
|
||||||
state.right_y = static_cast<int16_t>(gamepad->axisRightY() * 0x7fff);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER
|
#if CHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER
|
||||||
if(controller)
|
if(controller)
|
||||||
state = controller->GetState();
|
state = controller->GetState();
|
||||||
|
|
|
@ -58,7 +58,6 @@ cmake \
|
||||||
-DPYTHON_EXECUTABLE="$PYTHON" \
|
-DPYTHON_EXECUTABLE="$PYTHON" \
|
||||||
-DCHIAKI_ENABLE_TESTS=ON \
|
-DCHIAKI_ENABLE_TESTS=ON \
|
||||||
-DCHIAKI_ENABLE_CLI=OFF \
|
-DCHIAKI_ENABLE_CLI=OFF \
|
||||||
-DCHIAKI_GUI_ENABLE_QT_GAMEPAD=OFF \
|
|
||||||
-DCHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER=ON \
|
-DCHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER=ON \
|
||||||
.. || exit 1
|
.. || exit 1
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,6 @@ cmake \
|
||||||
-DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH \
|
-DCMAKE_PREFIX_PATH=$CMAKE_PREFIX_PATH \
|
||||||
-DCHIAKI_ENABLE_TESTS=ON \
|
-DCHIAKI_ENABLE_TESTS=ON \
|
||||||
-DCHIAKI_ENABLE_CLI=OFF \
|
-DCHIAKI_ENABLE_CLI=OFF \
|
||||||
-DCHIAKI_GUI_ENABLE_QT_GAMEPAD=OFF \
|
|
||||||
-DCHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER=ON \
|
-DCHIAKI_GUI_ENABLE_SDL_GAMECONTROLLER=ON \
|
||||||
$CMAKE_EXTRA_ARGS \
|
$CMAKE_EXTRA_ARGS \
|
||||||
.. || exit 1
|
.. || exit 1
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue