1 (изменено: ypppu, 2017-08-06 13:35:37)

Тема: AHK: Тест клавиатуры, послать нажатия клаваиш

Текущий скрипт


2::
Random, u, 20, 150
Random, i, 20, 150
Random, o, 20, 150
Random, p, 20, 150
Send {2 down}
sleep, u
Send {2 up}
Send {3 down}
sleep, i
Send {3 up}
Send {4 down}
sleep, o
Send {4 up}
Send {5 down}
sleep, p
Send {5 up}
return

При нажатии цифры 2 начинает работать скрипт и по-очерёдно зажимаются клавиши 2-3-4-5 на промежуток времени между 20 и 150 мс (random генерирует ведь целое число, я прав?), так должен работать сей скрипт. Но при попытки протестить скрипт на key-test.ru (простой тест для клавиатуры) вижу, что цифра 2 не ЗАжимается (но НАжимается) на промежуток времени (т.к. она активирует скрипт?) Собсно вопрос: как это исправить, не перенося запуск скрипта на другую клавишу?
И если даже вырезать нажатие кнопки 2 из скрипта (но оставить запуск скрипта по кнопке 2), кейтест все равно не воспринимает зажатие клавиши. Как сделать, чтобы и цифра 2 нажималась *как будто вручную*, и запуск макроса с нее шел?

2 (изменено: svoboden, 2017-08-03 20:37:39)

Re: AHK: Тест клавиатуры, послать нажатия клаваиш

~2::
for k, v in [3, 4, 5] {
SendInput, % v
sleep, % ran(20, 150)
}
return

ran(min, max) {
   random, ran, min, max
   return ran
 }

3 (изменено: destramento, 2017-08-03 20:47:33)

Re: AHK: Тест клавиатуры, послать нажатия клаваиш

Спасибо! ~ $ - вот эти префиксы как раз искал (с ahk я знаком не больше часа, пытаюсь раздуплиться, что к чему)
Ну и тогда еще вопрос: есть ли возможность сделать так, чтобы при нажатии клавиши 2 оставшиеся клавиши (345) нажимались не последовательно, а хаотично, но не больше, чем 1 раз, и скрипт заканчивался, когда каждая из клавиш в итоге была нажата?
К примеру:


Send {3 down}
sleep, i
Send {3 up}

Вот этим строкам присвоить некий эмм... идентификатор (?), как и двум другим группам строк (для клавиши 4 и 5). После чего при нажатии клавиши 2 проигрываются в случайном порядке три идентификатора (прожимаются клавиши 345, не одновременно, хаотично, чтобы за макрос в итоге каждая клавиша прожалась по одному разу)
Короче, нужно все то же нажатие клавиш, только не последовательно, а хаотично, симуляция человеческого нажатия.

4

Re: AHK: Тест клавиатуры, послать нажатия клаваиш

$2::
	Keys := [2, 3, 4, 5]
	Loop % Keys.MaxIndex() {
		Key := Keys.RemoveAt(ran(1, Keys.MaxIndex()))
		SendInput, % "{" Key " down}"
		sleep, % ran(20, 150)
		SendInput, % "{" Key " up}"
	}
	return

ran(min, max) {
	random, ran, min, max
	return ran
}
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

5 (изменено: svoboden, 2017-08-15 17:01:36)

Re: AHK: Тест клавиатуры, послать нажатия клаваиш

~2::
for k, v in [3, 4, 5] {
Random, v, 0, 5
SendInput, % v
sleep, % ran(20, 150)
}
return

ran(min, max) {
   random, ran, min, max
   return ran
 }