%20atalhos%20de%20teclado%20do%20FireFox.png)
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 skhd
ele 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.ja
arquivo.
(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 browser
subdiretó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.ja
em outro local.
Então, no omni
diretó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 key
entrada para key_viewSource
e removi uma referência a essa key
entrada em uma menuItem
entrada. 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 zip
e defina o nível de compactação como Store
.
Fiz um backup do C:\Program Files\Mozilla Firefox\browser\omni.ja
arquivo existente e substituí-o omni.ja
pelo arquivo modificado.
Finalmente, abra uma cmd
janela e abra o Firefox com --purgecaches
, por exemplo C:\Program Files\Mozilla Firefox\firefox.exe --purgecaches
.
Neste ponto, o Firefox abre para mim, Ctrl-U
nã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 --purgecaches
para 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 viewSource
exclusões que fiz.)
Links:
http://shallowsky.com/blog/tech/web/modifying-omni.ja.html
Este foi escrito antesbrowser.xul
foi renomeado parabrowser.xhtml
, e o sed
comando recomendado infelizmente não funciona mais browser.xhtml
devido à mudança no formato.
http://forums.mozillazine.org/viewtopic.php?f=27&t=3025663
Foi assim que descobri a --purgecaches
opçã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.