1

Тема: AHK: блокировка реального нажатия мышкой, на некоторое время

Для примера:

Мне нужно чтобы при удержании ЛКМ более 2(тут может быть необазятельно таймер, но и циклическая проверка на цвет) секунд AHK временно блокировал дальнейшие обращения ЛКМ.

То есть нужна блокировка физического нажатия/удержания ЛКМ после 2 секунды.

Спасибо за ответы.

2

Re: AHK: блокировка реального нажатия мышкой, на некоторое время

Почему в заголовке темы «на некоторое время», а в сообщении «при более … секунд […] блокировал дальнейшие…»?

pressDuration := 2000

~LButton::return
~LButton Up::
    if flag := A_PriorHotkey = "~LButton" && A_TimeSincePriorHotkey > pressDuration {
        Hotkey ~LButton Up, Off
        Hotkey ~LButton, Off
    }
    return

#if flag
    *LButton::return
#if

Space::
    flag := false
    Hotkey ~LButton Up, On
    Hotkey ~LButton, On
    return

3

Re: AHK: блокировка реального нажатия мышкой, на некоторое время

С какой периодичностью?

4 (изменено: Kokkolar, 2012-12-21 08:55:40)

Re: AHK: блокировка реального нажатия мышкой, на некоторое время

Не совсем понял про периодичность, может с видео будет понятней что мне надо.
http://www.youtube.com/watch?v=-_9IOefwhBA

5 (изменено: creature.ws, 2013-02-05 06:21:54)

Re: AHK: блокировка реального нажатия мышкой, на некоторое время

fireRate := 100 ; как часто требуется проверять
rechargeTimeout := 3000 ; длительность перезарядки

~LButton::SetTimer, CheckAmmo, %fireRate%

#if recharge
    *LButton::return
#if

CheckAmmo:
    if !GetKeyState("LButton", "P") {
        SetTimer, CheckArmmo, Off
        return
    }
    if LastAmmo() {
        Send, {LButton Up}
        recharge := true
        SetTimer, FireAtWill, -%rechargeTimeout%
        Hotkey, ~LButton, Off
        SetTimer, CheckArmmo, Off
    }
    return

FireAtWill:
    recharge := false
    Hotkey, ~LButton, On
    return

LastAmmo() {
    ; а вот здесь должен быть код каким-либо образом проверяющий не пора ли отпускать зажатую кнопку
    return true ; всегда отключаем lbutton на 3 секунды после нажатия.
}

6

Re: AHK: блокировка реального нажатия мышкой, на некоторое время

Спасибо за помощь, хотя из скрипта мне мало что стало понятно.
Где тут главная фишка-блокировка LMB?

7

Re: AHK: блокировка реального нажатия мышкой, на некоторое время

Где тут главная фишка-блокировка LMB?

#if recharge
    *LButton::return
#if

хотя из скрипта мне мало что стало понятно.

Перечитайте код ещё раз, попробуйте запустить и посмотреть в «последние действия».

8

Re: AHK: блокировка реального нажатия мышкой, на некоторое время

Всем доброго времени суток!

     В общем у меня похожая ситуация: необходимо пропускать нажатие клавиши (к примеру F1) раз в несколько секунд (к примеру раз в 2 сек) как при раздельном нажатии, там и при зажатой клавиши... Т.е. скрипт должен пропустить одно нажатие, после чего блокировать сигналы  на 2000мс, затем снимать блокировку.
     Для этого воспользовался скриптом из из ветки http://forum.script-coding.com/viewtopi … 256#p67256, заменив LButton на F1. В итоге результата не достиг...
     Подскажите плж где закралась ошибка.

9

Re: AHK: блокировка реального нажатия мышкой, на некоторое время

Кажется, вы забыли создать тему.