AutoHotKey:重新映射 Alt、Ctrl 和 Alt+Ctrl

AutoHotKey: Remap Alt, Ctrl, and Alt+Ctrl

我想使用 AutoHotKey 重新映射:

RAlt::Volume_Down
RCtrl::Volume_Up
RAlt & RCtrl::SendInput {Volume_Mute}

虽然音量升高与上面的脚本一起工作正常,但音量降低是非重复的,静音仅在按钮按 Alt、Ctrl(而不是 Ctrl、Alt)时才有效。我明白为什么,我只是无法提出解决方案。我可以映射 音量 up/down 静音 - 但如果我尝试同时执行这两种操作,行为总是很挑剔。我想我需要的是:

if GetKeyState("RAlt") and GetKeyState("RCtrl")
{
    SendInput {Volume_Mute}
}
else if GetKeyState("RAlt")
{
    SendInput {Volume_Down}
}
else if GetKeyState("RCtrl")
{
    SendInput {Volume_Up}
}

但这只是运行并终止。有没有办法实现我所追求的?

您的解决方案的问题是 RAlt & RCtrl::SendInput {Volume_Mute}RAlt 变成了 "prefix key" 并且根据 Autohotkey 帮助的热键部分“前缀键丢失了它的本机函数".

试试这个:

RAlt::Volume_Down
RCtrl::Volume_Up

#if GetKeyState("RAlt", "P")
RCtrl::Volume_Mute

#if GetKeyState("RCtrl", "P")
RAlt::Volume_Mute