1

我似乎无法找到如何绑定X + Y => Z。大多数在线链接都显示了如何做相反的事情。我正在尝试实现此映射:

RWin + j :: Left
RWin + l :: Right
RWin + i :: Up
RWin + k :: Down

我尝试了这种语法RWin&l::Right,但没有编译。

有任何想法吗?

编辑:我也希望它与其他修饰键配合得很好。这样当我按下RWin+j然后shift它会发送一个shift+left(与 andctrl相同alt

编辑:感谢@AleOtero93,这是我目前所拥有的:

; Arrows
>#j::Send,{LEFT}
>#l::Send,{RIGHT}
>#i::Send,{UP}
>#k::Send,{DOWN}

; Shift modifier
>#+j::Send,+{LEFT}
>#+l::Send,+{RIGHT}
>#+i::Send,+{UP}
>#+k::Send,+{DOWN}

; Ctrl modifier
>#^j::Send,^{LEFT}
>#^l::Send,^{RIGHT}
>#^i::Send,^{UP}
>#^k::Send,^{DOWN}

; Ctrl+Shift
>#^+j::Send,^+{LEFT}
>#^+l::Send,^+{RIGHT}
>#^+i::Send,^+{UP}
>#^+k::Send,^+{DOWN}

; Alt modifier
>#!j::Send,!{LEFT}
>#!l::Send,!{RIGHT}
>#!i::Send,!{UP}
>#!k::Send,!{DOWN}

; Alt+Ctrl
>#^!j::Send,^!{LEFT}
>#^!l::Send,^!{RIGHT}
>#^!i::Send,^!{UP}
>#^!k::Send,^!{DOWN}

; Alt+Shift
>#!+j::Send,!+{LEFT}
>#!+l::Send,!+{RIGHT}
>#!+i::Send,!+{UP}
>#!+k::Send,!+{DOWN}

; Alt+Ctrl+Shift
>#!^+j::Send,!^+{LEFT}
>#!^+l::Send,!^+{RIGHT}
>#!^+i::Send,!^+{UP}
>#!^+k::Send,!^+{DOWN}

; Insert/Delete
>#q::Send,{Insert}
>#a::Send,{Delete}

; Ctrl+Insert/Delete
>#^q::Send,^{Insert}
>#^a::Send,^{Delete}

; Shift+Insert/Delete
>#+q::Send,+{Insert}
>#+a::Send,+{Delete}

; Home/End
>#w::Send,{Home}
>#s::Send,{End}

; Ctrl+Home/End
>#^w::Send,^{Home}
>#^s::Send,^{End}

; Shift+Home/End
>#+w::Send,+{Home}
>#+s::Send,+{End}

; Ctrl+Shift+Home/End
>#^+w::Send,^+{Home}
>#^+s::Send,^+{End}

; PageUp/PageDown
>#e::Send,{PgUp}
>#d::Send,{PgDn}

; Ctrl+PageUp/PageDown
>#^e::Send,^{PgUp}
>#^d::Send,^{PgDn}

; Shift+PageUp/PageDown
>#+e::Send,+{PgUp}
>#+d::Send,+{PgDn}

; Escape
>#CapsLock::Send,{Escape}

我不得不禁用 Win+L,这可以通过注册表(或地图#l::return?未测试)来完成,我很想知道是否有人有更好的解决方案,而无需重新映射修饰键。

4

1 回答 1

1

我设法解决了这个问题:

>#j:: SendInput,{LEFT}
>#l:: SendInput,{RIGHT}
>#i:: SendInput,{UP}
>#k:: SendInput,{DOWN}

>:在修饰键(例如 Alt、Shift...)中只允许其中一个。( <用于左侧)

#: 在 AHK 中取胜的捷径。

在您要使用的热键之后,没有空格,立即使用:

另外,+是shift键的快捷键。

而在 AHK&中,只有非修饰键(如a & k)才需要,对于 shift、alt 等,不需要&

之后,阅读 AutoHotkey 帮助,我发现您还需要覆盖 Win+箭头,所以您添加以下内容:

>#left:: return
>#right:: return
>#up:: return
>#down:: return

此外,如果您想要禁用 Win 快捷方式,请对注册表进行以下更改:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
NoWinKeys REG_DWORD 0x00000001 (1)

但请记住这一点,根据 AHK 的帮助,Win+LWin+U不能被覆盖。希望有人解决。

于 2015-09-29T18:56:46.107 回答