{"id":48204933,"url":"https://github.com/logicwind/react-native-tvos-keyboard","last_synced_at":"2026-04-04T18:35:16.455Z","repository":{"id":297010513,"uuid":"972480561","full_name":"logicwind/react-native-tvos-keyboard","owner":"logicwind","description":"Keyboard plugin for react-native tvos","archived":false,"fork":false,"pushed_at":"2026-03-16T05:12:05.000Z","size":1554,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-03-16T16:55:13.131Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/logicwind.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-25T06:36:16.000Z","updated_at":"2026-03-16T05:06:47.000Z","dependencies_parsed_at":"2025-06-03T21:37:38.064Z","dependency_job_id":"9804e11c-7e70-4a85-907d-41d29c9293f5","html_url":"https://github.com/logicwind/react-native-tvos-keyboard","commit_stats":null,"previous_names":["logicwind/react-native-tvos-keyboard"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/logicwind/react-native-tvos-keyboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicwind%2Freact-native-tvos-keyboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicwind%2Freact-native-tvos-keyboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicwind%2Freact-native-tvos-keyboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicwind%2Freact-native-tvos-keyboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/logicwind","download_url":"https://codeload.github.com/logicwind/react-native-tvos-keyboard/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicwind%2Freact-native-tvos-keyboard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31409211,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-04T18:35:15.263Z","updated_at":"2026-04-04T18:35:16.431Z","avatar_url":"https://github.com/logicwind.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @logicwind/react-native-tvos-keyboard\n\n`@logicwind/react-native-tvos-keyboard` is a React Native package for tvOS that displays a native Apple TV keyboard using UISearchController, with built-in support for voice typing and seamless integration with the tvOS focus engine.\n\n## Installation\n\nUsing npm:\n\n```sh md title=\"Terminal\"\nnpm install @logicwind/react-native-tvos-keyboard\n```\n\nor using yarn:\n\n```sh md title=\"Terminal\"\nyarn add @logicwind/react-native-tvos-keyboard\n```\n\n### Expo Setup\n\nIf you're working with this Expo project, make sure to run:\n\n```sh md title=\"Terminal\"\nnpx expo prebuild\n```\n\n### iOS Setup\n\nAfter installation, make sure to install CocoaPods:\n\n```sh md title=\"Terminal\"\ncd ios \u0026\u0026 pod install\n```\n\n### Android Setup\n\nNo additional setup is required.\n\n## Usage\n\nImport and use the `TvosKeyboardView` component.\n\n```tsx md title=\"App.tsx\"\nimport { useState } from 'react';\nimport { TvosKeyboardView } from '@logicwind/react-native-tvos-keyboard';\n\nconst [keyboardHeight, setKeyboardHeight] = useState(200);\n\n\u003cTvosKeyboardView\n  style={[styles.keyboard, { height: keyboardHeight }]}\n  onTextChange={(e) =\u003e console.log('Text: ', e.nativeEvent.text)}\n  onFocus={(e) =\u003e {\n    if (e.nativeEvent.focused !== undefined \u0026\u0026 e.nativeEvent.focused) {\n      console.log('Focused: true');\n    }\n  }}\n  onBlur={(e) =\u003e {\n    if (e.nativeEvent.blurred !== undefined \u0026\u0026 e.nativeEvent.blurred) {\n      console.log('Focused: false');\n    }\n  }}\n  onKeyboardLayoutChange={(e) =\u003e {\n    setKeyboardHeight(e.nativeEvent.height);\n    console.log('isGrid: ', e.nativeEvent.isGrid);\n  }}\n/\u003e;\n\nconst styles = StyleSheet.create({\n  keyboard: {\n    width: '100%',\n    backgroundColor: 'transparent',\n  },\n});\n```\n\n## Props\n\nThe `TvosKeyboardView` component displays the native Apple TV keyboard and supports the following props:\n\n| Prop                      | Type              | Description                                                                                                                          |\n| ------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------ |\n| `onTextChange`            | `(event) =\u003e void` | Callback triggered when the text input changes. Access the text via `event.nativeEvent.text`.                                        |\n| `onFocus`                 | `(event) =\u003e void` | Called when the keyboard gains focus. Use `event.nativeEvent.focused` to check if it’s focused.                                      |\n| `onBlur`                  | `(event) =\u003e void` | Called when the keyboard loses focus. Use `event.nativeEvent.blurred` to check if it’s blurred.                                      |\n| `onKeyboardLayoutChange`  | `(event) =\u003e void` | Called when the keyboard switches between linear and grid layouts. Provides `event.nativeEvent.height` (number) and `event.nativeEvent.isGrid` (boolean). Use this to dynamically set the component height. |\n| `gridSeparatorColor`      | `ColorValue`      | Color of the separator line shown in grid keyboard layout.                                                                           |\n| `linearSeparatorColor`    | `ColorValue`      | Color of the separator line shown in linear keyboard layout.                                                                         |\n\n\u003e 💡 **Note:** The keyboard height changes dynamically depending on whether the grid or linear layout is active. Use `onKeyboardLayoutChange` to receive the correct height and apply it to the component’s style.\n\n## react-native-tvos-keyboard is crafted mindfully at [Logicwind](https://www.logicwind.com?utm_source=github\u0026utm_medium=github.com-logicwind\u0026utm_campaign=react-native-tvos-keyboard)\n\nWe are a 130+ people company developing and designing multiplatform applications using the Lean \u0026 Agile methodology. To get more information on the solutions that would suit your needs, feel free to get in touch by [email](mailto:sales@logicwind.com) or through or [contact form](https://www.logicwind.com/contact-us?utm_source=github\u0026utm_medium=github.com-logicwind\u0026utm_campaign=react-native-tvos-keyboard)!\n\nWe will always answer you with pleasure 😁\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogicwind%2Freact-native-tvos-keyboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flogicwind%2Freact-native-tvos-keyboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogicwind%2Freact-native-tvos-keyboard/lists"}