Autohotkey с горячими клавишами и горячими строками

Autohotkey с горячими клавишами и горячими строками

Как разрешить запуск Hotstrings с помощью переназначенных горячих клавиш, чтобы они работали в Autohotkey?

r::Send e
::ee::by the way

Так что когда я нажимаю rr на клавиатуре, печатается «кстати».

В настоящее время он печатает это только при нажатии ee.

ПРИМЕЧАНИЕ: Мне бы хотелось найти решение, которое не требует назначения нескольких триггерных сокращений для расширения одной и той же строки.

решение1

Вы можете использовать #InputLevel, если используете AHK v1.1+http://ahkscript.org/docs/commands/_InputLevel.htm

::ee::by the way
#InputLevel, 1
r::Send e

решение2

Вместо этого используйте это:

r::Отправить {ASC 0101}
::ee::кстати
::rr::кстати

решение3

Вот код:

r::
Loop
{
    b:=GetKeyState("r")
    if (b !=1)
    {
        ccounter := 1
        Loop
        {
            c:=GetKeyState("r")
            if (c=1)
            {
                MsgBox, by the way
                return
            }
            Sleep, 50

            ccounter:= ccounter + 1

            if (ccounter = 60)
            {
                return
            }
        }
    }
}
return

rПри нажатии 2 раза всплывет окно сообщения "кстати" . Но время между 2 rнажатиями должно быть максимум 3 секунды. Вы можете настроить это время, изменив ccounter = 60. Каждое значение там равно 50 миллисекундам (1000 миллисекунд = 1 секунде).

Также всегда используйте AutoHotkey и его документацию отhttp://ahkscript.org/(текущая обновленная версия, новый официальный сайт)! AutoHotkey и его документация с autohotkey.com устарели, и у вас могут возникнуть проблемы с их использованием!

решение4

Это будет работать:

:*:rr::  
Goto ::ee  
return  
::ee::  
Send by the way  
return

Связанный контент