0

我正在尝试在 AutoHotKey 中将 Left Alt 重新映射到 Left Win 并将 Left Win 重新映射到 Left Alt。

但我也想让 Shift + F11 切换这两个重映射。

我知道我可以做到:

LAlt::LWin  
LWin::LAlt

但我想不通的是切换。以下版本失败:

Shift & F11::
Hotkey, LAlt, Toggle
Hotkey, LWin, Toggle
return

当我按下 Shift 和 F11 时,它会说:

---------------------------
test.ahk
---------------------------
Error:  Nonexistent hotkey.  The current thread will exit.

Specifically: LAlt

    Line#
    001: Return
    002: SetKeyDelay,-1
    002: Send,{Blind}{LAlt DownTemp}
    002: Return
    002: SetKeyDelay,-1
    002: Send,{Blind}{LAlt Up}
    002: Return
--->    006: Hotkey,LAlt,Toggle
    007: Hotkey,LWin,Toggle
    008: Return
    009: Exit
    010: Exit
    010: Exit

---------------------------
OK   
---------------------------

我已经挠头好几个小时了。任何输入将不胜感激!

4

1 回答 1

0

我确信它比必要的更冗长,但我刚刚尝试了这个脚本,它做了一些你所追求的事情。如果没有别的,它可能会向您发送正确的方向。

#NoEnv
SendMode Input

IsRemapEnabled := false
SetRemapEnabled(false)

SetRemapEnabled(toEnabled) 
{
  global IsRemapEnabled := toEnabled
}

+F11::
  SetRemapEnabled(!IsRemapEnabled)
return

LAlt::
  if (IsRemapEnabled) 
  {
    Send,{LWin DOWN}
  } else 
  {
    Send,{LAlt DOWN}
  } 
return

LAlt up::

  if (IsRemapEnabled) 
  {
    Send,{LWin UP}
  } else 
  {
    Send,{LAlt UP}
  } 
return

LWin::
  if (IsRemapEnabled) 
  {
    Send,{LAlt DOWN}
  } else 
  {
    Send,{LWin DOWN}
  } 
return

LWin UP::
  if (IsRemapEnabled) 
  {
    Send,{LAlt UP}
  } else 
  {
    Send,{LWin UP}
  } 
return
于 2011-09-20T04:58:36.907 回答