forked from suyu/suyu
Merge pull request #8536 from Morph1984/fix-webapplet-input
qt_web_browser: Fix button inputs with QtWebEngine
This commit is contained in:
commit
2fed6dd7e1
1 changed files with 6 additions and 2 deletions
|
@ -2,6 +2,8 @@
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
|
|
||||||
#ifdef YUZU_USE_QT_WEB_ENGINE
|
#ifdef YUZU_USE_QT_WEB_ENGINE
|
||||||
|
#include <bit>
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
|
|
||||||
|
@ -211,8 +213,10 @@ template <Core::HID::NpadButton... T>
|
||||||
void QtNXWebEngineView::HandleWindowFooterButtonPressedOnce() {
|
void QtNXWebEngineView::HandleWindowFooterButtonPressedOnce() {
|
||||||
const auto f = [this](Core::HID::NpadButton button) {
|
const auto f = [this](Core::HID::NpadButton button) {
|
||||||
if (input_interpreter->IsButtonPressedOnce(button)) {
|
if (input_interpreter->IsButtonPressedOnce(button)) {
|
||||||
|
const auto button_index = std::countr_zero(static_cast<u64>(button));
|
||||||
|
|
||||||
page()->runJavaScript(
|
page()->runJavaScript(
|
||||||
QStringLiteral("yuzu_key_callbacks[%1] == null;").arg(static_cast<u8>(button)),
|
QStringLiteral("yuzu_key_callbacks[%1] == null;").arg(button_index),
|
||||||
[this, button](const QVariant& variant) {
|
[this, button](const QVariant& variant) {
|
||||||
if (variant.toBool()) {
|
if (variant.toBool()) {
|
||||||
switch (button) {
|
switch (button) {
|
||||||
|
@ -236,7 +240,7 @@ void QtNXWebEngineView::HandleWindowFooterButtonPressedOnce() {
|
||||||
|
|
||||||
page()->runJavaScript(
|
page()->runJavaScript(
|
||||||
QStringLiteral("if (yuzu_key_callbacks[%1] != null) { yuzu_key_callbacks[%1](); }")
|
QStringLiteral("if (yuzu_key_callbacks[%1] != null) { yuzu_key_callbacks[%1](); }")
|
||||||
.arg(static_cast<u8>(button)));
|
.arg(button_index));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue