나는 같은 문제가 있었고 http://www.autohotkey.com/ Windows의 Firefox에서 사용하기위한 스크립트. 스크립트는 Firefox가 활성화되어있을 때 ctrl + tab, ctrl + shift + tab 및 ctrl + l 단축키를 제어하고 일반 Firefox 단축키 작업 (다음 탭, 이전 탭 및 URL 도구 모음 활성화)을 항상 수행하도록합니다. 창 모드 및 전체 화면 모드로 작동합니다. 참고 : 스크립트 마우스는 왼쪽 상단 Firefox 창의 모서리 근처에있는 중립 지점을 클릭합니다. 예를 들어 Stylish를 통해 GUI를 변경하여 해당 지점을 덮는 경우 버튼을 누른 다음 클릭 명령의 x / y 값을 수정하여 다른 버튼이 아닌 다른 지점을 대상으로해야 할 수 있습니다. 이 스크립트가 ctrl + l에서만 작동하도록하려면 두 번째 및 세 번째 코드 줄을 제거하십시오.
편집하다: 죄송합니다. 아래의 기본 x / y 값은 Firefox 버튼을 표시하는 방법에 따라 최대화 된 창 모드에서 제대로 작동하지 않을 수 있습니다. 다시 말하지만 x / y를 수정하여 Firefox 버튼 오른쪽의 몇 픽셀과 같이 버튼이 아닌 지점을 타겟팅하십시오.
#IfWinActive, ahk_class MozillaWindowClass
^Tab::
^+Tab::
^l::
SystemCursor("Toggle")
SetDefaultMouseSpeed, 0
MouseGetPos, mx, my
click 2,2
if A_ThisHotkey = ^Tab
send ^{tab}
if A_ThisHotkey = ^+Tab
send ^+{tab}
if A_ThisHotkey = ^l
send ^l
MouseMove, %mx%,%my%
SystemCursor("Toggle")
return
#IfWinActive
; http://www.autohotkey.com/docs/commands/DllCall.htm#HideCursor
SystemCursor(OnOff=1) ; INIT = "I","Init"; OFF = 0,"Off"; TOGGLE = -1,"T","Toggle"; ON = others
{
static AndMask, XorMask, $, h_cursor
,c0,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10,c11,c12,c13 ; system cursors
, b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13 ; blank cursors
, h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13 ; handles of default cursors
if (OnOff = "Init" or OnOff = "I" or $ = "") ; init when requested or at first call
{
$ = h ; active default cursors
VarSetCapacity( h_cursor,4444, 1 )
VarSetCapacity( AndMask, 32*4, 0xFF )
VarSetCapacity( XorMask, 32*4, 0 )
system_cursors = 32512,32513,32514,32515,32516,32642,32643,32644,32645,32646,32648,32649,32650
StringSplit c, system_cursors, `,
Loop %c0%
{
h_cursor := DllCall( "LoadCursor", "uint",0, "uint",c%A_Index% )
h%A_Index% := DllCall( "CopyImage", "uint",h_cursor, "uint",2, "int",0, "int",0, "uint",0 )
b%A_Index% := DllCall("CreateCursor","uint",0, "int",0, "int",0
, "int",32, "int",32, "uint",&AndMask, "uint",&XorMask )
}
}
if (OnOff = 0 or OnOff = "Off" or $ = "h" and (OnOff < 0 or OnOff = "Toggle" or OnOff = "T"))
$ = b ; use blank cursors
else
$ = h ; use the saved cursors
Loop %c0%
{
h_cursor := DllCall( "CopyImage", "uint",%$%%A_Index%, "uint",2, "int",0, "int",0, "uint",0 )
DllCall( "SetSystemCursor", "uint",h_cursor, "uint",c%A_Index% )
}
}