Parcourir la source

yuzu: Read mouse wheel input

Narr the Reg il y a 3 ans
Parent
commit
87b02f78e1

+ 1 - 1
src/input_common/input_mapping.cpp

@@ -76,7 +76,7 @@ void MappingFactory::RegisterButton(const MappingData& data) {
         break;
     case EngineInputType::Analog:
         // Ignore mouse axis when mapping buttons
-        if (data.engine == "mouse") {
+        if (data.engine == "mouse" && data.index != 4) {
             return;
         }
         new_input.Set("axis", data.index);

+ 6 - 0
src/yuzu/configuration/configure_input_player.cpp

@@ -1466,6 +1466,12 @@ void ConfigureInputPlayer::mousePressEvent(QMouseEvent* event) {
     input_subsystem->GetMouse()->PressButton(0, 0, 0, 0, button);
 }
 
+void ConfigureInputPlayer::wheelEvent(QWheelEvent* event) {
+    const int x = event->angleDelta().x();
+    const int y = event->angleDelta().y();
+    input_subsystem->GetMouse()->MouseWheelChange(x, y);
+}
+
 void ConfigureInputPlayer::keyPressEvent(QKeyEvent* event) {
     if (!input_setter || !event) {
         return;

+ 3 - 0
src/yuzu/configuration/configure_input_player.h

@@ -116,6 +116,9 @@ private:
     /// Handle mouse button press events.
     void mousePressEvent(QMouseEvent* event) override;
 
+    /// Handle mouse wheel move events.
+    void wheelEvent(QWheelEvent* event) override;
+
     /// Handle key press events.
     void keyPressEvent(QKeyEvent* event) override;