内容简介: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.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
《Unity3D网络游戏实战(第2版)》
罗培羽 / 机械工业出版社 / 2019-1-1 / 89.00元
详解Socket编程,搭建稳健的网络框架;解决网游中常见的卡顿、频繁掉线等问题;探求适宜的实时同步算法。完整的多人对战游戏案例,揭秘登录注册、游戏大厅、战斗系统等模块的实现细节。 想要制作当今热门的网络游戏,特别是开发手机网络游戏,或者想要到游戏公司求职,都需要深入了解网络游戏的开发技术。本书分为三大部分,揭示网络游戏开发的细节。 第一部分“扎基础”(1-5章) 介绍TCP网络游......一起来看看 《《Unity3D网络游戏实战(第2版)》》 这本书的介绍吧!