mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-08-19 21:13:12 -07:00
Use Mouse Click for Touchpad Button in GUI (#167)
This commit is contained in:
parent
5bf530d56d
commit
fe1e3835f8
4 changed files with 25 additions and 0 deletions
|
@ -28,6 +28,7 @@
|
|||
|
||||
#include <QObject>
|
||||
#include <QImage>
|
||||
#include <QMouseEvent>
|
||||
|
||||
#if CHIAKI_GUI_ENABLE_QT_GAMEPAD
|
||||
class QGamepad;
|
||||
|
@ -105,6 +106,7 @@ class StreamSession : public QObject
|
|||
VideoDecoder *GetVideoDecoder() { return &video_decoder; }
|
||||
|
||||
void HandleKeyboardEvent(QKeyEvent *event);
|
||||
void HandleMouseEvent(QMouseEvent *event);
|
||||
|
||||
signals:
|
||||
void CurrentImageUpdated();
|
||||
|
|
|
@ -44,6 +44,8 @@ class StreamWindow: public QMainWindow
|
|||
void keyPressEvent(QKeyEvent *event) override;
|
||||
void keyReleaseEvent(QKeyEvent *event) override;
|
||||
void closeEvent(QCloseEvent *event) override;
|
||||
void mousePressEvent(QMouseEvent *event) override;
|
||||
void mouseReleaseEvent(QMouseEvent *event) override;
|
||||
|
||||
private slots:
|
||||
void SessionQuit(ChiakiQuitReason reason, const QString &reason_str);
|
||||
|
|
|
@ -141,6 +141,15 @@ void StreamSession::SetLoginPIN(const QString &pin)
|
|||
chiaki_session_set_login_pin(&session, (const uint8_t *)data.constData(), data.size());
|
||||
}
|
||||
|
||||
void StreamSession::HandleMouseEvent(QMouseEvent *event)
|
||||
{
|
||||
if(event->type() == QEvent::MouseButtonPress)
|
||||
keyboard_state.buttons |= CHIAKI_CONTROLLER_BUTTON_TOUCHPAD;
|
||||
else
|
||||
keyboard_state.buttons &= ~CHIAKI_CONTROLLER_BUTTON_TOUCHPAD;
|
||||
SendFeedbackState();
|
||||
}
|
||||
|
||||
void StreamSession::HandleKeyboardEvent(QKeyEvent *event)
|
||||
{
|
||||
uint64_t button_mask;
|
||||
|
|
|
@ -86,6 +86,18 @@ void StreamWindow::keyReleaseEvent(QKeyEvent *event)
|
|||
session->HandleKeyboardEvent(event);
|
||||
}
|
||||
|
||||
void StreamWindow::mousePressEvent(QMouseEvent *event)
|
||||
{
|
||||
if(session)
|
||||
session->HandleMouseEvent(event);
|
||||
}
|
||||
|
||||
void StreamWindow::mouseReleaseEvent(QMouseEvent *event)
|
||||
{
|
||||
if(session)
|
||||
session->HandleMouseEvent(event);
|
||||
}
|
||||
|
||||
void StreamWindow::closeEvent(QCloseEvent *)
|
||||
{
|
||||
if(session)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue