Autohotkey + LButton SendInput

947
litu16

Ich habe versucht, dies in Autohotkey mit keinem Erfolg zu lösen

In einem Programm (von nun an VP0 genannt) gibt es einen Hotkey Space Click n Drag to Left/Right, um das Werkzeug Maximum Size einzustellen

Ich hätte gerne den gleichen Hotkey wie in VP0, aber Shiftanstelle vonSpace

Das Problem ist, dass es in VP0 einen zweiten Hotkey gibt, mit Shift Space Click n Drag to Left/Rightdem das Werkzeug Minimum Size festgelegt wird

Das Problem ist, dass, wenn ich die ersten VP0 Hotkey festlegen möge in AHK ich setzen würde LShiftsoll Space(VP0 Werkzeug Max Size), aber da VP0 Tool Min Size = Shift Spacebeim Pressen LShiftzu setzen VP0 Tool Max Sizesetzt VP0 Tool Min SizeCuz AHK feststellt, dass die Umschalttaste gedrückt worden.

Ich habe versucht mit ...

SendInput  SendEvent  

aber es ist nur ein paar Millisekunden Umschalttaste nach oben, dann wird AHK-Erkennung erneut gedrückt, wie kann ich das vermeiden? Ich habe auch THIS BELLOW ausprobiert, aber ich möchte die Verwendung von Schleifen vermeiden, da schnell zwischen Set Brush Max Size und Set Brush Min Size gewechselt wird.

; Increase/Decrease Tool Size #If WinActive("ahk_exe Verve_painter.exe") && !GetKeyState("XButton1", "P") && !GetKeyState("Space", "P")  LShift & LButton:: ; INCREASE TOOL MAX SIZE Tooltip, AAAAAAAAAAAAAAAAAA Shift LButton SendEvent  SendInput  Click Down While GetKeyState("LButton","P") { SendEvent  } Tooltip, BBBBBBBBBBBBBBBBBBBBBB LButton was realeasedd  SendInput  Click Up Return   $^+LButton:: ; INCREASE TOOL MIN SIZE ;Tooltip, Shiiiit Ctrl Shift LButton SendInput  Sleep 10  SendInput  SendInput  Click Down KeyWait, LButton  SendInput  SendInput  Click Up Tooltip Ctrl SHift LButton was released Return  #If 

Danke für Fortgeschrittene.

0
bitte jemand heeelp litu16 vor 7 Jahren 0

1 Antwort auf die Frage

1
user3419297

Versuchen Sie, Shift und Ctrl neu zuzuordnen:

#If WinActive("ahk_exe Verve_painter.exe") && GetKeyState("Shift", "P")  ; Shift+1 $1::  KeyWait, Shift SendInput,  MsgBox, Shift+1 return  ; Shift+2 $2:: KeyWait, Shift SendInput,  MsgBox, Shift+2 return  #If WinActive("ahk_exe Verve_painter.exe")   Shift::Space  Ctrl::Shift  #If 
Ja, ich habe es versucht, aber ich habe andere AHK-Subroutinen, die den Hotkey "Shift 1" "Shift 2" verwenden, und sie funktionieren nicht, wenn ich das tue. irgendeine Idee? litu16 vor 7 Jahren 0
Versuchen Sie meine bearbeitete Antwort. user3419297 vor 7 Jahren 0
Ja, ich könnte das tun, aber ich müsste eine Subroutine für jeden VP0-Standard-Hotkey erstellen, der den Shift-Modifikator verwendet, der anstrengend ist. Bis jetzt verwende ich eine SendEvent innerhalb einer while-Schleife. Übrigens, warum Ctrl :: Shift ?? litu16 vor 7 Jahren 0