FireFox 키보드 단축키 구성(비활성화)

FireFox 키보드 단축키 구성(비활성화)

나는 사용한다skhd시스템 전체의 키보드 단축키를 관리하기 위해 사용하지만 가끔 하나가 누출되어 대신 FireFox에서 선택됩니다.

CommandFF에서 키보드 단축키(특히 탭 {number}전환) 를 비활성화 skhd하여 키보드 단축키를 삭제하거나 실행 중이 아닌 경우에도 의도치 않게 다른 단축키를 실행하여 예기치 않은 동작이 발생하지 않도록 하려면 어떻게 해야 합니까 ?

답변1

휴, 이건 힘들고 흥미로운 일이었어! Windows에서 이 작업을 수행한 방법을 살펴본 다음 Linux에서 수행하는 방법을 설명하겠습니다. 이 절차는 Firefox 74에서 효과적이었습니다.

면책조항: 이로 인해 Firefox 설치가 중단될 수 있습니다.~ 아니다권장되는 것으로 보이며 Firefox를 업데이트할 때마다 이 과정을 반복해야 합니다. 따라서 Firefox 설치에서 중요한 모든 것, 특히 omni.ja파일을 백업하십시오.

(다른 방법이 있었다면 추천했을 텐데, 제가 아는 한 이 방법이 메인 키셋을 변경할 수 있는 유일한 방법입니다. (이는 악성 확장 프로그램을 방지하기 위한 Mozilla 측의 보안 고려 사항일 수 있습니다.) 특정 행동을 가로채는 것으로부터.))

이를 달성하기 위해 먼저 최신 7zip을 설치했습니다.Ninite 설치 프로그램. 그런 다음 browserFirefox 설치 디렉터리의 하위 디렉터리 로 이동했습니다 . 제 경우에는 C:\Program Files\Mozilla Firefox\browser. 그런 다음 7zip을 사용하여 omni.ja다른 위치에 압축을 풀었습니다.

그런 다음 새로 압축을 푼 omni디렉터리에서 파일을 수정했습니다 chrome\browser\content\browser\browser.xhtml. 내가 변경한 사항의 차이점은 다음과 같습니다.

--- browser.xhtml.orig  2020-03-27 16:42:54.377242187 +0000
+++ browser.xhtml       2020-03-27 16:43:01.865242187 +0000
@@ -333,7 +333,6 @@

     <key data-l10n-id="nav-reload-shortcut" command="Browser:Reload" modifiers="accel" id="key_reload"/>
     <key data-l10n-id="nav-reload-shortcut" command="Browser:ReloadSkipCache" modifiers="accel,shift" id="key_reload_skip_cache"/>
-    <key id="key_viewSource" data-l10n-id="page-source-shortcut" command="View:PageSource" modifiers="accel"/>
     <key id="key_viewInfo" data-l10n-id="page-info-shortcut" command="View:PageInfo"   modifiers="accel"/>
     <key id="key_find" data-l10n-id="find-shortcut" command="cmd_find" modifiers="accel"/>
     <key id="key_findAgain" data-l10n-id="search-find-again-shortcut" command="cmd_findAgain" modifiers="accel"/>
@@ -380,17 +379,6 @@
     <key id="key_undoCloseTab" command="History:UndoCloseTab" data-l10n-id="tab-new-shortcut" modifiers="accel,shift"/>
     <key id="key_undoCloseWindow" command="History:UndoCloseWindow" data-l10n-id="window-new-shortcut" modifiers="accel,shift"/>

-
-<key id="key_selectTab1" oncommand="gBrowser.selectTabAtIndex(0, event);" key="1" modifiers="accel"/>
-<key id="key_selectTab2" oncommand="gBrowser.selectTabAtIndex(1, event);" key="2" modifiers="accel"/>
-<key id="key_selectTab3" oncommand="gBrowser.selectTabAtIndex(2, event);" key="3" modifiers="accel"/>
-<key id="key_selectTab4" oncommand="gBrowser.selectTabAtIndex(3, event);" key="4" modifiers="accel"/>
-<key id="key_selectTab5" oncommand="gBrowser.selectTabAtIndex(4, event);" key="5" modifiers="accel"/>
-<key id="key_selectTab6" oncommand="gBrowser.selectTabAtIndex(5, event);" key="6" modifiers="accel"/>
-<key id="key_selectTab7" oncommand="gBrowser.selectTabAtIndex(6, event);" key="7" modifiers="accel"/>
-<key id="key_selectTab8" oncommand="gBrowser.selectTabAtIndex(7, event);" key="8" modifiers="accel"/>
-<key id="key_selectLastTab" oncommand="gBrowser.selectTabAtIndex(-1, event);" key="9" modifiers="accel"/>
-
     <key id="key_wrCaptureCmd"
     key="#" modifiers="control"
     command="wrCaptureCmd"/>
