fix(iPad): keep touch gestures with external mouse (#14652)

* fix(ipad): keep touch gestures with external mouse

Signed-off-by: Rafal <mrsikorarafal@gmail.com>

* fix(mobile): touch gesture on physical mouse connected

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix(ipad): revert 9ee100b53e

keep touch gestures with external mouse

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix(mobile): align view camera page with remote page

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: Rafal <mrsikorarafal@gmail.com>
Signed-off-by: fufesou <linlong1266@gmail.com>
Co-authored-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
s1korrrr
2026-04-27 13:44:35 +02:00
committed by GitHub
parent 7308c448f1
commit 5b7ad339b8
3 changed files with 27 additions and 19 deletions

View File

@@ -532,7 +532,9 @@ class _RawTouchGestureDetectorRegionState
// Official // Official
TapGestureRecognizer: TapGestureRecognizer:
GestureRecognizerFactoryWithHandlers<TapGestureRecognizer>( GestureRecognizerFactoryWithHandlers<TapGestureRecognizer>(
() => TapGestureRecognizer(), (instance) { () => TapGestureRecognizer(
supportedDevices: kTouchBasedDeviceKinds,
), (instance) {
instance instance
..onTapDown = onTapDown ..onTapDown = onTapDown
..onTapUp = onTapUp ..onTapUp = onTapUp
@@ -540,14 +542,18 @@ class _RawTouchGestureDetectorRegionState
}), }),
DoubleTapGestureRecognizer: DoubleTapGestureRecognizer:
GestureRecognizerFactoryWithHandlers<DoubleTapGestureRecognizer>( GestureRecognizerFactoryWithHandlers<DoubleTapGestureRecognizer>(
() => DoubleTapGestureRecognizer(), (instance) { () => DoubleTapGestureRecognizer(
supportedDevices: kTouchBasedDeviceKinds,
), (instance) {
instance instance
..onDoubleTapDown = onDoubleTapDown ..onDoubleTapDown = onDoubleTapDown
..onDoubleTap = onDoubleTap; ..onDoubleTap = onDoubleTap;
}), }),
LongPressGestureRecognizer: LongPressGestureRecognizer:
GestureRecognizerFactoryWithHandlers<LongPressGestureRecognizer>( GestureRecognizerFactoryWithHandlers<LongPressGestureRecognizer>(
() => LongPressGestureRecognizer(), (instance) { () => LongPressGestureRecognizer(
supportedDevices: kTouchBasedDeviceKinds,
), (instance) {
instance instance
..onLongPressDown = onLongPressDown ..onLongPressDown = onLongPressDown
..onLongPressUp = onLongPressUp ..onLongPressUp = onLongPressUp
@@ -557,7 +563,9 @@ class _RawTouchGestureDetectorRegionState
// Customized // Customized
HoldTapMoveGestureRecognizer: HoldTapMoveGestureRecognizer:
GestureRecognizerFactoryWithHandlers<HoldTapMoveGestureRecognizer>( GestureRecognizerFactoryWithHandlers<HoldTapMoveGestureRecognizer>(
() => HoldTapMoveGestureRecognizer(), () => HoldTapMoveGestureRecognizer(
supportedDevices: kTouchBasedDeviceKinds,
),
(instance) => instance (instance) => instance
..onHoldDragStart = onHoldDragStart ..onHoldDragStart = onHoldDragStart
..onHoldDragUpdate = onHoldDragUpdate ..onHoldDragUpdate = onHoldDragUpdate
@@ -565,14 +573,18 @@ class _RawTouchGestureDetectorRegionState
..onHoldDragEnd = onHoldDragEnd), ..onHoldDragEnd = onHoldDragEnd),
DoubleFinerTapGestureRecognizer: DoubleFinerTapGestureRecognizer:
GestureRecognizerFactoryWithHandlers<DoubleFinerTapGestureRecognizer>( GestureRecognizerFactoryWithHandlers<DoubleFinerTapGestureRecognizer>(
() => DoubleFinerTapGestureRecognizer(), (instance) { () => DoubleFinerTapGestureRecognizer(
supportedDevices: kTouchBasedDeviceKinds,
), (instance) {
instance instance
..onDoubleFinerTap = onDoubleFinerTap ..onDoubleFinerTap = onDoubleFinerTap
..onDoubleFinerTapDown = onDoubleFinerTapDown; ..onDoubleFinerTapDown = onDoubleFinerTapDown;
}), }),
CustomTouchGestureRecognizer: CustomTouchGestureRecognizer:
GestureRecognizerFactoryWithHandlers<CustomTouchGestureRecognizer>( GestureRecognizerFactoryWithHandlers<CustomTouchGestureRecognizer>(
() => CustomTouchGestureRecognizer(), (instance) { () => CustomTouchGestureRecognizer(
supportedDevices: kTouchBasedDeviceKinds,
), (instance) {
instance.onOneFingerPanStart = instance.onOneFingerPanStart =
(DragStartDetails d) => onOneFingerPanStart(context, d); (DragStartDetails d) => onOneFingerPanStart(context, d);
instance instance

View File

@@ -426,12 +426,10 @@ class _RemotePageState extends State<RemotePage> with WidgetsBindingObserver {
} }
return Container( return Container(
color: MyTheme.canvasColor, color: MyTheme.canvasColor,
child: inputModel.isPhysicalMouse.value child: RawTouchGestureDetectorRegion(
? getBodyForMobile() child: getBodyForMobile(),
: RawTouchGestureDetectorRegion( ffi: gFFI,
child: getBodyForMobile(), ),
ffi: gFFI,
),
); );
}), }),
), ),

View File

@@ -259,13 +259,11 @@ class _ViewCameraPageState extends State<ViewCameraPage>
} }
return Container( return Container(
color: MyTheme.canvasColor, color: MyTheme.canvasColor,
child: inputModel.isPhysicalMouse.value child: RawTouchGestureDetectorRegion(
? getBodyForMobile() child: getBodyForMobile(),
: RawTouchGestureDetectorRegion( ffi: gFFI,
child: getBodyForMobile(), isCamera: true,
ffi: gFFI, ),
isCamera: true,
),
); );
}), }),
), ),