Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
vue-keyboard
Advanced tools
A virtual keyboard for Vue 2.
$ npm install --save vue-keyboard
<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 likespace
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 |{}
.
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. |
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}',
'!@#$%^&*(){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.
FAQs
A virtual keyboard component for Vue applications.
The npm package vue-keyboard receives a total of 356 weekly downloads. As such, vue-keyboard popularity was classified as not popular.
We found that vue-keyboard demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.