1 (изменено: amigos8572, 2014-04-24 15:12:34)

Тема: «AHK: Зажатие клавиши и присвоение переменной значения».

Здравствуйте!
Прошу, расскажите как можно в скрипте

Shift:: Send, % (State1 := !State1)? "{Shift Down}":"{Shift Up}" 

Добавить присвоение переменной "а" значения 1 при нажатии шифта, и 2 при отжатии.
Т.е. нажал один раз Шифт и он зажимается, а переменной "а" присваивается 1.
При повторном нажатии Шифта, Шифт отжимается, а переменной "а" присваивается 2.
В этом скрипте реализовано только нажатие, отжатие Шифта.

Скрипты подобного типа:

Shift:: 
    If isKeyPressed := !isKeyPressed     
        SetTimer, SendA, 40              
    Else 
    { 
        SetTimer, SendA, Off            
        Send {LShift Up}   
        Send {H Up}      
    } 
    KeyWait Shift                      
    return 
 
SendA: 
    Send {LShift Down} 
    Send {H Down} 
    return 

и

toggle = 0  
#MaxThreadsPerHotkey 2  
 Shift::  
 Toggle := !Toggle  
 If Toggle 
{  
While Toggle 
{ 
SendInput, {LShift Down} 
SendInput, {sc014} 
 }  
} 
else  
{  
SendInput, {LShift Up} 
SendInput, {sc015} 
 } 
 return 

- тут добавлены буквы для понимания срабатывания шифта.
Эти 2 скрипта выключают Шифт через раз. И понять с чем это я связано я не смог. Может нажимал Шифт, когда скрипт выполнял другую часть скрипта, а не определял нажат ли Шифт.

2

Re: «AHK: Зажатие клавиши и присвоение переменной значения».

Ну если одной строкой, то:

Shift:: Send, % (State1 := !State1) ? "{Shift Down}" (a := 1) / 0 : "{Shift Up}" (a := 2) / 0
По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: «AHK: Зажатие клавиши и присвоение переменной значения».

АНК: к заголовку добавьте.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

4

Re: «AHK: Зажатие клавиши и присвоение переменной значения».

serzh82saratov пишет:

Ну если одной строкой, то:

Shift:: Send, % (State1 := !State1) ? "{Shift Down}" (a := 1) / 0 : "{Shift Up}" (a := 2) / 0

Спасибо большое!

5

Re: «AHK: Зажатие клавиши и присвоение переменной значения».

amigos8572, ознакомьтесь с этой темой, отредактируйте заголовок.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder