Можете ли вы исправить мой скрипт Ctrl + Left Ctrl + Shift + Left? - PullRequest
0 голосов
/ 12 ноября 2018

Это только немного не так, как я хотел. Он работает нормально, но если я хочу удерживать функции, он будет выполнять действия один раз и добавлять цифры вместо повторения функции. Я хотел что-то ускорить процесс Ctrl + стрелка влево и Ctrl + Shift + стрелка влево, а также Ctrl + стрелка вправо и Ctrl + Shift + стрелка вправо, чтобы я мог работать с текстом быстрее. https://www.youtube.com/watch?v=VNRCQx0eWA0 Вы можете посмотреть пример того, что я имею в виду, и что происходит не так. Я отметил ошибки в названии видео.

script.ahk содержимое скрипта

^1::
Send ^{Left Down}^{Left Down}
return
^2::
Send ^{Left Down}^{Left Down}^{Left Down}
return
^3::
Send ^{Left Down}^{Left Down}^{Left Down}^{Left Down}
return
^4::
Send ^{Left Down}^{Left Down}^{Left Down}^{Left Down}^{Left Down}
return
^5::
Send ^{Left Down}^{Left Down}^{Left Down}^{Left Down}^{Left Down}^{Left Down}
return
^6::
Send ^{Right Down}^{Right Down}
return
^7::
Send ^{Right Down}^{Right Down}^{Right Down}
return
^8::
Send ^{Right Down}^{Right Down}^{Right Down}^{Right Down}
return
^9::
Send ^{Right Down}^{Right Down}^{Right Down}^{Right Down}^{Right Down}
return
^0::
Send ^{Right Down}^{Right Down}^{Right Down}^{Right Down}^{Right Down}^{Right Down}
return
^+1::
Send ^+{Left Down}^+{Left Down}
return
^+2::
Send ^+{Left Down}^+{Left Down}^+{Left Down}
return
^+3::
Send ^+{Left Down}^+{Left Down}^+{Left Down}^+{Left Down}
return
^+4::
Send ^+{Left Down}^+{Left Down}^+{Left Down}^+{Left Down}^+{Left Down}
return
^+5::
Send ^+{Left Down}^+{Left Down}^+{Left Down}^+{Left Down}^+{Left Down}^+{Left Down}
return
^+6::
Send ^+{Right Down}^+{Right Down}
return
^+7::
Send ^+{Right Down}^+{Right Down}^+{Right Down}
return
^+8::
Send ^+{Right Down}^+{Right Down}^+{Right Down}^+{Right Down}
return
^+9::
Send ^+{Right Down}^+{Right Down}^+{Right Down}^+{Right Down}^+{Right Down}
return
^+0::
Send ^+{Right Down}^+{Right Down}^+{Right Down}^+{Right Down}^+{Right Down}^+{Right Down}
return
#q::exitApp

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Удалить down из всех команд. Правильный синтаксис:

^1::
    send ^{left}
return

Для повторения вы можете написать число в квадратных скобках, например, повторить выбор 5 раз:

^+5::
    send ^+{right 5}
return
0 голосов
/ 12 ноября 2018
Keys := ["1","2","3","4","5","6","7","8","9","0"]
for each, key in Keys
{
    Hotkey, ^%key%, Ctrl_Key, On 
    Hotkey, ^+%key%, Ctrl_Key, On
}
return

Ctrl_Key:
    last_Key := ""
    Index := ""
    last_Key := SubStr(A_ThisHotkey, 0)
    If (last_Key = 0)
        Index = 5
    else
    If (last_Key < 6)
        Index := last_Key + 1
    else
        Index := last_Key - 4
    Loop %Index%
    {
        If (last_Key < 6) and (last_Key > 0)
        {
            If GetKeyState("Shift","P")
                Send +^{Left}
            else
                Send ^{Left}
        }
        else
        {
            If GetKeyState("Shift","P")
                Send +^{Right}
            else
                Send ^{Right}
        }
    }
    ; Don't repeat the action before key is released: 
    KeyWait, %last_Key%
return

См. For-Loop , Горячая клавиша и SubStr в документации и не стесняйтесь спрашивать, если вы чего-то не понимаете.

...