1 (изменено: sergeant.coolagin, 2011-03-10 23:12:39)

Тема: AHK: отмена нажатия клавиш

Process, Priority, , realtime
setmousedelay, -1
*$lButton::

{
send {Rbutton down}
send {Q down}
sleep, 30
send {Q up}
}
Return

*$lButton up::

{
send {Q down}
sleep, 30
send {Q up}
}
Return



$*mbutton::
    Suspend
    If not SuspendOn
    {
        SuspendOn = 1
        SoundPlay, C:\Windows\Media\Windows Logoff Sound.wav
    }
    Else
    {
        SuspendOn = 0
        SoundPlay, C:\Windows\Media\Windows Logon Sound.wav
    }
Return

Вот скрипт. Работает. Чуть подкоректировать. Надо, чтобы когда левая кнопка мыши поднимается вверх, то "нажатая" в скрипте правая кнопка мыши отменялась. Мне не нужна команда, типа "send {Rbutton up}" т.к. оно насильно поднимет правую кнопку мыши. А бывают ситуации, когда я держу правую кнопку мыши, а скрипт это отменяет. В общем, как-то так. Надо, чтобы когда левая кнопка мыши поднималась, то скрипт отменял действия, типа зажатых клавишь и тыкал кнопку Q, как уже я сделал. Помогите, плз. Спасибо.
Скорее всего, надо какую-нить 1 команду добавить. Да только я не знаю какую.
Может можно как-то команду "break" "подделать" под lbutton up:?
Типа так:

*$lButton up::

{
send {Q down}
sleep, 30
send {Q up}
break
}
Return

Да, знаю, что неправильно, это так, чтобы показать.

2

Re: AHK: отмена нажатия клавиш

Долго пытался понять, что именно требуется. Может так?

#InstallKeybdHook ; чтобы распознавать физические и логические нажатия клавиш
#InstallMouseHook
Process, Priority, , realtime
setmousedelay, -1
*$lButton::
send {RButton down}
send {Q down}
sleep, 30
send {Q up}
Return

*$lButton up::
If not GetKeyState("RButton","P") ; если Rbutton не нажата физически
    Send {Rbutton up}    ; то отпускаем Rbutton, иначе ничего не делаем
send {Q down}
sleep, 30
send {Q up}
Return


$*mbutton::
    Suspend
    If not SuspendOn
    {
        SuspendOn = 1
        SoundPlay, C:\Windows\Media\Windows Logoff Sound.wav
    }
    Else
    {
        SuspendOn = 0
        SoundPlay, C:\Windows\Media\Windows Logon Sound.wav
    }
Return

Знак $ перед хоткеем требуется только в том случае, если эта клавиша посылает сама себя. В вашем случае ничего подобного нет. Этот символ тут не нужен.

3 (изменено: sergeant.coolagin, 2011-03-12 17:08:35)

Re: AHK: отмена нажатия клавиш

Спасибо, скрипт работает. Как раз то, что я хотел.

4 (изменено: sergeant.coolagin, 2011-03-12 17:18:03)

Re: AHK: отмена нажатия клавиш

Знак $ перед хоткеем требуется только в том случае, если эта клавиша посылает сама себя. В вашем случае ничего подобного нет. Этот символ тут не нужен.

В принципе да, но эти скрипты для игр, а многие игры очень вредные и тупо не реагируют на хоткеи. Некоторые игры не реагируют на опр. хоткеи без этого знака.  Не знаю почему, но думаю вы знаете, и будет хорошо, если обьясните