Hallo
ich bräuchte eure Hilfe und zwar würde ich beim Zocken gerne die Mausbewegung statt den Pfeiltasten verwenden können, also dass die Maus als eine Art Joystick fungiert.
Habt ihr eine Idee, ob bzw. wie man das in AHK umsetzen könnte.
Bin für jeden Tipp dankbar!
Mausbewegung statt Pfeiltasten verwenden Topic is solved
Moderator: jNizM
Re: Mausbewegung statt Pfeiltasten verwenden
Hey - WallE92,WallE92 wrote: ↑26 Apr 2021, 07:07Hallo
ich bräuchte eure Hilfe und zwar würde ich beim Zocken gerne die Mausbewegung statt den Pfeiltasten verwenden können, also dass die Maus als eine Art Joystick fungiert.
Habt ihr eine Idee, ob bzw. wie man das in AHK umsetzen könnte.
Bin für jeden Tipp dankbar!
konnte es jetzt nicht testen - aber müsste so in der Art funktionieren.
Code: Select all
repeat(keys, delay := 80) {
send % keys
sleep % delay
}
loop {
mousegetpos _x,_y
wingetpos ,,,_w,_h
while (_x * _y < 1250)
repeat("{left}{up}")
while (_x < 25) && (_y > (_h - 25))
repeat("{left}{down}")
while (_x > (_w - 25)) && (_y < 50)
repeat("{right}{up}")
while (_x > (_w - 25)) && (_y > (_h - 25))
repeat("{right}{down}")
while (_x < 25)
repeat("{left}")
while (_x > (_w - 25))
repeat("{right}")
while (_y < 50)
repeat("{up}")
while (_y > (_h - 25))
repeat("{down}")
sleep 200
}
Re: Mausbewegung statt Pfeiltasten verwenden
Erstmal vielen lieben Dank, dass für die Hilfe! Muss gesehen, hab zwar schon paar AHK Scripts geschrieben, aber für mich ist der Code trotzdem chinesisch. Momentan wird bei einem Mausklick eine Endlosschleife ausgelöst und die Taste {down} kriegt solange einen Impuls, bis es nicht weiter runter geht oder man das Script killt.SYnCR wrote: ↑26 Apr 2021, 07:40Hey - WallE92,WallE92 wrote: ↑26 Apr 2021, 07:07Hallo
ich bräuchte eure Hilfe und zwar würde ich beim Zocken gerne die Mausbewegung statt den Pfeiltasten verwenden können, also dass die Maus als eine Art Joystick fungiert.
Habt ihr eine Idee, ob bzw. wie man das in AHK umsetzen könnte.
Bin für jeden Tipp dankbar!
konnte es jetzt nicht testen - aber müsste so in der Art funktionieren.
Code: Select all
repeat(keys, delay := 80) { send % keys sleep % delay } loop { mousegetpos _x,_y wingetpos ,,,_w,_h while (_x * _y < 1250) repeat("{left}{up}") while (_x < 25) && (_y > (_h - 25)) repeat("{left}{down}") while (_x > (_w - 25)) && (_y < 50) repeat("{right}{up}") while (_x > (_w - 25)) && (_y > (_h - 25)) repeat("{right}{down}") while (_x < 25) repeat("{left}") while (_x > (_w - 25)) repeat("{right}") while (_y < 50) repeat("{up}") while (_y > (_h - 25)) repeat("{down}") sleep 200 }
Allerdings reagiert es leider noch gar nicht auf meine Mausbewegung. Ne Idee woran das liegen könnte?
Danke!
Re: Mausbewegung statt Pfeiltasten verwenden
WallE92 wrote: ↑26 Apr 2021, 12:35Erstmal vielen lieben Dank, dass für die Hilfe! Muss gesehen, hab zwar schon paar AHK Scripts geschrieben, aber für mich ist der Code trotzdem chinesisch. Momentan wird bei einem Mausklick eine Endlosschleife ausgelöst und die Taste {down} kriegt solange einen Impuls, bis es nicht weiter runter geht oder man das Script killt.SYnCR wrote: ↑26 Apr 2021, 07:40Hey - WallE92,WallE92 wrote: ↑26 Apr 2021, 07:07Hallo
ich bräuchte eure Hilfe und zwar würde ich beim Zocken gerne die Mausbewegung statt den Pfeiltasten verwenden können, also dass die Maus als eine Art Joystick fungiert.
Habt ihr eine Idee, ob bzw. wie man das in AHK umsetzen könnte.
Bin für jeden Tipp dankbar!
konnte es jetzt nicht testen - aber müsste so in der Art funktionieren.
Code: Select all
repeat(keys, delay := 80) { send % keys sleep % delay } loop { mousegetpos _x,_y wingetpos ,,,_w,_h while (_x * _y < 1250) repeat("{left}{up}") while (_x < 25) && (_y > (_h - 25)) repeat("{left}{down}") while (_x > (_w - 25)) && (_y < 50) repeat("{right}{up}") while (_x > (_w - 25)) && (_y > (_h - 25)) repeat("{right}{down}") while (_x < 25) repeat("{left}") while (_x > (_w - 25)) repeat("{right}") while (_y < 50) repeat("{up}") while (_y > (_h - 25)) repeat("{down}") sleep 200 }
Allerdings reagiert es leider noch gar nicht auf meine Mausbewegung. Ne Idee woran das liegen könnte?
Danke!
hallo WallE92,
habe gestern das mal kurz mit diablo3 getestet.
Ist jetzt auf Full-HD Rez eingestellt.
Die Maus wird in 4 Bereiche des Monitors getrackt und je nach Bereich wird beim halten der F1-Taste (WASD) repeatet.
Hoffe das hilft dir.
MFG SYnCR
Code: Select all
; get current mouse area and send correspond key
; press F1 and move mouse
CoordMode, Mouse, Screen
CoordMode, ToolTip, Screen
; for debug
SetTimer, tm_get_area, 100
; center position define(memo: my machine is 1920/1080)
pixx := 1920
pixy := 1080
basex := pixx/2
basey := pixy/2
return
tm_get_area:
get_area()
return
get_area() {
Global basex, basey
MouseGetPos, cx, cy
cur_rad := Atan((basey-cy)/(basex-cx)) * 180 / 3.141592653589793
if (cx >= basex) {
cur_rad360 := cur_rad + 90
} else {
cur_rad360 := cur_rad + 270
}
; ToolTip, %cur_rad360%, basex, basey+20, 1
dx := (basex-cx)
dy := (basey-cy)
cur_area := get_area_id(cur_rad360)
ToolTip, Area: %cur_area%, basex, basey, 2
return cur_area
}
get_area_id(rad) {
if (rad < 60) {
return 1
}
if (rad < 120) {
return 2
}
if (rad < 240) {
return 3
}
if (rad < 300) {
return 4
}
return 1
}
F1:: ; <-- fixed
area := get_area()
if (area=1)
key=w
if (area=2)
key=d
if (area=3)
key=s
if (area=4)
key=a
Send, {%key% Down}
; Release key previous pressed
if (prevkey != key) {
Send, {%prevkey% Up}
prevkey := key
}
return
F1 Up::
Send, {%prevkey% Up}
return
Re: Mausbewegung statt Pfeiltasten verwenden
Hallo,
entweder die jeweilige Taste nur kurz drücken:
oder gedrückt halten:
entweder die jeweilige Taste nur kurz drücken:
Code: Select all
#Persistent
SetTimer, Maus, 100
Maus:
MouseGetPos, X1, Y1
IF Abs(DX:=X1-X2) >= Abs(DY:=Y1-Y2)
Send,% DX? DX>0? "d":"a":
Else
Send,% DY>0? "s":"w"
X2 := X1, Y2 := Y1
Return
Code: Select all
#Persistent
SetTimer, Maus, 100
Maus:
MouseGetPos, X1, Y1
IF Abs(DX:=X1-X2) >= Abs(DY:=Y1-Y2)
UpDown(DX? DX>0? "d":"a":)
Else
UpDown(DY>0? "s":"w")
X2 := X1, Y2 := Y1
Return
UpDown(Key2)
{
static Key1
IF (Key2 <> Key1)
{
Send, {%Key1% up}{%Key2% down}
Key1 := Key2
}
}
Re: Mausbewegung statt Pfeiltasten verwenden
SYnCR wrote: ↑27 Apr 2021, 01:05WallE92 wrote: ↑26 Apr 2021, 12:35Erstmal vielen lieben Dank, dass für die Hilfe! Muss gesehen, hab zwar schon paar AHK Scripts geschrieben, aber für mich ist der Code trotzdem chinesisch. Momentan wird bei einem Mausklick eine Endlosschleife ausgelöst und die Taste {down} kriegt solange einen Impuls, bis es nicht weiter runter geht oder man das Script killt.SYnCR wrote: ↑26 Apr 2021, 07:40Hey - WallE92,WallE92 wrote: ↑26 Apr 2021, 07:07Hallo
ich bräuchte eure Hilfe und zwar würde ich beim Zocken gerne die Mausbewegung statt den Pfeiltasten verwenden können, also dass die Maus als eine Art Joystick fungiert.
Habt ihr eine Idee, ob bzw. wie man das in AHK umsetzen könnte.
Bin für jeden Tipp dankbar!
konnte es jetzt nicht testen - aber müsste so in der Art funktionieren.
Code: Select all
repeat(keys, delay := 80) { send % keys sleep % delay } loop { mousegetpos _x,_y wingetpos ,,,_w,_h while (_x * _y < 1250) repeat("{left}{up}") while (_x < 25) && (_y > (_h - 25)) repeat("{left}{down}") while (_x > (_w - 25)) && (_y < 50) repeat("{right}{up}") while (_x > (_w - 25)) && (_y > (_h - 25)) repeat("{right}{down}") while (_x < 25) repeat("{left}") while (_x > (_w - 25)) repeat("{right}") while (_y < 50) repeat("{up}") while (_y > (_h - 25)) repeat("{down}") sleep 200 }
Allerdings reagiert es leider noch gar nicht auf meine Mausbewegung. Ne Idee woran das liegen könnte?
Danke!
hallo WallE92,
habe gestern das mal kurz mit diablo3 getestet.
Ist jetzt auf Full-HD Rez eingestellt.
Die Maus wird in 4 Bereiche des Monitors getrackt und je nach Bereich wird beim halten der F1-Taste (WASD) repeatet.
Hoffe das hilft dir.
MFG SYnCR
[Mod edit: quote tags replaced with [code][/code] tags.]Code: Select all
; get current mouse area and send correspond key ; press F1 and move mouse CoordMode, Mouse, Screen CoordMode, ToolTip, Screen ; for debug SetTimer, tm_get_area, 100 ; center position define(memo: my machine is 1920/1080) pixx := 1920 pixy := 1080 basex := pixx/2 basey := pixy/2 return tm_get_area: get_area() return get_area() { Global basex, basey MouseGetPos, cx, cy cur_rad := Atan((basey-cy)/(basex-cx)) * 180 / 3.141592653589793 if (cx >= basex) { cur_rad360 := cur_rad + 90 } else { cur_rad360 := cur_rad + 270 } ; ToolTip, %cur_rad360%, basex, basey+20, 1 dx := (basex-cx) dy := (basey-cy) cur_area := get_area_id(cur_rad360) ToolTip, Area: %cur_area%, basex, basey, 2 return cur_area } get_area_id(rad) { if (rad < 60) { return 1 } if (rad < 120) { return 2 } if (rad < 240) { return 3 } if (rad < 300) { return 4 } return 1 } F1:: ; <-- fixed area := get_area() if (area=1) key=w if (area=2) key=d if (area=3) key=s if (area=4) key=a Send, {%key% Down} ; Release key previous pressed if (prevkey != key) { Send, {%prevkey% Up} prevkey := key } return F1 Up:: Send, {%prevkey% Up} return
Es klappt! Vielen lieben Dank! Hab den F1-Befehl jetzt noch in einen Loop gepackt.
Jetzt müsst ich nur noch fahren können damit...
Who is online
Users browsing this forum: No registered users and 2 guests