2013-06-11 6 views
5

Kurz gesagt: Wie schreibe ich ein AutoHotkey-Skript, so dass, wenn ich F1 drücke, drückt es die Maustaste gedrückt und lässt es nur los, nachdem ich den Schlüssel losgelassen habe?Autohotkey Wie man eine Maustaste gedrückt hält, während eine Taste gedrückt wird?

Ich habe etwas über beide autohotkey-Foren recherchiert (die hier zum Stellen von Fragen umleiten) und die Dokumentation durchgelesen, aber ich bin kein Programmierer und habe eine schwere Zeit, Schleifen zu begreifen.

Ich habe versucht zu tun, während oder wenn (GetKeyState („F1“) Schlaufen aber ich hielt es falsch bekommen, bis schließlich habe ich mit diesem Skript am Ende, die fast funktioniert.

F2::Click down right 
F2 Up::Click up right 
F1::Click down 
F1 Up::Click up 

Wenn ich sage fast Ich meine, es hält die Maustaste nicht gedrückt, sondern die Maus klickt wahnsinnig schnell und ist gut genug für die meisten Situationen wie Spiele, bei denen es im Prinzip das Gleiche ist wie das Halten der Maustaste oder das Ziehen von Fenstern, aber wann Ich möchte einen langen Absatz hervorheben, es funktioniert nicht.Nach einer oder zwei Sekunden fängt das Ganze an zu blinken oder die Auswahl wird zurückgesetzt, wählt in der Mitte usw. Grundsätzlich macht es das, was normalerweise passieren würde, wenn Sie einfach nur auf Ihren klicken würden Maustaste r wirklich schnell.

Dies ist auch die gleiche Lösung wie in dieser Frage gestellt How to Hold Down Mouse while Key is Pressed?

ich zunächst unter einer Follow-up-Frage gestellt, aber anscheinend nicht erlaubt und es wurde gelöscht, so muß ich eine andere Frage erstellen der identische Name, weil ich das gleiche möchte.

Bitte helfen oder beleuchten, was ich falsch mache.

+0

Dies ist ein Duplikat von http://stackoverflow.com/questions/14227649/how-towldown-down-mouse-which-key-ispressed - aber ist eine bessere Frage. – bgmCoder

Antwort

9
F1:: 
    if(not GetKeyState("LButton" , "P")) 
     Click down 
return 

F1 Up::Click up 

und gleiche gilt für Rechtsklick

+0

Ich wusste, dass ich etwas Einfaches verpasste, aber ohne Programmierkenntnisse, nur ein grundlegendes Verständnis dafür, wie die Dinge funktionieren, konnte ich den Fehler nicht richtig eingrenzen. Vielen Dank für die saubere und saubere Lösung. Ich hätte nie gedacht, einfach einen Haken hinzuzufügen, um zu sehen, ob der Knopf bereits gedrückt ist. Klug. – Fum

0
F1:: 
if(not GetKeyState("LButton" , "P")) 
    Click down 
return 

F1 Up::Click up 

Das bin ich für Hardware-Teile € gespart !!! Du bist mein neuer bester Freund!