KeyWait-Autohotkey

Чекає, доки не буде відпущена або натиснута клавіша або кнопка миші/джойстика.

KeyNameМоже бути практично будь-яким одиночним символом з клавіатури або одним із імен зі списку клавіш та кнопок клавіатури та миші/джойстика. У джойстика підтримуються лише кнопки.

Крім того, може бути вказаний код віртуальної клавіші, наприклад vkFF. Це може бути корисним у тих поодиноких випадках, коли клавіша не має імені та не видає при натисканні жодного видимого символу. Як визначити код віртуальної клавіші, показано наприкінці сторінки зі списком імен клавіш та кнопок.OptionsЯкщо цей параметр порожній, команда чекатиме невизначено довго, доки не буде фізично відпущена користувачем вказана клавіша або кнопка миші/джойстика. Однак, якщо хук клавіатури не встановлений і KeyName містить ім'я клавіші, що відпускається штучно за допомогою, наприклад команди Send, це буде сприйнято як фізичне відпускання клавіші. Те ж саме для кнопок миші, якщо не встановлено хук миші.

Можливі значення: одна або кілька наступних літер (у будь-якому порядку, з пробілами або без).

D: Чекати натискання клавіші.

L: Перевірити логічний стан кнопки. Це стан, у якому клавіша перебуває на думку операційної системи та активного вікна, але не обов'язково збігається з фізичним станом. Ця функція ігнорується для кнопок джойстика.

T: Таймаут (наприклад, T3). Число секунд, яке повинна чекати команда, перш ніж встановити ErrorLevel в 1 і припинити очікування. Якщо кнопка або кнопка переходить у заданий стан, команда не чекає закінчення таймууту. Натомість вона негайно встановлює ErrorLevel в 0, і скрипт продовжує виконання.

Значення таймуутуможе бути числом з точкою, що плаває, наприклад, 2.5, але не може бути шістнадцятковим, таким як 0x03.

ErrorLevel

Встановлюється в 1, якщо закінчився тайм, інакше дорівнює 0.

Примітки

Під Windows XP або пізніший фізичний стан клавіші або кнопки миші зазвичай буде збігатися з логічним, за винятком випадків, коли встановлені хуки клавіатури або миші. У цьому випадку стан клавіші або кнопки відображатиме її реальне фізичне положення. Ви можете визначити, чи використовує скрипт хуки, за допомогою команди KeyHistory або через меню скрипту. Ви можете гарантувати встановлення будь-якого хука або відразу обох, додавши в скрипт директиву #InstallKeybdHook та/або #InstallMouseHook.

Поки команда очікується, нові потоки можуть запускатися через гарячі клавіші, пункти меню або таймери.

Щоб очікувати відпускання двох або більше клавіш, послідовно використовуйте кілька KeyWait. Наприклад:

Якщо потрібно чекати натискання будь-якої клавіші з деякого набору клавіш, дивіться приклади в описі команди Input.

Capslock:: KeyWait, Capslock; Чекати на фізичного відпускання користувачем. MsgBox Ви натиснули та відпустили Capslock. return