@@ -288,6 +288,7 @@ class GestureDetector extends StatelessWidget {
288288 this .behavior,
289289 this .excludeFromSemantics = false ,
290290 this .dragStartBehavior = DragStartBehavior .start,
291+ this .supportedDevices,
291292 }) : assert (excludeFromSemantics != null ),
292293 assert (dragStartBehavior != null ),
293294 assert (() {
@@ -1004,6 +1005,11 @@ class GestureDetector extends StatelessWidget {
10041005 /// * [DragGestureRecognizer.dragStartBehavior] , which gives an example for the different behaviors.
10051006 final DragStartBehavior dragStartBehavior;
10061007
1008+ /// The kind of devices that are allowed to be recognized.
1009+ ///
1010+ /// If set to null, events from all device types will be recognized. Defaults to null.
1011+ final Set <PointerDeviceKind >? supportedDevices;
1012+
10071013 @override
10081014 Widget build (BuildContext context) {
10091015 final Map <Type , GestureRecognizerFactory > gestures = < Type , GestureRecognizerFactory > {};
@@ -1022,7 +1028,7 @@ class GestureDetector extends StatelessWidget {
10221028 onTertiaryTapCancel != null
10231029 ) {
10241030 gestures[TapGestureRecognizer ] = GestureRecognizerFactoryWithHandlers <TapGestureRecognizer >(
1025- () => TapGestureRecognizer (debugOwner: this ),
1031+ () => TapGestureRecognizer (debugOwner: this , supportedDevices : supportedDevices ),
10261032 (TapGestureRecognizer instance) {
10271033 instance
10281034 ..onTapDown = onTapDown
@@ -1043,7 +1049,7 @@ class GestureDetector extends StatelessWidget {
10431049
10441050 if (onDoubleTap != null ) {
10451051 gestures[DoubleTapGestureRecognizer ] = GestureRecognizerFactoryWithHandlers <DoubleTapGestureRecognizer >(
1046- () => DoubleTapGestureRecognizer (debugOwner: this ),
1052+ () => DoubleTapGestureRecognizer (debugOwner: this , supportedDevices : supportedDevices ),
10471053 (DoubleTapGestureRecognizer instance) {
10481054 instance
10491055 ..onDoubleTapDown = onDoubleTapDown
@@ -1076,7 +1082,7 @@ class GestureDetector extends StatelessWidget {
10761082 onTertiaryLongPressUp != null ||
10771083 onTertiaryLongPressEnd != null ) {
10781084 gestures[LongPressGestureRecognizer ] = GestureRecognizerFactoryWithHandlers <LongPressGestureRecognizer >(
1079- () => LongPressGestureRecognizer (debugOwner: this ),
1085+ () => LongPressGestureRecognizer (debugOwner: this , supportedDevices : supportedDevices ),
10801086 (LongPressGestureRecognizer instance) {
10811087 instance
10821088 ..onLongPressDown = onLongPressDown
@@ -1111,7 +1117,7 @@ class GestureDetector extends StatelessWidget {
11111117 onVerticalDragEnd != null ||
11121118 onVerticalDragCancel != null ) {
11131119 gestures[VerticalDragGestureRecognizer ] = GestureRecognizerFactoryWithHandlers <VerticalDragGestureRecognizer >(
1114- () => VerticalDragGestureRecognizer (debugOwner: this ),
1120+ () => VerticalDragGestureRecognizer (debugOwner: this , supportedDevices : supportedDevices ),
11151121 (VerticalDragGestureRecognizer instance) {
11161122 instance
11171123 ..onDown = onVerticalDragDown
@@ -1131,7 +1137,7 @@ class GestureDetector extends StatelessWidget {
11311137 onHorizontalDragEnd != null ||
11321138 onHorizontalDragCancel != null ) {
11331139 gestures[HorizontalDragGestureRecognizer ] = GestureRecognizerFactoryWithHandlers <HorizontalDragGestureRecognizer >(
1134- () => HorizontalDragGestureRecognizer (debugOwner: this ),
1140+ () => HorizontalDragGestureRecognizer (debugOwner: this , supportedDevices : supportedDevices ),
11351141 (HorizontalDragGestureRecognizer instance) {
11361142 instance
11371143 ..onDown = onHorizontalDragDown
@@ -1151,7 +1157,7 @@ class GestureDetector extends StatelessWidget {
11511157 onPanEnd != null ||
11521158 onPanCancel != null ) {
11531159 gestures[PanGestureRecognizer ] = GestureRecognizerFactoryWithHandlers <PanGestureRecognizer >(
1154- () => PanGestureRecognizer (debugOwner: this ),
1160+ () => PanGestureRecognizer (debugOwner: this , supportedDevices : supportedDevices ),
11551161 (PanGestureRecognizer instance) {
11561162 instance
11571163 ..onDown = onPanDown
@@ -1167,7 +1173,7 @@ class GestureDetector extends StatelessWidget {
11671173
11681174 if (onScaleStart != null || onScaleUpdate != null || onScaleEnd != null ) {
11691175 gestures[ScaleGestureRecognizer ] = GestureRecognizerFactoryWithHandlers <ScaleGestureRecognizer >(
1170- () => ScaleGestureRecognizer (debugOwner: this ),
1176+ () => ScaleGestureRecognizer (debugOwner: this , supportedDevices : supportedDevices ),
11711177 (ScaleGestureRecognizer instance) {
11721178 instance
11731179 ..onStart = onScaleStart
@@ -1184,7 +1190,7 @@ class GestureDetector extends StatelessWidget {
11841190 onForcePressUpdate != null ||
11851191 onForcePressEnd != null ) {
11861192 gestures[ForcePressGestureRecognizer ] = GestureRecognizerFactoryWithHandlers <ForcePressGestureRecognizer >(
1187- () => ForcePressGestureRecognizer (debugOwner: this ),
1193+ () => ForcePressGestureRecognizer (debugOwner: this , supportedDevices : supportedDevices ),
11881194 (ForcePressGestureRecognizer instance) {
11891195 instance
11901196 ..onStart = onForcePressStart
0 commit comments