2013-08-26 7 views
11

Bei der Verwendung von AutoHotKey wollte ich eine Regel einrichten, um die linke Alt-Taste und die linke Strg-Taste zu vertauschen. Ich kann dies tun, indem Sie:Auto-Hotkey verwenden, um Strg + Alt zu vertauschen und Ctrl-Tab zu implementieren

LAlt::LCtrl 
LCtrl::LAlt 

ich dann die ‚alt Registerkarte‘ Funktionalität gebunden tun diese physischen Tasten halten wollte, so habe ich versucht,

LCtrl & Tab::AltTab 

Neben den beiden uptop, aber es wird nicht funktionieren. Wenn ich es so überlege:

LCtrl & Tab::AltTab 
LAlt::LCtrl 
LCtrl::LAlt 

Dann funktioniert die Registerkarte, aber die Ctrl Alt Swap wird pleite sein. Irgendwelche Vorschläge?

Antwort

7

The hotkey documentation spricht über Wildcards

Wildcard: Feuer der Hotkey auch wenn zusätzliche Modifikatoren nach unten gehalten werden. Dies wird häufig in Verbindung mit neu zugewiesenen Tasten oder Schaltflächen verwendet. Zum Beispiel:

* # c :: Run Calc.exe; Win + C, Shift + Win + C, Strg + Win + C usw. werden alle diesen Hotkey auslösen.

* ScrollLock :: Run Editor; Durch Drücken von Scrolllock wird dieser Hotkey auch dann ausgelöst, wenn die Modifier-Taste (n) nicht gedrückt sind.

So versuchen diese

*tab:: 
{ if(GetKeyState("LAlt", "P")) 
{ Send {LControl up}{Alt down}{tab} 
    KeyWait, tab 
}else 
{ send {tab} 
}  
return 
}   
~LAlt Up:: 
{ send {lalt up} 
return 
} 
LAlt::LCtrl 
LCtrl::LAlt 
3

ich diese leicht Tab beheben Verschiebung verbessert jetzt nicht funktioniert, können Sie verwenden Umschalt +Registerkarte wie erwartet, wo nach wie vor konnte man nicht (war frustrierend Ich versuche, den Eindruck zu verbessern (outdent) beim Codieren) Ich kann das besser verbessern und bekomme Shift + Alt + Tab arbeiten

*tab:: 
{ 

if(GetKeyState("LAlt", "P")){ 
    Send {LControl up}{Alt down}{tab} 
    KeyWait, tab 
} else if(GetKeyState("LShift", "P")){ 
    Send {LShift down}{tab} 
    KeyWait, tab 
}else 
{ send {tab} 
}  
return 
}   
~LAlt Up:: 
{ send {lalt up} 
return 
} 
LAlt::LCtrl 
LCtrl::LAlt 
+0

Dies war die nächste, die ich im Netz finden konnte, aber nach dem Kopieren von Code über der (wie auf der Tastatur geschrieben) Alt-Tab funktionierte für mich immer noch nicht (Surface Pro 3, 8.1). Weder hat der (wie geschrieben) Ctrl-Tab. Hattest du danach eine Alt-Tab-Style-Funktionalität? – Chris

-1

Gerade lief das gleiche Problem selbst, war auf der Suche nach einer einfacheren Lösung. Wenn Sie Alt und Strg Sharpkeys (oder anderes Registry-Remapping Werkzeug) tauschen von dort aus ist es ein einfach:

RCtrl & Tab :: AltTab