jaywcjlove / hotkeys-js

➷ A robust Javascript library for capturing keyboard input. It has no dependencies.
https://jaywcjlove.github.io/hotkeys-js
MIT License
6.69k stars 412 forks source link

🙋 这个怎么通过code去调用? #497

Closed xiaoxiaohuayu closed 1 week ago

xiaoxiaohuayu commented 1 week ago

就类似这样的

hotkeys('19',()=>{})
jaywcjlove commented 1 week ago

@xiaoxiaohuayu 目前是不支持,你可以将数字映射成键,进行拼接字符串

xiaoxiaohuayu commented 1 week ago

@jaywcjlove 有例子吗。

jaywcjlove commented 1 week ago

@xiaoxiaohuayu 这个就是示例通过数字获取对应的键

function getKeyByValue(value) {
  for (const key in _keyMap) {
    if (hotkeys.keyMap[key] === value) {
      return key;
    }
  }
  for (const key in _modifier) {
    if (hotkeys.modifier[key] === value) {
      return key;
    }
  }
  return String.fromCharCode(value);
}

console.log(getKeyByValue(19)); // 输出对应的键
xiaoxiaohuayu commented 1 week ago

@jaywcjlove 我表述有点问题.十分抱歉,我先在有个自定义的键盘可能是非标准的,可能会出现键码是1000、10001、10002....之类的。然后通过_keyMap可能会获取不到的情况。那我能通过在var.js 中添加自定义的键码嘛?比如下面的:

_keyMap = {
/**正常标准键盘**/
    backspace: 8,
    .......
/**非标准键盘**/
    'shanxix': 1000,
    'shandong': 1001,
}

可以吗?

jaywcjlove commented 1 week ago

定义的键盘可能是非标准的,可能会出现键码是1000、10001、10002....之类的。然后通过_keyMap可能会获取不到的情况。那我能通过在var.js 中添加自定义的键码嘛?比如下面的:

@xiaoxiaohuayu 不可以呢