AHK递归图? (将RAlt映射到映射到其他键的RWin)

时间:2015-09-30 03:49:35

标签: autohotkey keymapping alt-key windows-key

我有一堆RWin+X => Y映射。我希望将RAlt映射到RWin,以便RWin+X == RAlt+X。例如:

; RWin+J => Left
>#j::SendInput,{LEFT}

哪种方法正常,我可以按住RWin并按j,它会继续发送Left。现在让我们在该地图之前添加以下内容:

RAlt::RWin

如果我按住RAlt然后按j,它会正确发送Left,但如果我继续按住RAlt并再次按j,会发送j而不是Left。我必须释放RAlt并再次按下它。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

这是我根据您的问题提出的。这是一个解决方案:

#J::
If (GetKeyState("RAlt", "P") Or GetKeyState("RWin", "P")) {
    SendInput,{LEFT}
}
Return

RAlt::
While GetKeyState("RAlt", "P") {
        ; Add any Key in {Key} format followed by Period . that you want to act as an EndKey.
        Input, Key, L1 M T1, {space}.{esc}.{shift}.{enter}
                         .{tab}.{backspace}.{alt}.{home}
                         .{delete}.{pgup}.{pgdn}.{end}
                         .{up}.{down}.{left}.{right}
            If (Key <> "") {
                SendInput, {RWin down}{%Key%}{Rwin Up}
                }
            If InStr(ErrorLevel, "EndKey:") 
                Send % "{" . StrReplace(ErrorLevel, "EndKey:") . "}"
    }
Return