内容简介:A tiny (~400 B) & modern library for keybindings.Keybindings are made up of aA
tinykeys
A tiny (~400 B) & modern library for keybindings. See Demo
Install
npm install --save tinykeys
Usage
import tinykeys from "tinykeys"
tinykeys(window, {
"Shift+D": () => {
alert("The 'Shift' and 'd' keys were pressed at the same time")
},
"y e e t": () => {
alert("The keys 'y', 'e', 'e', and 't' were pressed in order")
},
"$mod+KeyD": () => {
alert("Either 'Control+d' or 'Meta+d' were pressed")
},
})
Keybinding Syntax
Keybindings are made up of a sequence of presses .
A
press
can be as simple as a single
key
which matches against
KeyboardEvent.code
and
KeyboardEvent.key
(case-insensitive).
// Matches `event.key`: "d" // Matches: `event.code`: "KeyD"
Presses can optionally be prefixed with
modifiers
which match against any
valid value to
KeyboardEvent.getModifierState()
.
"Control+d" "Meta+d" "Shift+D" "Alt+KeyD" "Meta+Shift+D"
There is also a special $mod
modifier that makes it easy to support cross
platform keybindings:
-
Mac:
$mod=Meta(⌘) -
Windows/Linux:
$mod=Control
"$mod+D" // Meta/Control+D "$mod+Shift+D" // Meta/Control+Shift+D
Keybinding Sequences
Keybindings can also consist of several key presses in a row:
"g i" // i.e. "Go to Inbox" "g a" // i.e. "Go to Archive" "ArrowUp ArrowUp ArrowDown ArrowDown ArrowLeft ArrowRight ArrowLeft ArrowRight B A"
Each press can optionally be prefixed with modifier keys:
"$mod+K $mod+1" // i.e. "Toggle Level 1" "$mod+K $mod+2" // i.e. "Toggle Level 2" "$mod+K $mod+3" // i.e. "Toggle Level 3"
Each press in the sequence must be pressed within 1000ms of the last.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。