JavaScript:实现顺序键盘热键?

Posted

技术标签:

【中文标题】JavaScript:实现顺序键盘热键?【英文标题】:JavaScript: implement sequential keyboard hotkey? 【发布时间】:2021-05-22 14:13:31 【问题描述】:

例如,当您在 javascript 中依次输入 shift-s 然后 s 时,我想实现类似 do action 的操作。我受到 Autohokey(Windows 的热键配置软件/语言)的启发,因此我正在寻找一个库或方法来在 JS 中实现某些东西。

到目前为止,我找到了一个名为 hotkeys 的库,但我不知道要实现顺序键盘热键,也没有发现任何问题或疑问,所以我在这里。那么,如何使用库或其他库在 JS 中实现它呢?谢谢。

【问题讨论】:

仅供参考 一系列键盘快捷键或热键通常称为和弦。 【参考方案1】:

这可以通过 keydown 事件监听器轻松完成,不需要库

sAgain = false

document.addEventListener('keydown', function(event) 
  if (sAgain && event.key.toLowerCase() == 's')
    alert("shift-s then s clicked")
  else if (event.shiftKey && event.key.toLowerCase() == 's')
    sAgain = true
  else
    sAgain = false //stop listen if other key is clicked after shift-s
);
<h1>Press shift s then s<h1>

【讨论】:

以上是关于JavaScript:实现顺序键盘热键?的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPad New X1 Carbon 键盘热键,按Fn键后 不能切换,如何可以切换?

如何恢复中/英标点切换热键Ctrl+Period

寻联想键盘FN热键驱动程序

steam热键冲突怎么解决

使用delphi多线程实现绑定某个EXE的进程并且向它发送键盘鼠标消息的实例。

无法使用 python3 的键盘模块删除热键