A null safe version of the control_pad package, developed by artur-ios-dev.


✅ Joystick Controller
✅ Gamepad-like Button View
✅ Customizable Callback Intervals
✅ Null Safe

Getting started

To get started with this package:

Run flutter pub add control_pad_plus to add the package to pubspec.yaml (latest version)

Run flutter pub get to "get" all dependencies in pubspec.yaml

To import the package for use in your program:

import 'package:control_pad_plus/control_pad_plus.dart';


A short example homepage containing the Joystick

class MyHomePage extends StatelessWidget {
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Joystick Controller Example'),
      body: Container(
        child: JoystickView(),

Additional information

More general information about this package can be found from the legacy package here. If any issues relating to the null safety migration arise, feel free to open a bug issue so it can be looked into.

Otherwise, as a general disclaimer: This package was migrated/created for my project, and that is what the example is based on, so this package may not be maintained anymore after May-June 2023 (my graduation) unless it gains traction or there are glaring issues to be addressed.