All Projects → xtrinch → react-touch-screen-keyboard

xtrinch / react-touch-screen-keyboard

Licence: MIT License
React touch screen virtual keyboard, opened on input focused

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to react-touch-screen-keyboard

AOSP-Kayboard-7.1.2
Full functional AOSP Keyboard with glide typing
Stars: ✭ 33 (-26.67%)
Mutual labels:  keyboard, onscreen-keyboard
KioskBoard
KioskBoard - A pure JavaScript library for using virtual keyboards.
Stars: ✭ 114 (+153.33%)
Mutual labels:  keyboard, virtual-keyboard
react-material-ui-keyboard
Virtual keyboard for TextField when needed
Stars: ✭ 54 (+20%)
Mutual labels:  keyboard, virtual-keyboard
jqKeyboard
jQuery-based virtual keyboard
Stars: ✭ 19 (-57.78%)
Mutual labels:  keyboard, virtual-keyboard
Keyboard
Virtual Keyboard using jQuery ~
Stars: ✭ 1,670 (+3611.11%)
Mutual labels:  keyboard, virtual-keyboard
improved-osk-gnome-ext
Improved On Screen Keyboard for Gnome Shell
Stars: ✭ 22 (-51.11%)
Mutual labels:  keyboard, onscreen-keyboard
swipe-keyboard
Swype type keyboard module for simple-keyboard
Stars: ✭ 32 (-28.89%)
Mutual labels:  keyboard, virtual-keyboard
better-keyboard
A js keyboard component for mobile.
Stars: ✭ 55 (+22.22%)
Mutual labels:  keyboard
Chess-Helper
Simple Chrome extension adding nice features to chess.com website
Stars: ✭ 23 (-48.89%)
Mutual labels:  keyboard
openinput
Open source firmware for input devices
Stars: ✭ 43 (-4.44%)
Mutual labels:  keyboard
usbhostcopro
USB Host Co-processor
Stars: ✭ 54 (+20%)
Mutual labels:  keyboard
SerialProxy
🖱️⌨️ Arduino Input Proxying for PC (.NET Core)
Stars: ✭ 39 (-13.33%)
Mutual labels:  keyboard
KeyHide
Easy way to hide Android keyboard on background tap without any effort.
Stars: ✭ 54 (+20%)
Mutual labels:  keyboard
visualKeyboard
支持中文和英文输入的虚拟键盘第三版
Stars: ✭ 22 (-51.11%)
Mutual labels:  keyboard
Teleprinter
The missing Android keyboard API
Stars: ✭ 33 (-26.67%)
Mutual labels:  keyboard
EasyEmoji
Help developers to quickly realize the expression of the keyboard
Stars: ✭ 24 (-46.67%)
Mutual labels:  keyboard
keyboard-ktx
Kotlin extensions for hiding/showing and observe keyboard state.
Stars: ✭ 14 (-68.89%)
Mutual labels:  keyboard
PGNumberKeyboard
一款非常简单漂亮灵活的自定义数字键盘.
Stars: ✭ 16 (-64.44%)
Mutual labels:  keyboard
barrier
Open-source KVM software
Stars: ✭ 17,366 (+38491.11%)
Mutual labels:  keyboard
vise
A keyboard driven browser with tabs in a tree
Stars: ✭ 87 (+93.33%)
Mutual labels:  keyboard

npm version npm

react-touch-screen-keyboard

alt tag

Quick start

This library will render a draggable virtual keyboard on the bottom of the screen when the input is selected. The usage is very simple - instead of using the input tag, use the KeyboardedInput tag from the library. You can control the input's value via the callback function you give to its props.

Currently supported keyboards: us, de, ru, fr

Installing via npm

npm install react-touch-screen-keyboard

Installing via npm (React v15)

npm install [email protected]

Example

import React from 'react';
import KeyboardedInput from 'react-touch-screen-keyboard';
import 'react-touch-screen-keyboard/lib/Keyboard.css'; // if you just want css
import 'react-touch-screen-keyboard/lib/Keyboard.scss'; // if you've got sass-loader

class Input extends React.Component {
  render() {
    return (
      <KeyboardedInput
        enabled
        required
        type={this.props.type}
        onChange={this.props.onChange}
        onBlur={this.props.onBlur}
        onFocus={this.props.onFocus}
        value={this.props.value}
        min={this.props.min}
        max={this.props.max}
        step={this.props.step}
        name={this.props.name}
        inputClassName={this.props.inputClassName}
        keyboardClassName={this.props.keyboardClassName}
        placeholder={this.props.placeholder}
        defaultKeyboard="de"
        secondaryKeyboard="us" // optional
        isFirstLetterUppercase={true} // optional, default is `false`
        uppercaseAfterSpace={true} // optional, default is `false`
        isDraggable={false} // optional, default is `true`
        readOnly={this.props.readOnly} // optional
        opacity={0.9} // optional
      />
    );
  }
}
export default Input;

Use Custom Keyboard

You can pass a Nx3 sized array into defaultKeyboard prop to render a customize layout.

You can place functional keys using the following placeholders:

Placeholder Key
*sh Shift
*bs Backspace
import React from 'react';
import KeyboardedInput from 'react-touch-screen-keyboard';
import 'react-touch-screen-keyboard/lib/Keyboard.css';

class Input extends React.Component {
  render() {
    const CustomMapping = [
      ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'],
      ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', '@'],
      ['z', 'x', 'c', 'v', 'b', 'n', 'm', '.com']
    ];
      
    return (
      <KeyboardedInput
        enabled
        type={this.props.type}
        value={this.props.value}
        name={this.props.name}
        defaultKeyboard={CustomMapping}
      />
    );
  }
}
export default Input;

Managing focus programmatically

The focus() function can be used to set the focus on the input field and show the keyboard. You can access the component via its ref.

For example, to focus the input field when clicking on a button, first set the ref:

  <KeyboardedInput
    ref={ref => { this.myInput = ref; }}
    ...

Then call the focus() function in the click handler of a button:

  <Button onClick={() => { this.myInput.focus(); }}>
    Click Me
  </Button>

See the examples for a more complete sample.

Running Local Example

# NPM
$ npm run-script start

# Yarn
$ yarn start
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].