0.1.3 • Published 9 months ago

@kcuf/keymap v0.1.3

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

@kcuf/keymap

基础比较

PackageVersionSizeDownloadStarTSDemoTest
tinykeys3.0.0/20241.48kB41k/Week3.8kdemo-
hotkeys-js3.13.7/202441.2kB363k/Week6.7kdemoJest
keymaster1.6.2/20148.58kB22k/Week6.5kDT-
mousetrap1.6.5/201933.9kB400k/Week11.7kDTMocha
shortcutjs1.6.0/201712.9kB6/Week28Jest ★
hotkeys1.0.0/201415.1kB150/Week3JS

其中 hotkeys OO 思想过重,用起来非常麻烦,后续不做计较。

功能比较

-tinykeyshotkeys-jskeymastermousetrapshortcutjs
批量绑定✅ 对象✅ 逗号✅ 逗号✅ 数组✅ 对象数组
支持序列(Combo)
安全解绑
暂停(pause/resume)
preventDefaultreturn falsereturn falsereturn falseoptions
stopPropagationreturn falsereturn falsereturn false
触发条件
便捷绑定(? * 等)
代码触发(trigger)
符号 Modifiers(⇧⌥⌃⌘)

符号

符号keycodekeyCode
ControlControlLeft / ControlRight17
AltAltLeft / AltRight18
ShiftShiftLeft / ShiftRight16
MetaMetaLeft / MetaRight224
ArrowUpArrowUp38
ArrowDownArrowDown40
ArrowLeftArrowLeft37
ArrowRightArrowRight39
⏎ / ↵ / ↩EnterEnter13
SpaceSpace32
EscapeEscape27
TabTab9
PageUpPageUp?
PageDownPageDown?
BackspaceBackspace8
DeleteDelete46

FAQ

❓ 能否 stopPropagationpreventDefault

可以。由绑定方法的返回值决定:

  • 'stop'e.stopPropagation()
  • 'prevent'e.preventDefault()
  • falsee.stopPropagation() + e.preventDefault()
  • 其他 → 什么都不做

❓能否在回调中拿到事件对象?

不能,不需要,也不安全。

❓ Mac 下 F11 无响应?

系统快捷键权限更高,接管不了。

Ctrl++ 不行?

不行。换 Ctrl+=

❓ Combo 下使用 +

可以。比如设置 C + +,可以在按键序列 c⇧=⇧= 时触发。

0.1.3

9 months ago

0.1.2

9 months ago

0.1.1

9 months ago

0.1.0

9 months ago