Qt: Implemented EmuWindow touchpad support.

This commit is contained in:
bunnei 2015-03-08 03:42:40 -04:00
parent dd73217ae3
commit f213000cc4
2 changed files with 29 additions and 0 deletions

View file

@ -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);

View file

@ -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);