
我正在嘗試使用 AutoHotKey 來修復 Chrome 中的退格鍵。我的第一次嘗試使用了以下解決方案這個問題:
#IfWinActive, ahk_class Chrome_WidgetWin_1
BackSpace::Send, {Left}{Delete}
它有效,但不幸的是它也阻止我選擇input
/中的文字textarea
並使用退格鍵將其全部刪除。所以我開始尋找一種方法來排除遊標位於其中一個的情況。然後我發現這個答案input
,帶有一個用於在/內更改視窗標題的腳本textarea
和以下 AHK 腳本以利用該標題更新:
SetTitleMatchMode, RegEx
#x:: ; normal hotkey
; do something
return
#IfWinActive, \[AHK\] - Google Chrome$
#x:: ; input/textarea focus hotkey
; do something
return
#IfWinActive
我一直在嘗試將兩者混合在一起,這樣我就可以在不以 結尾的 Chrome 視窗中重寫 Backspace 的行為[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