
Я пытаюсь использовать AutoHotKey, чтобы исправить клавишу backspace в 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
#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