@@ -3748,7 +3736,6 @@
               <menu id="webDeveloperMenu" data-l10n-id="menu-tools-web-developer">
                 <menupopup id="menuWebDeveloperPopup">
                   <menuitem id="menu_pageSource"
-                            key="key_viewSource"
                             command="View:PageSource" data-l10n-id="menu-tools-page-source"/>
                 </menupopup>
               </menu>

보시 key다시피 에 대한 항목을 제거하고 항목 에서 key_viewSource해당 항목에 대한 참조를 제거했습니다 . 또한 및 항목도 제거했습니다 .keymenuItemkey_selectTab[1-8]key_selectLastTab key

이 작업을 마쳤으면 이제 다시 압축을 풀 차례입니다. 의 최상위 수준으로 이동하여 omni모든 내용을 선택하고 마우스 오른쪽 버튼을 클릭한 다음 7-zip을 선택하고 "보관함에 추가"를 선택합니다.

새 아카이브의 이름을 로 설정하고 omni.ja형식을 으로 설정하며 zip압축 수준을 으로 설정합니다 Store.

7zip 압축 옵션

기존 파일을 백업한 C:\Program Files\Mozilla Firefox\browser\omni.jaomni.ja수정한 파일로 교체했습니다.

마지막으로 창을 열고 cmd, --purgecaches예를 들어 으로 Firefox를 엽니다 C:\Program Files\Mozilla Firefox\firefox.exe --purgecaches.

이 시점에서 Firefox가 열리고 Ctrl-U더 이상 소스가 표시되지 않으며 Ctrl-[1-9]더 이상 탭을 선택할 수 없습니다. 성공!

Linux 사용자의 경우 7zip 대신 간단히 다음을 수행할 수 있습니다.

[gnubeard@mothership: ~]$ mkdir tmp
[gnubeard@mothership: ~]$ cd tmp
[gnubeard@mothership: ~/tmp]$ unzip ../omni.ja

적절하게 수정한 후 다음을 수행하십시오.

[gnubeard@mothership: ~/tmp]$ zip -qr0XD ../omni.ja *

firefox --purgecaches다시 로드하려면 실행하는 것을 잊지 마세요 omni.ja.

이 게시물 끝에 포함된 링크에는 을 사용하는 것이 언급되어 있지만 zip -qr9XD압축 수준을 최대로 설정한다고 생각하며 이것이 작동하려면 zip 압축을 활성화할 수 없다고 생각합니다. (이 글을 읽고 동의하지 않으신다면, 정정 해줘.)

질문 ( Ctrl-U, Ctrl-[1-9])에 나열된 우려 사항을 구체적으로 해결하기 위해 이것을 정리했지만 내 생각에는~해야 한다에서 찾을 수 있는 기본 키 세트의 바로가기를 제거하는 작업을 수행하세요 browser.xhtml.

(편집: 조사 과정에서 원래 질문을 비활성화하려는 다른 질문과 혼동한 것 같습니다 Ctrl-U. 해당 바로가기를 비활성화하고 싶지 않다면 viewSource제가 삭제한 부분을 제외하세요.)

연결:

http://shallowsky.com/blog/tech/web/modifying-omni.ja.html

이거 예전에 쓴거네browser.xul다음으로 이름이 바뀌었습니다.browser.xhtml, 불행히도 권장되는 명령은 형식 변경으로 인해 sed더 이상 작동하지 않습니다 .browser.xhtml

http://forums.mozillazine.org/viewtopic.php?f=27&t=3025663

이것이 제가 --purgecaches옵션을 발견한 방법입니다. 예상했던 것보다 더 많은 인터넷 검색이 필요했습니다.

https://mike.kaply.com/2013/05/06/dont-unpack-and-repack-omni-jar/

Mike Kaply는 7년 전에 다음과 같이 추천했습니다.아무도 이러지 않아. omni.ja의 키 세트 항목을 수정하는 대신 어떻게든 재정의하여 원하는 효과를 얻을 수도 있지만 그렇다면 이에 대한 문서를 찾을 수 없었습니다.

https://developer.mozilla.org/en-US/docs/Archive/Mozilla/XUL/Tutorial/Keyboard_Shortcuts

XUL에 관한 더 이상 사용되지 않는 문서입니다. 읽는 것은 흥미롭지만 이 작업을 수행하는 데 직접적인 도움이 되지는 않았습니다.

관련 정보