2011-09-20 2 views
0

AutoHotKey에서 왼쪽 Alt를 왼쪽 Win으로, 왼쪽 Win을 왼쪽 Alt로 다시 매핑하려고합니다.Autohotkey 매크로 : 왼쪽에서 왼쪽으로 다시 매핑하려고 시도합니다. 토글을 사용하여 왼쪽에서 왼쪽으로 우승

하지만이 두 매핑을 전환하려면 Shift + F11 키를 사용하고 싶습니다.

나는 내가 할 수있는 알고

LAlt::LWin 
LWin::LAlt 

하지만 내가 알아낼 수있는 것은 토글입니다. 다음 버전은 실패 : 나는 Shift 키와 F11을 누르면

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

, 그것은 말할 것이다 : 나는 시간 동안 내 머리를 긁적했습니다

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

.. 모든 입력이 크게 감사합니다!

답변

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 
+0

답장을 보내 주셔서 감사합니다. 별도의 down/up과 * 직접 * LAlt :: LWin의 지정에는 한 가지 차이점이 있습니다. 예를 들어, 1) 스크립트를 실행합니다. 2)이 시점에서 win은 여전히 ​​승리하고 alt는 여전히 alt이고 explorer 창을 열면 alt를 한 번 누르면 메뉴 막대 (win7/vista)가 표시되고 alt를 다시 누르면 숨겨집니다 ; 3) shift + f11 키를 누른다 .4) win이 지금 변경되었다. alt가 이제 승리합니다. win + number는 여전히 작업 표시 줄 아이콘 (win7)을 활성화합니다. alt + 탭은 여전히 ​​alttab입니다. 5) shift + f11을 다시 누르십시오. 6) 그러나 이번에는 alt 키를 한 번 누르면 메뉴가 표시됩니다. 두 번째로 누르면 그것을 숨기지 않습니다. –

관련 문제