tappy_keyboard 3.1.0 copy "tappy_keyboard: ^3.1.0" to clipboard
tappy_keyboard: ^3.1.0 copied to clipboard

An embedded, customizable virtual keyboard plugin for Flutter apps with theming, custom layouts, and hotkey support.

Tappy Keyboard #

A powerful and customizable embedded keyboard solution for Flutter applications, offering flexible layouts, theming, and hotkey support.

Table of Contents #

Features #

  • 🎹 Customizable layouts
  • 🔤 Multiple input types (numeric, alphanumeric)
  • 🎨 Theming options with customizable colors and styles
  • 📱 Responsive design for all screen sizes
  • 🔄 Easy integration with existing Flutter apps
  • 🎯 Animations & transitions
  • 🔒 Secure input handling

[Tappy Keyboard in action]

[Tappy Keyboard in action]

Installation #

Add the package to your pubspec.yaml:

flutter pub add tappy_keyboard

Usage #

Here's a simple example of how to use the embedded keyboard:

import 'package:tappy_keyboard/tappy_keyboard.dart';

final controller = TappyKeyboardController();

TappyKeyboard(
    controller: controller,
    type: TappyKeyboardType.numeric,
    showOnFocus: false,
);

Register hotkeys by providing modifier keys and a callback:

controller.addHotKey(
  TappyKeyboardHotKey(
    modifiers: [
      TappyKeyboardKeyData(keyAction: TappyKeyAction.ctl),
      TappyKeyboardKeyData(keyAction: TappyKeyAction.shift),
      TappyKeyboardKeyData(keyAction: TappyKeyAction.letter, text: 'a'),
    ],
    callback: () {
      ScaffoldMessenger.of(context).showSnackBar(
        SnackBar(
          content: Text("Hi Ctrl + Shift + A!"),
        ),
      );
    },
  ),
);
TappyKeyboard(
  controller: controller,
  type: TappyKeyboardType.alphanumeric,
  showAtSymbol: false,
  tabSpaceSize: 4,
  onTap: (key) {},
  child: Padding(
    padding: const EdgeInsets.all(40.0),
    child: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      crossAxisAlignment: CrossAxisAlignment.center,
      children: [
        for (int i = 1; i <= 15; i++)
          TextField(
            decoration: InputDecoration(
              label: Text("Input Field $i"),
            ),
          ),
      ],
    ),
  ),
);

Dispose the controller to free resources and prevent memory leaks

controller.dispose();

For more advanced usage and customization options, check out the example app in the /example directory.

Customization #

The keyboard can be customized in various ways:

TappyKeyboard(
  controller: TappyKeyboardController(),
  theme: TappyKeyboardTheme(
    backgroundColor: Colors.transparent,
  ),
  type: TappyKeyboardType.numeric,
  onTap: (key){},
)

Example #

Explore a full demo in the example folder.

Contributing #

We welcome contributions! Please open an issue or submit a Pull Request for any improvements or bug fixes.

License #

This project is licensed under the MIT License. See the LICENSE file for details.

1
likes
0
points
100
downloads

Publisher

unverified uploader

Weekly Downloads

An embedded, customizable virtual keyboard plugin for Flutter apps with theming, custom layouts, and hotkey support.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

auto_size_text, flutter, provider

More

Packages that depend on tappy_keyboard