kirillzyusko/react-native-keyboard-controller

⌨️ Keyboard manager which works in identical way on both iOS and Android

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 44 minutes ago
Added to GitGenius on September 18th, 2026
Created on April 17th, 2022
Open Issues & Pull Requests: 125 (+0)
GitHub issues: Enabled
Number of forks: 196
Total Stargazers: 3,726 (+0)
Total Subscribers: 13 (+0)

Repository Insights (GitGenius)

Median issue/PR response: N/A
Mean response time: 3.1 hours
90th percentile: 0.2 hours
Tracked items: 462

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Practically every issue opened in the past year has drawn a reply. 93% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 45% of tracked open issues have had no activity in three months. 69% of issues opened in the past year have been closed, leaving a working backlog. Three people close 79% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 96
New in 7 days: 2
Closed in 7 days: 1
Avg open age: 256 days
Stale 30+ days: 72
Stale 90+ days: 46

Recent activity

Opened in 7 days: 2
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • 🐛 bug (264)
  • repro provided (152)
  • 🤖 android (125)
  • 🍎 iOS (121)
  • KeyboardAwareScrollView 📜 (89)
  • question (48)
  • KeyboardAvoidingView 🧪 (47)
  • 🎯 crash (41)

Detailed Description

react-native-keyboard-controller is a keyboard management library for React Native that provides unified handling across iOS and Android platforms.

The library addresses the fragmentation in keyboard behavior between iOS and Android by offering a single API that works identically on both platforms. It maps keyboard movement to animated values, enables keyboard lifecycle events like keyboardWillShow and keyboardWillHide on Android, and supports interactive keyboard dismissal. The approach centers on providing low-level control over keyboard interactions while bundling prebuilt components for common patterns, allowing developers to either use ready-made solutions or build custom keyboard UI.

Teams building chat applications, messaging interfaces, or any app requiring sophisticated keyboard interactions should consider this tool. It suits projects that need smooth animations tied to keyboard movement, custom UI elements displayed over the keyboard, or keyboard toolbars with navigation buttons. The library includes specialized components like KeyboardChatScrollView for messaging apps, KeyboardToolbar for input navigation, OverKeyboardView for displaying content above the keyboard without dismissing it, and KeyboardExtender for adding custom buttons to the keyboard itself. It integrates with Reanimated for advanced animations and works alongside any navigation library.

The project shows consistent maintenance with regular updates addressing both platform-specific issues and feature requests. Development activity demonstrates responsiveness to user needs, with the maintainer actively implementing Android-specific improvements and expanding the component library based on real-world use cases. The codebase is written in TypeScript, providing type safety for integration into typed React Native projects.