MCPcopy
hub / github.com/kirillzyusko/react-native-keyboard-controller

github.com/kirillzyusko/react-native-keyboard-controller @1.21.13 sqlite

repository ↗ · DeepWiki ↗ · release 1.21.13 ↗
358 symbols 1,421 edges 329 files 4 documented · 1%
README

react-native-keyboard-controller

A universal keyboard handling solution for React Native — lightweight, fully customizable, and built for real-world apps. Smooth animations, consistent behavior on both iOS and Android, with a developer-oriented design.

Key features

  • 🧬 Map keyboard movement to animated values
  • 🧪 keyboardWillShow / keyboardWillHide events now available on Android
  • 🔮 Change soft input mode on Android
  • ⚡ Preload keyboard to avoid first-time focus lag
  • 🚀 Reanimated support
  • 📱 Interactive keyboard dismissing 👆📱
  • 📚 Prebuilt components (KeyboardStickyView, KeyboardAwareScrollView, reworked KeyboardAvoidingView)
  • 📐 KeyboardToolbar with customizable previous, next, and done buttons
  • 🌐 Display anything over the keyboard (without dismissing it) using OverKeyboardView
  • 🎨 Match keyboard background with KeyboardBackgroundView
  • 🧩 Extend keyboard with custom buttons/UI via KeyboardExtender
  • 💬 Build chat interfaces (messenger and 🤖 AI chats) easily with KeyboardChatScrollView
  • 📝 Easy retrieval of focused input info
  • 🧭 Compatible with any navigation library
  • ✨ More coming soon... stay tuned! 😊

Installation

Check out the installation section of the docs for detailed setup instructions.

Documentation

Full API reference and guides available at:
https://kirillzyusko.github.io/react-native-keyboard-controller/

Contributing

See the contributing guide to learn how to contribute to the repo and development workflow.

License

MIT

Extension points exported contracts — how you extend this code

ChatConfigStore (Interface)
(no doc)
example/src/screens/Examples/KeyboardChatScrollView/store.ts
ChatConfigStore (Interface)
(no doc)
FabricExample/src/screens/Examples/KeyboardChatScrollView/store.ts
Spec (Interface)
(no doc)
src/specs/NativeStatusBarManagerCompat.ts
Window (Interface)
(no doc)
docs/src/components/ExpoSnack/index.tsx
NativeProps (Interface)
(no doc)
src/specs/KeyboardToolbarGroupViewNativeComponent.ts
NativeProps (Interface)
(no doc)
src/specs/ClippingScrollViewDecoratorViewNativeComponent.ts
NativeProps (Interface)
(no doc)
src/specs/OverKeyboardViewNativeComponent.ts
NativeProps (Interface)
(no doc)
src/specs/KeyboardBackgroundViewNativeComponent.ts

Core symbols most depended-on inside this repo

sv
called by 185
src/__fixtures__/sv.ts
waitAndTap
called by 76
e2e/kit/helpers/actions/index.ts
waitForExpect
called by 69
e2e/kit/helpers/awaitable/index.ts
expectBitmapsToBeEqual
called by 65
e2e/kit/asserts/index.ts
kbEvent
called by 48
src/components/KeyboardAwareScrollView/__fixtures__/testUtils.tsx
createRender
called by 30
src/components/KeyboardChatScrollView/useExtraContentPadding/__fixtures__/setup.ts
waitForElementById
called by 23
e2e/kit/helpers/awaitable/index.ts
computeIOSContentOffset
called by 21
src/components/KeyboardChatScrollView/useChatKeyboard/helpers.ts

Shape

Function 330
Interface 13
Method 11
Enum 3
Class 1

Languages

TypeScript99%
Java1%

Modules by API surface

e2e/kit/helpers/actions/index.ts17 symbols
example/__tests__/components-rendering.spec.tsx11 symbols
FabricExample/__tests__/components-rendering.spec.tsx11 symbols
src/hooks/index.ts8 symbols
src/components/KeyboardChatScrollView/useChatKeyboard/helpers.ts8 symbols
e2e/kit/asserts/index.ts8 symbols
src/specs/NativeKeyboardController.ts7 symbols
example/src/screens/Examples/AILegendListChat/index.tsx7 symbols
FabricExample/src/screens/Examples/AILegendListChat/index.tsx7 symbols
src/components/KeyboardAwareScrollView/__fixtures__/testUtils.tsx6 symbols
e2e/kit/helpers/awaitable/index.ts6 symbols
src/specs/NativeStatusBarManagerCompat.ts5 symbols

Dependencies from manifests, versioned

@argos-ci/cli1.0.0 · 1×
@babel/core7.25.2 · 1×
@babel/preset-env7.25.3 · 1×
@babel/runtime7.25.0 · 1×
@commitlint/config-conventional11.0.0 · 1×
@docusaurus/core3.4.0 · 1×
@docusaurus/module-type-aliases3.4.0 · 1×
@docusaurus/preset-classic3.4.0 · 1×
@docusaurus/tsconfig3.4.0 · 1×
@docusaurus/types3.4.0 · 1×
@gorhom/bottom-sheet5.2.6 · 1×

For agents

$ claude mcp add react-native-keyboard-controller \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact