首页 > 解决方案 > AutoHotKey:重新映射 Alt、Ctrl 和 Alt+Ctrl

问题描述

我想使用 AutoHotKey 重新映射:

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

虽然 Vol up 可以很好地与上述脚本配合使用,但 vol down 是非重复的,并且仅当按钮按 Alt、Ctrl(而不是 Ctrl、Alt)时才有效。我明白为什么,我只是无法提出解决方案。我可以调高/调低音量静音 - 但如果我同时尝试两者,行为总是很挑剔。我认为我需要的是以下效果:

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

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

标签: autohotkey

解决方案


您的解决方案的问题是RAlt & RCtrl::SendInput {Volume_Mute}变成RAlt“前缀键”,并且根据 Autohotkey 帮助的热键部分“前缀键失去其本机功能”。

试试这个:

RAlt::Volume_Down
RCtrl::Volume_Up

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

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

推荐阅读