icebob / Vue Touch Keyboard
Licence: mit
Virtual keyboard component for Vue.js 2.x. Designed to Raspberry Pi Touch Display
Stars: ✭ 255
Projects that are alternatives of or similar to Vue Touch Keyboard
Ergodox Layout
algernon's ErgoDox EZ layout
Stars: ✭ 135 (-47.06%)
Mutual labels: keyboard, keyboard-layout
Pancake
Lightweight, Fast, Easy-to-use HTML5 2D game framework!
Stars: ✭ 79 (-69.02%)
Mutual labels: keyboard, touch
Keyboard Layout Editor For Blender
Allows you to import keyboard layouts into blender and render them in 3d
Stars: ✭ 224 (-12.16%)
Mutual labels: keyboard, keyboard-layout
Bigbagkbdtrixxkb
"DreymaR's Big Bag of Keyboard Tricks" for *nix with XKB
Stars: ✭ 95 (-62.75%)
Mutual labels: keyboard, keyboard-layout
CustomKeyboard
A simple and fast implementation of a custom numeric keypad. There is always a keyboard for you.
Stars: ✭ 20 (-92.16%)
Mutual labels: keyboard, keyboard-layout
kinesis-advantage-2
Keyboard layouts and macros for the Kinesis Advantage 2 keyboard.
Stars: ✭ 72 (-71.76%)
Mutual labels: keyboard, keyboard-layout
Keyboardhidemanager
Codeless manager to hide keyboard by tapping on views for iOS written in Swift
Stars: ✭ 57 (-77.65%)
Mutual labels: keyboard, touch
keymacs
Ergonomic keyboard layout for nonergonomic keyboards.
Stars: ✭ 22 (-91.37%)
Mutual labels: keyboard, keyboard-layout
keyd
A key remapping daemon for linux.
Stars: ✭ 687 (+169.41%)
Mutual labels: keyboard, keyboard-layout
Awesome Mechanical Keyboard
⌨️ A curated list of Open Source Mechanical Keyboard resources.
Stars: ✭ 1,294 (+407.45%)
Mutual labels: keyboard, keyboard-layout
Fx Experience
fx-experience -> fx onscreen keyboard
Stars: ✭ 72 (-71.76%)
Mutual labels: keyboard, keyboard-layout
Norman
Norman keyboard layout - alternative to QWERTY for touch typing in English
Stars: ✭ 112 (-56.08%)
Mutual labels: keyboard, keyboard-layout
Qwerty Lafayette
QWERTY keyboard layout for French-speaking users
Stars: ✭ 60 (-76.47%)
Mutual labels: keyboard, keyboard-layout
react-material-ui-keyboard
Virtual keyboard for TextField when needed
Stars: ✭ 54 (-78.82%)
Mutual labels: keyboard, keyboard-layout
Keyboardlayoutguide
⌨️ Manage iOS keyboard with Apple's missing KeyboardLayoutGuide
Stars: ✭ 1,054 (+313.33%)
Mutual labels: keyboard, keyboard-layout
keyboard-layouter
Footprint auto placement plugin for keyboard layout
Stars: ✭ 73 (-71.37%)
Mutual labels: keyboard, keyboard-layout
GKey
German Keyboard Layout for TempleOS
Stars: ✭ 20 (-92.16%)
Mutual labels: keyboard, keyboard-layout
vue-touch-keyboard
Virtual keyboard component for Vue.js v2.x. Designed to Raspberry Pi Touch Display
If you like my work, please donate. Thank you!
Demo
Features
- 3 built-in layouts, but you can create custom layouts
- no external dependencies
- full responsive
- customizable styles
- ...etc
Installation
NPM
You can install it via NPM.
$ npm install vue-touch-keyboard
Manual
Download zip package and unpack and add the vue-touch-keyboard.css
and vue-touch-keyboard.js
file to your project from dist folder.
https://github.com/icebob/vue-touch-keyboard/archive/master.zip
Usage
<template>
<div>
<input type="text" placeholder="Text input" @focus="show" data-layout="normal" />
<vue-touch-keyboard :options="options" v-if="visible" :layout="layout" :cancel="hide" :accept="accept" :input="input" />
</div>
</template>
<script>
import VueTouchKeyboard from "vue-touch-keyboard";
import style from "vue-touch-keyboard/dist/vue-touch-keyboard.css"; // load default style
Vue.use(VueTouchKeyboard);
export default {
data: {
visible: false,
layout: "normal",
input: null,
options: {
useKbEvents: false,
preventClickEvent: false
}
},
methods: {
accept(text) {
alert("Input text: " + text);
this.hide();
},
show(e) {
this.input = e.target;
this.layout = e.target.dataset.layout;
if (!this.visible)
this.visible = true
},
hide() {
this.visible = false;
}
}
}
</script>
Properties
Property | Default | Accepted values | Description |
---|---|---|---|
input |
required | HTMLInputElement |
The target input HTML element |
layout |
required |
String or Object
|
Layout of keys. If you are using the built-in layouts, you can set as the name of the layout. If you want to use custom layout, you need to set a layout Object . |
accept |
null |
Function |
Event handler. Fired when the "Accept/Close" button pressed. |
cancel |
null |
Function |
Event handler. Fired when the "Cancel" button pressed. |
change |
null |
Function |
Event handler. Fired when the input value changed. |
next |
null |
Function |
Event handler. Fired when the "Next" button pressed or the length of the value of the input reached the maxLength of the input
|
options |
{} |
Object |
Functional options. |
defaultKeySet |
default |
String |
Default key set. You can choose a desired key set of your layout to be used when a keyboard is initialized. |
Options
Option | Default | Accepted values | Description |
---|---|---|---|
useKbEvents |
false |
boolean |
If true, the component will generate a keydown event and trigger it. If it returns with false , it won't insert the new character. |
preventClickEvent |
false |
boolean |
If true, the component will preventDefault the click event. |
Built-in layouts
-
normal
- Normal full layout. Similar as real keyboard layouts -
numeric
- Only for numbers -
compact
- Compact layout. Similar as mobile phone keyboard layouts
Development
This command will start a webpack-dev-server
with content of dev
folder.
npm run dev
Build
This command will build a distributable version in the dist
directory.
npm run build
Test
npm test
Contribution
Please send pull requests improving the usage and fixing bugs, improving documentation and providing better examples, or providing some testing, because these things are important.
License
vue-touch-keyboard is available under the MIT license.
Contact
Copyright (C) 2016 Icebob
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].