GithubHelp home page GithubHelp logo

rocketchat / react-native-keycommands Goto Github PK

View Code? Open in Web Editor NEW
3.0 7.0 4.0 13 KB

UIKeyCommands wrapper to React-Native.

Ruby 11.55% Objective-C 63.30% JavaScript 25.15%
react-native key-commands uikeycommand

react-native-keycommands's Introduction

react-native-keycommands

Use UIKeyCommands (iOS).

Getting started

$ npm install react-native-keycommands --save

Mostly automatic installation (RN < 0.60)

$ react-native link react-native-keycommands

Manual installation (RN < 0.60)

iOS

  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-keycommands and add KeyCommands.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libKeyCommands.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<

Android

Not need setup.

Usage

import React from 'react';
import KeyCommands, { constants } from 'react-native-keycommands';

const keyCommands = [
	{
		input: 'a',
		modifierFlags: 0, // without flags
		discoverabilityTitle: 'a pressed'
  },
  {
		input: 'a',
		modifierFlags: constants.keyModifierCommand,
		discoverabilityTitle: 'CMD + a pressed'
  },
  {
		input: 'a',
		modifierFlags: constants.keyModifierCommand | constants.keyModifierAlternate,
		discoverabilityTitle: 'CMD + ALTERNATE + a pressed'
  }
];

export default class App extends React.Component {
  onKeyCommand = ({ nativeEvent }) => {
		console.log('event: ', nativeEvent);
  };
  
  render() {
    <KeyCommands
      style={{ flex: 1 }}
      keyCommands={keyCommands}
      onKeyCommand={this.onKeyCommand}
    />
  }
};

react-native-keycommands's People

Contributors

djorkaeffalexandre avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-native-keycommands's Issues

App install fails

When trying to create a build for the simulator it fails with this error. Tried linking manually but still get the same.

❌  /app/node_modules/react-native-keycommands/ios/KeyCommands/RCTKeyCommandsManager.m:35:17: no visible @interface for 'RCTKeyCommands' declares the selector 'registerKeyCommand:modifierFlags:discoverabilityTitle:action:'

                registerKeyCommand:input
                ^~~~~~~~~~~~~~~~~~~~~~~~

My react-native config:

System:
    OS: macOS 10.15.1
    CPU: (8) x64 Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
    Memory: 492.08 MB / 16.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 12.14.1 - /usr/local/bin/node
    Yarn: 1.13.0 - /usr/local/bin/yarn
    npm: 6.13.4 - /usr/local/bin/npm
  SDKs:
    iOS SDK:
      Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
  IDEs:
    Android Studio: 3.5 AI-191.8026.42.35.5977832
    Xcode: 11.2.1/11B53 - /usr/bin/xcodebuild
  npmGlobalPackages:
    create-react-native-module: 0.13.0
    react-native-cli: 2.0.1
    react-native: 0.61.5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.