【问题标题】:Finding the scan code of FN Key查找FN键的扫描码
【发布时间】:2014-08-16 21:43:20
【问题描述】:

我想用 Fn+S 来模拟 Ctrl+S,到目前为止这是我的代码:

 #InstallKeybdHook
 #Persistent

  SC126 & s::
     Send ^{s}
  return

我的问题是我不知道Fn 键的扫描码。
我怎样才能找到它?

【问题讨论】:

  • Here's 如何找到特殊键的扫描码。
  • 看看这个link
  • @Karthik Sampath 您提供的链接是按特定的“键”来模拟“Fn + 另一个键”,而我的问题是如何使用这个“Fn + 另一个键”来模拟特定的“键” ”。但无论如何感谢您尝试帮助我。
  • @MCL 谢谢哥们,我试过了,但是没用,

标签: autohotkey


【解决方案1】:

Fn 键没有扫描码。

键盘驱动程序不会将Fn 键暴露给操作系统,所以基本上您的操作系统(以及因此 AutoHotkey)不知道它的存在。

当您同时按下Fn 键和支持的键时,键盘驱动程序会使用不同的扫描码向操作系统报告单次按键按下。基本上,它告诉操作系统按下了不同的键。

【讨论】:

  • @Persona93 看看这个页面,这就是让我质疑这个的原因,我希望我知道如何知道扫描码,我只需要扫描码,仅此而已。stackoverflow.com/questions/18491754/…
  • 似乎发帖的人从来没有让它工作。他们可能误解了扫描键的用途。我建议使用左 Windows 键作为热键。它就在 Fn 键旁边​​,快速的 Google 搜索会告诉您内置的 Windows 键热键是什么,这样您就可以避免在需要时覆盖它们。
  • 我的 mba 5,2 在evtest 下列出了这个:Event: time 1644010787.861254, type 1 (EV_KEY), code 464 (KEY_FN), value 1 Event: time 1644010787.861254, -------------- SYN_REPORT ------------ Event: time 1644010787.957190, type 1 (EV_KEY), code 464 (KEY_FN), value 0 Event: time 1644010787.957190, -------------- SYN_REPORT ------------ 所以单独按下时它确实有一个代码,而不是在 X11 下。
【解决方案2】:

当您同时按下 Fn 键和支持的键时,键盘驱动程序会将这些按下报告给操作系统。

可以找到fn键扫码

  1. 转到托盘图标
  2. 右键脚本
  3. 点击打开
  4. 单击查看,然后单击键历史记录和脚本信息(或者“Ctrl + k”)
  5. 按下该键后,您可以刷新 (f5) 并滚动到底部以查看代码

【讨论】:

  • 右键单击自动热键图标后,您必须选择编辑脚本,然后添加这些行:#Persistent #InstallMouseHook #InstallKeybdHook while !(getKeyState("F1", "T")) KeyHistory return esc::exitapp 并选择重新加载脚本。从here 复制它,因为它需要我无法在 cmets 中输入的新换行符。要禁用历史记录,您只需添加 #KeyHistory 0
  • “托盘”图标是指系统托盘。类似的说明here,以防万一有人在执行上述操作时遇到问题。
【解决方案3】:

如果您尝试使用 Mac 键盘并希望将 Fn 键映射到 Insert(以及其他标准 Windows 键,例如 PrintScreen),那么您可能需要尝试“hidfalum”驱动程序。它可以在这里找到:http://www.bimoid.com/download/utils/hidfalum.zip

【讨论】:

    猜你喜欢
    • 2014-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    相关资源
    最近更新 更多