AutoHotkey重新映射键以互相切换两个键

时间:2016-05-11 17:12:10

标签: autohotkey

我是AHK的新手,我想创建一个脚本,将所有数字键重新映射到其上方的相对符号,将符号重新映射到数字。例如,当我按下2" @"打印,SHIFT + 2实际打印2。

我的代码如下:

2::send @
@::send 2
所有其他数字键的

等等......

但显然第一个send打印的@触发了第二个,它被卡在一个循环中 我知道这可能是一个愚蠢和基本的错误,但我找不到任何关于如何解决这个问题的事情。有谁知道怎么做?

2 个答案:

答案 0 :(得分:0)

只需使用shift键(这就是你如何到达@)和$键盘钩子修改器(所以只有在实际按下时才会激活热键):

$2::send @
$+2::send 2
所有其他数字键的

等等......

答案 1 :(得分:0)

我将此添加到了现有的.ahk文件中,并确认它完全可以满足您的要求。

$1::SendRaw !
$!::SendRaw 1
$2::SendRaw @
$@::SendRaw 2
$3::SendRaw #
$#::SendRaw 3
$4::SendRaw $
$$::SendRaw 4
$5::SendRaw `%
$%::SendRaw 5
$6::SendRaw ^
$^::SendRaw 6
$7::SendRaw &
$&::SendRaw 7
$8::SendRaw *
$*::SendRaw 8
$9::SendRaw (
$(::SendRaw 9
$0::SendRaw )
$)::SendRaw 0