Configurar (desativar) atalhos de teclado do FireFox

Configurar (desativar) atalhos de teclado do FireFox

eu usoskhdpara gerenciar atalhos de teclado em todo o sistema, mas ocasionalmente um deles vaza e é capturado pelo FireFox.

Como posso desabilitar um atalho de teclado no FF - especificamente a guia Command- {number}para alternar - para que, mesmo que skhdele seja descartado ou não esteja em execução, eu não receba um comportamento inesperado ao acionar involuntariamente um atalho diferente?

Responder1

Ufa, essa foi difícil e interessante! Examinarei como fiz isso no Windows e depois explicarei como fazer isso no Linux. Este procedimento funcionou para mim com o Firefox 74.

AVISO LEGAL: Isso pode interromper a instalação do Firefox.nãoparece ser recomendado e toda vez que você atualizar o Firefox, você precisará repetir esse processo. Portanto, certifique-se de fazer backup de tudo o que for importante para você na instalação do Firefox, especialmente o omni.jaarquivo.

(Se houvesse outra maneira, eu a teria recomendado, mas até onde sei, esta é a única maneira de alterar o conjunto de chaves principal. (Isso pode ser uma consideração de segurança por parte da Mozilla para evitar extensões maliciosas de sequestrar determinado comportamento.))

Para fazer isso, instalei primeiro o 7zip mais recente com oInstalador Ninite. Em seguida, naveguei até o browsersubdiretório do diretório de instalação do Firefox, no meu caso C:\Program Files\Mozilla Firefox\browser. Em seguida, usei o 7zip para descompactar omni.jaem outro local.

Então, no omnidiretório recém-descompactado, modifiquei o arquivo chrome\browser\content\browser\browser.xhtml. Aqui está a diferença das alterações que fiz:

--- 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>

Como você pode ver, removi a keyentrada para key_viewSourcee removi uma referência a essa keyentrada em uma menuItementrada. Eu também removi as entradas key_selectTab[1-8]e key_selectLastTab key.

Feito isso, agora é hora de fechá-lo novamente. Navegue até o nível superior do omni, selecione todo o seu conteúdo, clique com o botão direito, selecione 7-zip e "Adicionar ao arquivo".

Defina o nome do novo arquivo como omni.ja, defina o formato como zipe defina o nível de compactação como Store.

Opções de compactação 7zip

Fiz um backup do C:\Program Files\Mozilla Firefox\browser\omni.jaarquivo existente e substituí-o omni.japelo arquivo modificado.

Finalmente, abra uma cmdjanela e abra o Firefox com --purgecaches, por exemplo C:\Program Files\Mozilla Firefox\firefox.exe --purgecaches.

Neste ponto, o Firefox abre para mim, Ctrl-Unão mostra mais a fonte e Ctrl-[1-9]não seleciona mais as guias. Sucesso!

Para usuários do Linux, em vez do 7zip, você pode simplesmente:

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

Faça as modificações apropriadas e então:

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

Não se esqueça de correr firefox --purgecachespara recarregar omni.ja.

Os links que estou incluindo no final deste post mencionam o uso de zip -qr9XD, mas acredito que isso define o nível de compactação para o máximo, e para que isso funcione, acredito que a compactação zip não pode ser habilitada (se você está lendo isso e discorda, por favor Me corrija.)

Eu juntei isso para abordar especificamente as preocupações listadas na pergunta ( Ctrl-U, Ctrl-[1-9]), mas acho que issodevetrabalhe para remover qualquer um dos atalhos do conjunto de chaves principal, todos os quais você encontrará em browser.xhtml.

(EDITAR: No decorrer da minha pesquisa, acho que confundi a pergunta original com outra que encontrei e que queria desabilitar Ctrl-U. Se você não quiser desabilitar esse atalho, deixe de fora as viewSourceexclusões que fiz.)

Links:

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

Este foi escrito antesbrowser.xulfoi renomeado parabrowser.xhtml, e o sedcomando recomendado infelizmente não funciona mais browser.xhtmldevido à mudança no formato.

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

Foi assim que descobri a --purgecachesopção - pesquisei mais no Google do que esperava.

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

Mike Kaply recomendou há 7 anos queninguém faz isso. Seria possível obter o efeito desejado substituindo as entradas do conjunto de chaves do omni.ja de alguma forma, em vez de modificá-lo, mas, nesse caso, não consegui encontrar documentação sobre isso.

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

Documentação obsoleta sobre XUL. Interessante de ler, mas não me ajudou diretamente a conseguir isso.

informação relacionada