用js检测Fn键

Ana*_*nta 2 javascript keypress

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

我正在尝试实现的是检测fn + f7按键。

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

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

function onKeyDown(e) {
  console.log(e);
}
Run Code Online (Sandbox Code Playgroud)

更新:我发现检测fn + f5在Windows上有效,但不适用于我的Linux。是否有要安装的软件包来为Firefox添加媒体密钥?

小智 5

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

http://keycode.info/


GSa*_*iuk 5

fn按下键时无法捕捉。

但是,如果您按此键fn+F7,将产生与event单独按时不同的对象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, …}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。

----以下更多信息----

如我所料,fn密钥实际上不会生成任何密钥代码。相反,在硬件级别,当与其他一些键组合使用时,它将生成唯一的键码。

基于此问题答案的信息:https : //askubuntu.com/questions/827925/remapping-the-fn-key

这是:https : //askubuntu.com/questions/270416/how-do-fn-keys-work