1

Тема: AHK: Удерживание клавиш

Доброго времени суток.
У меня возникла необходимость в скрипте, который заменял нажатия на стрелочки на WASD соответственно, удерживая их. Грубо говоря, что бы можно было без ущерба играть в игрушки, где нельзя поменять клавиши управления на стрелочках.
Собственно, пока попробовал два варианта выполнения:

#Persistent
SetTimer, UpT, 100
return

UpT:
GetKeyState, IsUp, Up
if (isup="D")
	Send, {W down}
else
	Send, {W up}
return

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



*Up::
	Send, {w down}
	KeyWait, Up  ; Wait for the key to be released.
	Send, {w up}
return

Не подходит, потому что при нажатии следующей клавиши, предыдущая не отпустится, пока она нажата.

Надеюсь на вашу помощь. Загуглить не получилось.

2

Re: AHK: Удерживание клавиш

А так?


Up::w

3

Re: AHK: Удерживание клавиш

Прошу помощи.
Как сделать так что бы,допустим - клавиша "U" нажата и удерживается всё время,до тех пор пока не будет нажат левый Шифт,если же шифт отпустить то клавиша  - "U" сново утапливается?

4 (изменено: creature.ws, 2012-04-29 23:29:19)

Re: AHK: Удерживание клавиш

Как сделать

Хитрым рычажком на клавиатуре

Что должно происходить во время «удерживания скриптом клавиши»?
Что есть по-вашему для системы «утапливание» клавиши?

Нужно генерировать «автоповтор» нажатий клавиши с установленной в системе периодичностью?
Или нужно однократно отправить {U Down}?

SetTimer SendU, 20
return

SendU:
    Send {U Down}
    return

~*LShift::
    SetTimer, SendU, Off
    Send {U Up}
    return

~*LShift Up::SetTimer, SendU, 20

5

Re: AHK: Удерживание клавиш

creature.ws пишет:

Что должно происходить во время «удерживания скриптом клавиши»?

Это не большое дияние нужно для одной игры:). Скрипт должен держать нажатую клавишу "U"

creature.ws пишет:

Что есть по-вашему для системы «утапливание» клавиши?

Нажать на клавишу и держать.

creature.ws пишет:

Нужно генерировать «автоповтор» нажатий клавиши с установленной в системе периодичностью?

Я думаю,«автоповтор» должен быть поумолчанию,как он есть изначально.Конкретнее как в блакноте, - Зажал "U" и она пишется без остановки до тех пор пока не уберёшь пальчик с кнопки.

6

Re: AHK: Удерживание клавиш

Отлично:D! Спасибо,работает просто потрясно!
И ещё спасибо за то,что я думаю мне нужно побольше узнать о команде "SetTimer"=),весьма полезная штукенция.

7 (изменено: creature.ws, 2012-04-29 23:48:18)

Re: AHK: Удерживание клавиш

Скрипт должен держать нажатую клавишу "U"

Вопрос подразумевал — что он должен делать, чтобы это можно было расценить как «удержание клавиши».

Нажать на клавишу и держать.

Нажать клавишу может физический объект, скрипт не может нажать клавишу в прямом смысле.

Вопросы в сообщении #4 лишь для указания на неправильную формулировку «просьбы».

8

Re: AHK: Удерживание клавиш

OFFTOP пишет:

Хорошь...Я не просил учить меня грамотности,а всего лишь попросил помоши в написании небольшого скрипта.Если не понятно обьяснил,мог бы сказать проще - "Обясни поподробней...Как,чего?",я бы понял и разжевал бы хоть до соплей...
Я простой челоек который вырос почти на улице,зачем мучать разного рода - "неправильную формулировку «просьбы»."?
В конце концов,просьба то плёвая,а не спец.прога по потбору пароля к глав.компу пентагона.

--------------

creature.ws пишет:

Что должно происходить во время «удерживания скриптом клавиши»?
Что есть по-вашему для системы «утапливание» клавиши?

Нужно генерировать «автоповтор» нажатий клавиши с установленной в системе периодичностью?
Или нужно однократно отправить {U Down}?

Для чего это?Куча лишнего... Написал бы так

creature.ws пишет:

Не сильня понятно...нужно поподробней

Я бы понял и уже расписал бы всё куда более подробней.
Не прошу искть ко мне подход,все люди разные по этому проще нужно быть.