Autohotkey宏:尝试将left-alt重新映射为left-win;通过切换左赢到左赢

时间:2011-09-20 03:51:10

标签: macros autohotkey remap

我试图在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   
---------------------------

我一直在摸不着头几个小时..任何意见都会非常感激!

1 个答案:

答案 0 :(得分: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
相关问题