Эх сурвалжийг харах

Merge remote-tracking branch 'origin/main'

# Conflicts:
#	app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
HapeLee 8 сар өмнө
parent
commit
bac93ccf80

+ 25 - 0
app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt

@@ -793,6 +793,21 @@ class ReadBookActivity : BaseReadBookActivity(),
                 return true
                 return true
             }
             }
         }
         }
+        // 手柄摇杆控制翻页
+        if (0 != (event.source and InputDevice.SOURCE_CLASS_JOYSTICK)) {
+            if (event.action == MotionEvent.ACTION_MOVE) {
+                // 左摇杆上下移动控制翻页
+                val yAxis = event.getAxisValue(MotionEvent.AXIS_Y)
+                if (Math.abs(yAxis) > 0.5f) { // 死区设置
+                    if (yAxis > 0) { // 摇杆向下
+                        handleKeyPage(PageDirection.NEXT, false)
+                    } else { // 摇杆向上
+                        handleKeyPage(PageDirection.PREV, false)
+                    }
+                    return true
+                }
+            }
+        }
         return super.onGenericMotionEvent(event)
         return super.onGenericMotionEvent(event)
     }
     }
 
 
@@ -838,6 +853,16 @@ class ReadBookActivity : BaseReadBookActivity(),
                 handleKeyPage(PageDirection.NEXT, longPress)
                 handleKeyPage(PageDirection.NEXT, longPress)
                 return true
                 return true
             }
             }
+             // 手柄方向键控制翻页
+            KeyEvent.KEYCODE_DPAD_UP, KeyEvent.KEYCODE_DPAD_LEFT -> {
+                handleKeyPage(PageDirection.PREV, longPress)
+                return true
+            }
+
+            KeyEvent.KEYCODE_DPAD_DOWN, KeyEvent.KEYCODE_DPAD_RIGHT -> {
+                handleKeyPage(PageDirection.NEXT, longPress)
+                return true
+            }
         }
         }
 
 
         return super.onKeyDown(keyCode, event)
         return super.onKeyDown(keyCode, event)