Javascript 用js检测Fn密钥

Javascript 用js检测Fn密钥,javascript,keypress,Javascript,Keypress,您好,我想知道是否可以用js捕获fn键。 我试图实现的是检测fn+f7按键 这是我的代码,不是用fn键触发的: document.addEventListener("keydown", onKeyDown, false); function onKeyDown(e) { console.log(e); } 更新: 我发现检测fn+f5在windows上有效,但在linux上无效。 是否有为firefox添加媒体密钥的安装包?大多数FN密钥是在固件中实现的,不会被应用程序识别。您可以使用

您好,我想知道是否可以用js捕获fn键。

我试图实现的是检测fn+f7按键

这是我的代码,不是用fn键触发的:

document.addEventListener("keydown", onKeyDown, false);

function onKeyDown(e) {
  console.log(e);
}
更新: 我发现检测fn+f5在windows上有效,但在linux上无效。
是否有为firefox添加媒体密钥的安装包?

大多数FN密钥是在固件中实现的,不会被应用程序识别。您可以使用这样的网站来测试javascript可以处理什么:


当按下
fn
键时,您无法捕捉

但是,如果按
fn+F7
,它将生成与单独按
F7
-不同的
事件
对象,因为该键绑定了函数。因此,在我的例子中,我没有在F7上绑定任何内容,因此,如果我按
fn+F7
键,将不会生成任何事件

如果我按F3,然后按fn+F3,将生成以下代码:

KeyboardEvent {isTrusted: true, key: "F3", code: "F3", location: 0, ctrlKey: false, …}
KeyboardEvent {isTrusted: true, key: "AudioVolumeUp", code: "AudioVolumeUp", location: 0, ctrlKey: false, …}
希望这有帮助

----更多信息如下----

正如我所预料的那样,
fn
key实际上不会生成任何keycode。相反,在硬件级别,当与其他一些键组合按下时,它会生成唯一的键码

基于此问题答案的信息:

这是: 试试这个

document.addEventListener("keydown", onKeyDown, false);

function onKeyDown(e) {
 var x = e.keyCode;
 if(x==118){
  console.log('Your pressed Fn+F7');
 }
}

谢谢。

要查找按下的键:

var intKey=self.setInterval(onkeydown="findKey(event);",5000);
function findKey(e)
{
  console.log("keyCode for the key pressed: " + e.keyCode + "\n");
}

还有另一种选择,它提供了更多关于不同键盘事件及其属性的信息。