
Chromeのバックスペースキーを修正するためにAutoHotKeyを使用しようとしています。最初の試みでは、次の解決策を利用しました。この質問:
#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
私は 2 つを組み合わせて、 で終わらない 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