1

Тема: Действие в зависимости от предыдущего нажатия

Доброго времени суток, вопрос в след.:
Как реализовать нажатие определенной клавиши в зависимости от того что было нажато ранее т.е. пример:
есть макрос на одну клавишу

+s::
Send, {f}{s}
Sleep, 25
return 

необходимо что бы при прокрутке мыши вперед ,было предположим f а назад s.

Таких макросов куча разнообразных и соответственно сочетаний клавиш тоже куча, нужно что бы при прокрутке колесика значение клавиши менялось в зависимости от того что было нажато ранее (клавиши всегда из предыдущих нажатий, в примере f и s... если бы были скажем w и d то и на мыши колесо должно было бы выдавать w и d).
Заранее спасибо.

2

Re: Действие в зависимости от предыдущего нажатия

~WheelDown::k:=0
~WheelUp::k:=1 

+vk53::  ; shift+ ы\s
if k
  Send {f}
else
  Send {s}
  
sleep 25
return

3

Re: Действие в зависимости от предыдущего нажатия

yalanne
спасибо переделал вот так:


~WheelDown::k:=0
~WheelUp::k:=1 

+vk53::  ; shift+ ы\s
  Send {f}{s}{s}
else
  Send {f}{s}{f}
  
sleep 25
return

получается что есть крут. колесо вверх жмешь shift+s  - спамит f s s
если вниз потом shift+s - спамит f s f

хотя изначально хотелось, что бы при нажатие shift+s сразу посылалось f s а когда после этого крутишь вверх посылалось нажатием f если вниз то s независимо нажаты ли при этом shift+s или уже отпущены, это возможно ?

4

Re: Действие в зависимости от предыдущего нажатия

А так подходит?

~WheelDown::k:=1
~WheelUp::k:=2 

+vk53::  ; shift+ ы\s
k:=0
Send {f}{s}

while !k ; ждем прокрутки колеса в любую сторону.
  sleep 10
  
if (k = 2)
  Send {f}
Else if (k = 1)
  Send {s}

KeyWait vk53
return

5

Re: Действие в зависимости от предыдущего нажатия

yalanne
Да ! Шикарно спасибо тебе огромное

6

Re: Действие в зависимости от предыдущего нажатия

noluck пишет:

Таких макросов куча разнообразных и соответственно сочетаний клавиш тоже куча

Если много, то наверное проще так будет допиливать:


For k in Arr := {"+1":["f","s"],"+2":["w","d"]} 
	Hotkey, %k%, Label 
Return

Label: 
	Send % "{" (k1 := Arr["" A_ThisHotkey ""][1]) 
		. "}{" (k2 := Arr["" A_ThisHotkey ""][2]) "}"
	Return
	
#If (k1 != "")
~WheelDown:: Send {%k1%}
~WheelUp:: Send {%k2%}
#If

Хоткеи: Shift+1 и Shift+2.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui