1 (изменено: Rediska, 2012-08-07 17:22:39)

Тема: AHK: скан-коды

Здравствуйте.
Я написал скрипт для одной игры и все прекрасно работает, но... только на [EN] раскладке.
Вторая раскладка у меня самодельная и английские буквы там печатаются через правый Alt.
В итоге код

sc011::
	SendCombo("QWE")
return

SendCombo(sequence)
{
	if (blablabla)
	{
		...
		SendInput %sequence%
		...
	}
}

отправляет комбинацию RAlt+Q RAlt+W RAlt+E
Я хотел обойти это дело скан-кодами этих клавиш, но не могу понять как передать через функцию скан-код и массив скан-кодов
Можно ли сделать как нибудь так?

q	:= {sc010}
w	:= {sc011}
e	:= {sc012}
SendCombo([q,w,e])

У меня последний AHK_L на Win7

Подскажите пожалуйста как лучше обойти проблему.
Благодарю за любую помощь.

2

Re: AHK: скан-коды

1::SendCombo1("q","w","e")
2::SendCombo2("qwe")
3::SendCombo3("sc010, sc011, sc012")


SendCombo1(args*) {
    static code := {q:51, w:57, e:45}

    For i, key in args
        SendInput % "{vk" code[key] "}"
}

SendCombo2(seq) {
    static code := {q:51, w:57, e:45}

    Loop, Parse, seq
        SendInput % "{vk" code[A_LoopField] "}"
}

SendCombo3(seq) {
    Loop, Parse, seq, % " ,"
        SendInput {%A_LoopField%}
}

3

Re: AHK: скан-коды

Спасибо огромное!