All Projects → martywallace → Vue Keyboard

martywallace / Vue Keyboard

Licence: mit
A simple virtual keyboard for Vue.js.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Vue Keyboard

Selectnextoccurrence
A Visual Studio Extension that selects the next occurrences of the current selection and adds multiple cursors for editing
Stars: ✭ 129 (-15.13%)
Mutual labels:  keyboard
Vue Simple Portal
A simpler Portal implementation focussed on moving slot content to the end of the body element
Stars: ✭ 139 (-8.55%)
Mutual labels:  vue-component
Keyboardjs
A JavaScript library for binding keyboard combos without the pain of key codes and key combo conflicts.
Stars: ✭ 1,881 (+1137.5%)
Mutual labels:  keyboard
Keyboard
Virtual Keyboard using jQuery ~
Stars: ✭ 1,670 (+998.68%)
Mutual labels:  keyboard
Ergodox Layout
algernon's ErgoDox EZ layout
Stars: ✭ 135 (-11.18%)
Mutual labels:  keyboard
Binarykeyboard
A keyboard with two buttons that types in binary.
Stars: ✭ 141 (-7.24%)
Mutual labels:  keyboard
Pheromone keyboard
Stars: ✭ 128 (-15.79%)
Mutual labels:  keyboard
Pyhooked
Pure Python hotkey hook, with thanks to pyHook and pyhk
Stars: ✭ 150 (-1.32%)
Mutual labels:  keyboard
Keyleds
Logitech Keyboard animation for Linux — G410, G513, G610, G810, G910, GPro
Stars: ✭ 137 (-9.87%)
Mutual labels:  keyboard
Windowwalker
Keyboard Alternative to Alt-Tab on Windows
Stars: ✭ 145 (-4.61%)
Mutual labels:  keyboard
Awesome Kinesis
Unofficial curated list of resources and references for Kinesis keyboard enthusiasts
Stars: ✭ 132 (-13.16%)
Mutual labels:  keyboard
Mousetrap
Simple library for handling keyboard shortcuts in Javascript
Stars: ✭ 10,937 (+7095.39%)
Mutual labels:  keyboard
Vue Carousel
Carousel component for Vue.js.
Stars: ✭ 144 (-5.26%)
Mutual labels:  vue-component
Vue Online
A reactive offline indicator component for vue.js
Stars: ✭ 130 (-14.47%)
Mutual labels:  vue-component
Mbp Ubuntu
UBUNTU 20.04 for MacBook Pro 16,1 (16,1 wifi not working atm)
Stars: ✭ 146 (-3.95%)
Mutual labels:  keyboard
Preventkeyboardblockutil
一句代码解决软键盘挡住相关控件,适用于任何布局,一般作用于登录界面,注册界面等,当软键盘弹出时避免挡住登录(注册)按钮。
Stars: ✭ 127 (-16.45%)
Mutual labels:  keyboard
Keyboardstateevents
LiveData notification when keyboard opens or closes, plus some handy extension functions
Stars: ✭ 140 (-7.89%)
Mutual labels:  keyboard
Metago
MetaGo provides fast cursor movement/selection for keyboard focused users in vscode
Stars: ✭ 151 (-0.66%)
Mutual labels:  keyboard
Android Xnumberkeyboard
Android number keyboard view. Android自定义的数字键盘。
Stars: ✭ 149 (-1.97%)
Mutual labels:  keyboard
Vue Awesome Swiper
🏆 Swiper component for @vuejs
Stars: ✭ 12,072 (+7842.11%)
Mutual labels:  vue-component

vue-keyboard

A virtual keyboard for Vue 2.

Install:

$ npm install --save vue-keyboard

Resources:

Usage:

<keyboard layouts="abc123|xyz456|{space:space}"></keyboard>

Each layout accepts a pipe | delimited string of characters to use as the keyboard buttons. You can include special function characters with the {text:action} syntax, where text is the text that will be rendered in the button and action is the action within the keyboard component to be called when that button is pressed. The inbuilt actions are:

  • backspace - Remove one character from the end of the current value.
  • space - Insert one whitespace character.
  • clear - Clear the entire input value.
  • goto:n - Go to a new keyboard layout, replacing n with the index of the layout to load.

If the action does not match any of these inbuilt actions, an event will be dispatched by the keyboard component instead, using the action name as the event name. The keyboard component will be provided to the listener as the first argument.

Note: You can simply use {action} which will create a button with no text content. This is useful for things like space which you may just want to render as a wide empty button.

You can use the pipe |, open curly brace { or close curly brace } characters in your keyboard by doubling up, e.g.

<keyboard layouts="||{{}}"></keyboard>

Will output a keyboard with the characters |{}.

Props:

Prop Type Description
layouts string|string[] One or more keyboard layouts, explained above.
maxlength number The maximum input length.
pattern string A regex pattern to apply to the keyboard value. If provided, an invalid match will add the invalid class to the keyboard component. If not provided or if the value matches, the valid class is added.

Example:

Here is an example application containing a keyboard component:

JavaScript:

import Vue from 'vue';
import keyboard from 'vue-keyboard';

new Vue({
  el: '#app',
  components: { keyboard },

  data: {
    input: '',
  },

  methods: {
    changed(value) {
      console.log('Value ' + value);
    },

    custom(keyboard) {
      console.log(keyboard.value);
    }
  }
});

Markup:

<keyboard
  v-model="input"
  @custom="custom"
  @input="changed"
  :layouts="[
    '1234567890{delete:backspace}|qwertyuiop|asdfghjkl|{shift:goto:1}zxcvbnm|{space:space}{custom:custom}',
    '[email protected]#$%^&*(){delete:backspace}|QWERTYUIOP|ASDFGHJKL|{shift:goto:0}ZXCVBNM|{space:space}{custom:custom}'
  ]"
  :maxlength="16"
></keyboard>

This keeps the input value in the main application in sync with the value of the keyboard, limits that value to 16 characters and triggers the 'custom' function in the main application when the "custom" button in the keyboard is clicked.

License

vue-keyboard is available under the MIT license.

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].