AutoHotKey를 사용하여 Chrome에서 탐색으로 백스페이스를 비활성화합니다.

AutoHotKey를 사용하여 Chrome에서 탐색으로 백스페이스를 비활성화합니다.

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

로 끝나지 않는 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}
    }
}

IfWinActiveChrome을 포함하고 [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

관련 정보