Макрос автоотключения: попытка переназначить левую и левую победы;левый выигрыш в левый выигрыш с переключателем - PullRequest
0 голосов
/ 20 сентября 2011

Я пытаюсь переназначить левый Alt в левый Win и левый Win в левый Alt в AutoHotKey.

Но я также хочу, чтобы 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 голосов
/ 20 сентября 2011

Я уверен, что это более многословно, чем необходимо, но я только что попробовал этот скрипт, и он делает что-то вроде того, что вы ищете. Это может направить вас в правильном направлении, если ничего больше.

#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
...