我正在尝试将功能键重新映射到其默认的辅助功能,但我遇到了一些代码问题。需要注意的一点是,在我的键盘驱动程序软件中,我可以将键切换Fn
为右 Windows 键,这样我就可以避免与该键相关的低级编码问题Fn
。
我已经写了以下内容并且第一组热键似乎运行良好:
RightWindowsDown := 0
F1::Send {Volume_Mute}
F2::Send {Volume_Down}
F3::Send {Volume_Up}
F4::Send {Launch_App2}
F5::Send {Media_Play_Pause}
F6::Send {Media_Stop}
F7::Send {Media_Prev}
F8::Send {Media_Next}
F9::Send {Launch_App1}
RWin::
{
RightWindowsDown:=1
soundbeep
}
If (RightWindowsDown = 1)
{
F1::F1
F2::F2
F3::F3
F4::F4
F5::F5
F6::F6
F7::F7
F8::F8
F9::F9
}
return
但是,当我按下 RWin 键时,它只会重复正常的 F1 键并打开大量帮助页面。有什么办法可以避免这种情况吗?
答案1
试试这个,看看效果是否好一点。我添加了一个 #If 指令。它告诉 AHK“嘿,只有当 #If 指令返回 true 时才允许这些操作”。当您按下 F1-F9 时,它会先检查您是否按住了 RWin。如果是,它会使用备用热键。
#SingleInstance, Force
return
F1::Send {Volume_Mute}
F2::Send {Volume_Down}
F3::Send {Volume_Up}
F4::Send {Launch_App2}
F5::Send {Media_Play_Pause}
F6::Send {Media_Stop}
F7::Send {Media_Prev}
F8::Send {Media_Next}
F9::Send {Launch_App1}
#If GetKeyState("RWin", "P")
F1::F1
F2::F2
F3::F3
F4::F4
F5::F5
F6::F6
F7::F7
F8::F8
F9::F9