1

Я пытаюсь использовать AutoHotKey, чтобы исправить клавишу возврата в Chrome. Моя первая попытка использовала следующее решение из этого вопроса:

#IfWinActive, ahk_class Chrome_WidgetWin_1
BackSpace::Send, {Left}{Delete}

Это работает, но, к сожалению, также мешает мне выбрать текст в input/textarea и удалить все это клавишей backspace. Поэтому я начал искать способ исключить случаи, когда курсор находится в одном из них. Затем я нашел этот ответ со скриптом для изменения заголовка окна внутри input/textarea и со следующим скриптом AHK, чтобы использовать это обновление заголовка:

SetTitleMatchMode, RegEx

#x:: ; normal hotkey
     ; do something
    return

#IfWinActive, \[AHK\] - Google Chrome$
    #x:: ; input/textarea focus hotkey
         ; do something
        return

#IfWinActive

Я пытался смешать их вместе, чтобы я мог переписать поведение Backspace в окне Chrome, которое не заканчивается на [AHK] - Google Chrome , но до сих пор мне не удавалось. Я чувствую, что я действительно близок и просто что-то упускаю, но я абсолютный новичок в AHK и не знаю, куда идти дальше. После вмешательства в приведенный выше код и поиска в Интернете, вот что у меня есть прямо сейчас:

SetTitleMatchMode 2 ; partial title matches

IfWinActive, ahk_class Chrome_WidgetWin_1 ; identify Chrome
{
    #BackSpace::
    If WinActive("[AHK] - Google Chrome") ; identify when within text element
    {
        return
    }
    else {
        Send, {Left}{Delete}
    }
}

Я чувствую, что должен быть в состоянии выполнить это с помощью одного оператора IfWinActive включающего Chrome и исключающего материал [AHK], но в документах не приводятся примеры добавления других параметров после первого, и мои собственные попытки было бесполезно Любая помощь с этим будет принята с благодарностью. Кроме того, если есть способ аналогичным образом исключить адресную строку, это было бы звездным.

1 ответ1

1
#ifWinActive, ahk_class Chrome_WidgetWin_1

bs::
    clipboard =  ; Clear clipboard
    send ^c  ; Copy any selected text
    if clipboard =  ; If nothing is selected
        send {left}
    send {del}
return

#ifWinActive

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .