indica_keyboard 0.0.1 copy "indica_keyboard: ^0.0.1" to clipboard
indica_keyboard: ^0.0.1 copied to clipboard

A comprehensive multilingual keyboard plugin for Flutter supporting English, Hindi, and Marathi with intelligent text input capabilities, SVG icons, haptic feedback, and performance optimizations.

Indica Keyboard Plugin #

A comprehensive multilingual keyboard plugin for Flutter that supports English, Hindi, and Marathi with intelligent text input capabilities.

Features #

  • Multi-language Support: English, Hindi (Devanagari), and Marathi (Devanagari)
  • Smart Text Input: Intelligent vowel attachments and conjunct consonants for Indic scripts
  • Dynamic Layouts: Context-sensitive keyboard layouts with multiple pages for complex scripts
  • Customizable UI: Theming support with custom colors and styling
  • Haptic Feedback: Optional tactile feedback for enhanced user experience
  • Shift States: Three-state shift functionality for English (off, single, caps lock)
  • Easy Integration: Drop-in widget that can be added to any Flutter app

Installation #

Add this to your package's pubspec.yaml file:

dependencies:
  indica_keyboard: ^0.0.1

Basic Usage #

import 'package:flutter/material.dart';
import 'package:indica_keyboard/indica_keyboard.dart';

class MyKeyboardApp extends StatefulWidget {
  @override
  _MyKeyboardAppState createState() => _MyKeyboardAppState();
}

class _MyKeyboardAppState extends State<MyKeyboardApp> {
  final TextEditingController _textController = TextEditingController();

  void _handleTextInput(String text) {
    if (text == '⌫') {
      // Handle backspace
      if (_textController.text.isNotEmpty) {
        final currentText = _textController.text;
        _textController.text = currentText.substring(0, currentText.length - 1);
      }
    } else {
      // Handle regular text input
      _textController.text += text;
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          Expanded(
            child: TextField(
              controller: _textController,
              decoration: InputDecoration(hintText: 'Start typing...'),
            ),
          ),
          MultilingualKeyboard(
            supportedLanguages: ['en', 'hi', 'mr'],
            onTextInput: _handleTextInput,
            onLanguageChanged: (language) {
              print('Language changed to: $language');
            },
          ),
        ],
      ),
    );
  }
}

Advanced Usage #

Custom Styling #

MultilingualKeyboard(
  supportedLanguages: ['en', 'hi', 'mr'],
  onTextInput: _handleTextInput,
  backgroundColor: Colors.grey[100],
  keyColor: Colors.white,
  textColor: Colors.black,
  height: 300,
  enableHapticFeedback: true,
  showLanguageSwitcher: true,
)

Supported Languages #

English (en) #

  • Standard QWERTY layout
  • Three-state shift functionality (off, single, caps lock)
  • Numbers and symbols

Hindi (hi) - हिंदी #

  • Devanagari script with 4 layout pages
  • Smart vowel attachments (matraas)
  • Conjunct consonants and ligatures
  • Dynamic top row based on selected consonant

Marathi (mr) - मराठी #

  • Devanagari script with Marathi-specific characters
  • Support for ळ (La) and other Marathi-specific letters
  • 4 layout pages with comprehensive character coverage
  • Smart text composition

API Reference #

MultilingualKeyboard #

Property Type Default Description
supportedLanguages List<String> Required List of language codes
initialLanguage String 'en' Initial language to display
onTextInput Function(String)? null Callback for text input
onLanguageChanged Function(String)? null Callback for language changes
height double? null Custom keyboard height
backgroundColor Color? null Custom background color
keyColor Color? null Custom key color
textColor Color? null Custom text color
showLanguageSwitcher bool true Show language switcher button
enableHapticFeedback bool true Enable haptic feedback

Smart Features #

Vowel Attachments (Hindi/Marathi) #

When you select a consonant (like क), the top row dynamically shows vowel attachments:

  • क (ka) → का (kaa), कि (ki), की (kii), कु (ku), कू (kuu), etc.

Conjunct Consonants #

Multiple layout pages provide access to complex conjunct consonants:

  • क्ष (ksh), ज्ञ (gya), त्र (tra), श्र (shra)

License #

This project is licensed under the MIT License.ard

A new Flutter plugin project.

Getting Started #

This project is a starting point for a Flutter plug-in package, a specialized package that includes platform-specific implementation code for Android and/or iOS.

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

1
likes
0
points
15
downloads

Publisher

verified publishernoelpinto.dev

Weekly Downloads

A comprehensive multilingual keyboard plugin for Flutter supporting English, Hindi, and Marathi with intelligent text input capabilities, SVG icons, haptic feedback, and performance optimizations.

Repository (GitHub)
View/report issues

Topics

#keyboard #multilingual #hindi #marathi #devanagari

Documentation

Documentation

License

unknown (license)

Dependencies

flutter, flutter_svg, plugin_platform_interface

More

Packages that depend on indica_keyboard

Packages that implement indica_keyboard