flutter_custom_keyboard 1.0.6 copy "flutter_custom_keyboard: ^1.0.6" to clipboard
flutter_custom_keyboard: ^1.0.6 copied to clipboard

A highly customizable Flutter keyboard widget with modern animations, haptic feedback, and cross-platform support. Perfect replacement for system keyboards in forms, login screens, and search fields.

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.0.6 - 2025-01-15 #

Fixed #

  • Critical Gesture Handling: Fixed backspace key only responding to long press instead of single tap
  • Enter Key Responsiveness: Improved Enter/Cancel key single tap detection for reliable keyboard dismissal
  • TextFormField Integration: Enhanced compatibility with standard Flutter TextFormField widgets
  • Clear Button Conflicts: Resolved gesture conflicts between TextFormField suffix icons and custom keyboard
  • Cursor Visibility: Fixed missing text cursor in TextFormField when using custom keyboard

Enhanced #

  • Gesture Detection: Completely redesigned key gesture handling for better responsiveness
    • Added handleGestures parameter to CustomKey for flexible gesture management
    • Implemented proper gesture delegation for backspace key with parent-child coordination
    • Enhanced HitTestBehavior configuration for reliable tap detection across all keys
  • TextFormField Support: Full compatibility with Flutter's standard TextFormField
    • Added useCustomKeyboard flag for seamless switching between custom and system keyboards
    • Proper focus management with conditional readOnly and enableInteractiveSelection handling
    • Dynamic suffix icon support (clear buttons) without gesture conflicts
  • Visual Feedback: Improved key press animations and visual states
    • Maintained haptic feedback and press animations even with parent gesture handling
    • Enhanced button press states with proper color transitions and shadows
    • Added showCursor: true support for proper text editing experience

Technical Improvements #

  • Architecture: Separated visual feedback from action execution in key components
    • Created reusable _buildKeyContent() method for consistent key rendering
    • Implemented conditional gesture handling based on parent-child relationships
    • Enhanced CustomKey widget with configurable gesture behavior
  • State Management: Improved focus and controller management
    • Added proper focus node lifecycle management with setup and disposal
    • Enhanced controller listeners for dynamic UI updates (clear button visibility)
    • Implemented smart keyboard dismissal with tap-outside-to-dismiss functionality
  • Code Quality: Better separation of concerns and maintainability
    • Cleaner gesture detector hierarchy with proper behavior flags
    • Enhanced method organization with logical separation of visual and functional code
    • Improved error handling and edge case management

User Experience #

  • Reliable Input: All keyboard keys now respond consistently to single taps
  • Seamless Integration: TextFormField works exactly like standard Flutter components
  • Smart Interactions: Intelligent gesture handling prevents conflicts between UI elements
  • Visual Polish: Smooth animations and proper visual states across all interactions
  • Accessibility: Enhanced touch targets and proper gesture recognition

Developer Experience #

  • Flexible Integration: Easy switching between custom and system keyboards with simple flag
  • Standard APIs: Full compatibility with Flutter's form validation and text editing patterns
  • Documentation: Enhanced example implementations showing TextFormField integration
  • Debugging: Better gesture handling makes touch interactions more predictable

Validation #

  • Cross-Platform Testing: Verified gesture improvements on both Android and iOS
  • Form Integration: Tested with complex forms containing multiple TextFormField widgets
  • Edge Cases: Validated proper behavior with various suffix/prefix icon configurations
  • Performance: Confirmed no regression in typing performance or animation smoothness

Breaking Changes #

  • None (fully backward compatible)

Migration Notes #

  • Existing CustomTextField implementations continue to work unchanged
  • New TextFormField integration is opt-in with useCustomKeyboard flag
  • No API changes to existing keyboard functionality

1.0.5 - 2025-09-09 #

Enhanced #

  • Landscape Mode Optimization: Complete redesign of keyboard behavior in landscape orientation
  • Compact Design: Keyboard now uses 35% of screen height instead of 50% in landscape mode
  • Visual Scaling: Added intelligent height-only scaling (scaleY: 0.8) to maintain full width coverage
  • Responsive Sizing: Ultra-compact 25px key height for landscape mode (down from 42px)
  • Zero Padding: Removed all horizontal and vertical padding in landscape for maximum space efficiency
  • Smart Scrolling: Optimized auto-scroll behavior to position focused fields just above keyboard with minimal movement

