【发布时间】:2014-08-16 21:43:20
【问题描述】:
我想用 Fn+S 来模拟 Ctrl+S,到目前为止这是我的代码:
#InstallKeybdHook
#Persistent
SC126 & s::
Send ^{s}
return
我的问题是我不知道Fn 键的扫描码。
我怎样才能找到它?
【问题讨论】:
标签: autohotkey
我想用 Fn+S 来模拟 Ctrl+S,到目前为止这是我的代码:
#InstallKeybdHook
#Persistent
SC126 & s::
Send ^{s}
return
我的问题是我不知道Fn 键的扫描码。
我怎样才能找到它?
【问题讨论】:
标签: autohotkey
Fn 键没有扫描码。
键盘驱动程序不会将Fn 键暴露给操作系统,所以基本上您的操作系统(以及因此 AutoHotkey)不知道它的存在。
当您同时按下Fn 键和支持的键时,键盘驱动程序会使用不同的扫描码向操作系统报告单次按键按下。基本上,它告诉操作系统按下了不同的键。
【讨论】:
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 下。
如果您尝试使用 Mac 键盘并希望将 Fn 键映射到 Insert(以及其他标准 Windows 键,例如 PrintScreen),那么您可能需要尝试“hidfalum”驱动程序。它可以在这里找到:http://www.bimoid.com/download/utils/hidfalum.zip
【讨论】: