Default drag scrolling devices

Summary

Context

Description of change

Migration guide

Setting a custom ScrollBehavior for your application
Setting a custom ScrollBehavior for a specific widget
Copy and modify existing ScrollBehavior
Migrate GestureDetectors from kind to supportedDevices

Timeline

References

Summary

ScrollBehaviors now allow or disallow drag scrolling from specified
PointerDeviceKinds. ScrollBehavior.dragDevices, by default,
allows scrolling widgets to be dragged by all PointerDeviceKinds
except for PointerDeviceKind.mouse.

Context

Prior to this change, all PointerDeviceKinds could drag a Scrollable widget.
This did not match developer expectations when interacting with Flutter
applications using mouse input devices. This also made it difficult to execute
other mouse gestures, like selecting text that was contained in a Scrollable widget.