1

Тема: AHK: Замена сочетания клавиш другим сочетанием

Здравствуйте! Помогите создать простой скрипт, наподобие a::d, только заменяющий сочетание клавиш a & s на d & s и d & s на a & s соответственно, но только при одновременном их нажатии и в любом порядке. Необходимо это чтобы исправить косяк разрабов и перестроить управление машиной в игре Crossout, т.е сделать инверсию уже инверсированного заднего хода, при этом нажатие этих клавиш по отдельности не должно задействовать скрипт. Весь гугл перерыл, но так и не нашел ничего подобного.
Заранее спасибо за помощь!

2

Re: AHK: Замена сочетания клавиш другим сочетанием

Вы планируете удерживать обе клавиши или нажать их единожды?

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

3

Re: AHK: Замена сочетания клавиш другим сочетанием

belyankin12
Удерживать.

4

Re: AHK: Замена сочетания клавиш другим сочетанием

Попробуйте вот так. Хотя по правде, пусть основная функция АХК это имитация нажатия клавиш, эта функция наверное будет одной из тех функций, которые я знаю откровенно слабо. Я обычно прибегаю к прямой имитации нажатия крайне редко, вот потому и опыта маловато, может товарищи поопытнее подскажут что получше:

as := false
ds := false

vk41 & vk53::
While (getkeystate("vk41", "P") and getkeystate("vk53", "P")) {
	if (!as) {
		as := true
		sendinput {vk44 down}
		sleep 50
		SendInput {vk53 down}
	}
}

as := false
sendinput {vk44 up}
sleep 50
SendInput {vk53 up}
return

vk44 & vk53::
While (getkeystate("vk44", "P") and getkeystate("vk53", "P")) {
	if (!ds) {
		ds := true
		sendinput {vk41 down}
		sleep 50
		SendInput {vk53 down}
	}
}

ds := false
sendinput {vk41 up}
sleep 50
SendInput {vk53 up}
return
Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

5

Re: AHK: Замена сочетания клавиш другим сочетанием

stealzy Работает!! Огромнейшее спасибо!))

6

Re: AHK: Замена сочетания клавиш другим сочетанием

stealzy пишет:

Можно так попробовать:

#If GetKeyState("s")
a::d
d::a
#If

Эмм.. клавиши иногда залипают( не разлипнет пока не нажму противоположную (a или d)

7

Re: AHK: Замена сочетания клавиш другим сочетанием

Вы мой вариант пробовали?

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

8

Re: AHK: Замена сочетания клавиш другим сочетанием

#If GetKeyState("s")
a::d
d::a
#If
*s up::Send {Blind}{s up}{a up}{d up}
*s::Send {Blind}{s down}