aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei <bunneidev@gmail.com>2015-03-08 03:42:40 -0400
committerGravatar bunnei <bunneidev@gmail.com>2015-03-10 18:05:18 -0400
commitf213000cc421a0d00af35e160d9dff9eea617cf6 (patch)
tree4a0af4686f54bb04ae999061a009f8b931be3ec0 /src
parentdd73217ae388a74f0c4d000ef52edd0f2b7fa64c (diff)
Qt: Implemented EmuWindow touchpad support.
Diffstat (limited to 'src')
-rw-r--r--src/citra_qt/bootmanager.cpp25
-rw-r--r--src/citra_qt/bootmanager.h4
2 files changed, 29 insertions, 0 deletions
diff --git a/src/citra_qt/bootmanager.cpp b/src/citra_qt/bootmanager.cpp
index a040e75c..cf07e65c 100644
--- a/src/citra_qt/bootmanager.cpp
+++ b/src/citra_qt/bootmanager.cpp
@@ -278,6 +278,31 @@ void GRenderWindow::keyReleaseEvent(QKeyEvent* event)
Service::HID::PadUpdateComplete();
}
+void GRenderWindow::mousePressEvent(QMouseEvent *event)
+{
+ if (event->button() == Qt::LeftButton) {
+ auto pos = event->pos();
+ EmuWindow::TouchPressed(GetFramebufferLayout(), static_cast<u16>(pos.x()),
+ static_cast<u16>(pos.y()));
+ }
+}
+
+void GRenderWindow::mouseMoveEvent(QMouseEvent *event)
+{
+ auto pos = event->pos();
+ EmuWindow::TouchMoved(GetFramebufferLayout(), static_cast<u16>(pos.x()),
+ static_cast<u16>(pos.y()));
+}
+
+void GRenderWindow::mouseReleaseEvent(QMouseEvent *event)
+{
+ if (event->button() == Qt::LeftButton) {
+ auto pos = event->pos();
+ EmuWindow::TouchReleased(GetFramebufferLayout(), static_cast<u16>(pos.x()),
+ static_cast<u16>(pos.y()));
+ }
+}
+
void GRenderWindow::ReloadSetKeymaps()
{
KeyMap::SetKeyMapping({Settings::values.pad_a_key, keyboard_id}, Service::HID::PAD_A);
diff --git a/src/citra_qt/bootmanager.h b/src/citra_qt/bootmanager.h
index a55db682..288da45a 100644
--- a/src/citra_qt/bootmanager.h
+++ b/src/citra_qt/bootmanager.h
@@ -121,6 +121,10 @@ public:
void keyPressEvent(QKeyEvent* event) override;
void keyReleaseEvent(QKeyEvent* event) override;
+ void mousePressEvent(QMouseEvent *event) override;
+ void mouseMoveEvent(QMouseEvent *event) override;
+ void mouseReleaseEvent(QMouseEvent *event) override;
+
void ReloadSetKeymaps() override;
void OnClientAreaResized(unsigned width, unsigned height);