Fixed #

  • Tablet Detection: Improved landscape detection using MediaQuery.orientation instead of size comparison
  • Device Classification: Fixed tablet detection using shortestSide > 600 for more reliable cross-device compatibility
  • Layout Consistency: Resolved width scaling issues that caused keyboards to appear narrower than screen width
  • Border Radius Matching: Added consistent 16px rounded corners to bottom modal sheet
  • Scroll Behavior: Fixed excessive scrolling by implementing smart field coverage detection (>50% threshold)
  • Static Analysis: Resolved deprecated withOpacity warnings and removed debug print statements

Technical #

  • Transform Optimization: Implemented separate X/Y scaling (scaleX: 1.0, scaleY: 0.8) for landscape mode
  • Alignment Control: Added Alignment.bottomCenter to maintain proper keyboard positioning
  • Cross-File Consistency: Updated tablet detection logic across all scaffold files for unified behavior
  • Performance: Maintained typing performance while adding landscape optimizations
  • Scroll Algorithm: Reduced buffer from 150px to 50px total with intelligent field coverage detection
  • Animation Tuning: Faster scroll animations (200ms) with smoother easeOut curve

User Experience #

  • Android-like Behavior: Landscape keyboard now behaves similarly to default Android keyboard
  • Screen Real Estate: Significantly more content visible in landscape mode
  • Visual Polish: Seamless rounded corners between modal sheet and keyboard container
  • Responsive Design: Automatic adaptation between portrait and landscape orientations
  • Natural Scrolling: Focused text fields now appear with comfortable spacing above keyboard
  • Reduced Motion: Eliminated excessive screen movement when keyboard appears

Validation #

  • Mobile Testing: Verified compact landscape behavior on Android devices
  • Orientation Switching: Confirmed smooth transitions between portrait and landscape modes
  • Cross-Device: Tested tablet detection accuracy across different screen sizes
  • Visual Consistency: Validated matching design elements and corner radius alignment

1.0.4 - 2025-08-31 #

Fixed #

  • Critical Layout Bug: Fixed keyboard not updating visually when switching between QWERTY, numeric, and symbol layouts
  • State Management: Resolved issue where layout data was cached outside AnimatedBuilder preventing UI updates
  • Layout Switching Logic: Ensured proper keyboard rebuilding when tapping 123, !@#, and ABC keys

Enhanced #

  • Debug Support: Added comprehensive debug logging for layout switching operations
  • Error Tracking: Improved debugging capabilities for layout state changes
  • Development Tools: Enhanced development experience with better error reporting

Technical #

  • Widget Lifecycle: Moved layout data retrieval inside AnimatedBuilder for proper state updates
  • Performance: Optimized layout switching without affecting typing performance
  • State Synchronization: Improved synchronization between keyboard state and visual representation

Validation #

  • Layout Testing: Verified all three keyboard layouts (QWERTY → Numeric → Symbols) switch correctly
  • User Experience: Confirmed smooth transitions between different input modes
  • Production Ready: Thoroughly tested layout switching in production-like scenarios

Breaking Changes #

  • None (backward compatible)

Migration Notes #

  • No migration required - all changes are internal improvements
  • Existing implementations will automatically benefit from the fixes

1.0.3 - 2025-08-31 #

Fixed #

  • Layout Switching: Fixed critical bug where number and symbol keyboards weren't displaying after tapping layout switch keys (123, !@#, ABC)
  • UI Refresh: Fixed keyboard not rebuilding when layout state changes by moving layout data retrieval inside AnimatedBuilder
  • Backspace Long Press: Improved continuous backspace deletion with proper gesture handling and faster repeat rate (50ms intervals)

Improved #

  • Ultra-Fast Response: Optimized key tap responsiveness for instant character input
    • Moved text input to onTapDown for zero-delay typing experience
    • Reduced animation durations (80ms → 40ms) for faster visual feedback
    • Streamlined haptic feedback for better performance
  • Code Quality: Significant improvements to code structure and documentation
    • Fixed 43 → 39 static analysis issues
    • Added comprehensive dartdoc comments to all public APIs
    • Improved import structure using proper package imports
    • Enhanced example app with publish_to: none configuration

Performance #

  • Memory Optimization: Cleaned up unused animation controllers and variables
  • Widget Building: Optimized layout caching and reduced unnecessary rebuilds
  • State Management: Improved keyboard state updates with synchronous processing
  • Gesture Detection: Enhanced long press detection for backspace functionality

Documentation #

  • API Documentation: Added detailed dartdoc comments for better developer experience
  • Library Documentation: Comprehensive library-level documentation with usage examples
  • Troubleshooting: Enhanced README with better examples and debugging guides

1.0.0 - 2025-01-30 #

Added #

  • 🎉 Initial release of Flutter Custom Keyboard package
  • ⌨️ Complete custom keyboard widget with QWERTY, numeric, and symbols layouts
  • 🎨 Modern UI design with gradients, shadows, and rounded corners
  • ⚡ Multi-layer animations including scale, ripple, flash, and glow effects
  • 📱 Cross-platform support for Android and iOS
  • 💫 Haptic feedback with different patterns for different key types
  • 🔄 Smart state management for shift/caps lock functionality
  • 📏 Responsive design that adapts to different screen sizes
  • 🎯 Easy integration with drop-in CustomTextField widget
  • 📦 KeyboardScaffold for global keyboard management
  • 🔒 Automatic input focus and scrolling management
  • ✨ Visual feedback with instant response to key presses
  • 🎮 Programmatic keyboard control via KeyboardManager
  • 📖 Comprehensive documentation and examples
  • 🧪 Example app demonstrating all features

Features #

  • Keyboard Layouts:

    • QWERTY layout with full alphabet support
    • Numeric layout with number pad
    • Symbols layout with special characters and punctuation
    • Easy switching between layouts with dedicated keys
  • Visual Effects:

    • Scale animation on key press
    • Ripple effect expanding from tap point
    • Flash animation for instant visual feedback
    • Glow effect for special keys (Enter, Backspace, Shift)
    • Dynamic elevation changes during interaction
    • Modern gradient backgrounds and shadows
  • User Experience:

    • Haptic feedback with contextual vibration patterns
    • Smooth keyboard slide-in/out animations
    • Automatic scrolling to keep focused fields visible
    • Smart focus management between multiple text fields
    • System keyboard suppression to prevent conflicts
  • Developer Experience:

    • Simple drop-in replacement for TextField
    • Minimal setup with KeyboardScaffold wrapper
    • Flexible CustomKeyboard widget for advanced usage
    • Comprehensive API with KeyboardManager
    • TypeScript-like API documentation
    • Rich example app with multiple use cases
  • Technical:

    • Built with Flutter 3.10.0+ and Dart 3.0.0+
    • Uses TickerProviderStateMixin for smooth animations
    • Proper memory management with dispose methods
    • Cross-platform haptic feedback implementation
    • Optimized for performance with efficient state management

API Reference #

  • KeyboardScaffold: Main wrapper widget for global keyboard functionality
  • CustomTextField: Drop-in TextField replacement with keyboard integration
  • CustomKeyboard: Core keyboard widget for advanced usage
  • KeyboardManager: Static class for programmatic keyboard control
  • KeyboardStateManager: State management for keyboard layouts and modes
  • KeyboardLayouts: Predefined layout configurations
  • KeyData: Individual key configuration model

Documentation #

  • Comprehensive README.md with installation and usage guide
  • API documentation with detailed property descriptions
  • Multiple usage examples from basic to advanced
  • Troubleshooting guide for common issues
  • Platform-specific feature compatibility table
  • Contributing guidelines and development setup

Known Issues #

  • None reported in initial release

Breaking Changes #

  • None (initial release)

Release Notes #

What's New in 1.0.0 #

This is the initial stable release of Flutter Custom Keyboard, providing a complete solution for custom keyboard implementation in Flutter applications.

Key Highlights:

  • Production Ready: Thoroughly tested and optimized for performance
  • Easy Integration: Drop-in replacement for standard TextField widgets
  • Beautiful Design: Modern Material Design with smooth animations
  • Cross-Platform: Works seamlessly on both Android and iOS
  • Developer Friendly: Comprehensive documentation and examples

Perfect For:

  • Login and registration forms
  • Search functionality
  • Chat applications
  • Data entry forms
  • Any app requiring custom text input

Get Started:

dependencies:
  flutter_custom_keyboard: ^1.0.0

We're excited to see what you build with Flutter Custom Keyboard! 🚀

1
likes
0
points
601
downloads

Publisher

unverified uploader

Weekly Downloads

A highly customizable Flutter keyboard widget with modern animations, haptic feedback, and cross-platform support. Perfect replacement for system keyboards in forms, login screens, and search fields.

Repository (GitHub)
View/report issues

Topics

#keyboard #input #ui #widget #animation

License

unknown (license)

Dependencies

flutter

More

Packages that depend on flutter_custom_keyboard