%20los%20atajos%20de%20teclado%20de%20Firefox.png)
yo sueloskhdpara administrar atajos de teclado en todo el sistema, pero ocasionalmente uno se filtra y FireFox lo detecta.
¿Cómo puedo deshabilitar un atajo de teclado en FF, específicamente el Command- {number}para cambiar de pestaña, de modo que incluso si skhd
lo suelta o no se ejecuta, no obtenga un comportamiento inesperado al activar involuntariamente un atajo diferente?
Respuesta1
¡Uf, esta fue difícil e interesante! Repasaré cómo hice esto en Windows y luego explicaré cómo hacerlo en Linux. Este procedimiento funcionó para mí con Firefox 74.
DESCARGO DE RESPONSABILIDAD: Esto podría dañar la instalación de Firefox, lo hacenoParece ser recomendado, y cada vez que actualice Firefox, deberá repetir este proceso. Así que asegúrese de hacer una copia de seguridad de todo lo que le interese de su instalación de Firefox, especialmente el omni.ja
archivo.
(Si hubiera otra forma, la habría recomendado, pero hasta donde sé, esta es la única manera de cambiar el conjunto de claves principal. (Esto puede ser una consideración de seguridad por parte de Mozilla para evitar extensiones maliciosas). de secuestrar cierto comportamiento.))
Para lograr esto, primero instalé el último 7zip con elinstalador ninte. Luego, navegué hasta el browser
subdirectorio del directorio de instalación de Firefox, en mi caso C:\Program Files\Mozilla Firefox\browser
. Luego usé 7zip para descomprimirlo omni.ja
en otra ubicación.
Luego, en el directorio recién descomprimido omni
, modifiqué el archivo chrome\browser\content\browser\browser.xhtml
. Aquí está la diferencia de los cambios que hice:
--- 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 puede ver, eliminé la key
entrada de key_viewSource
y eliminé una referencia a esa key
entrada en una menuItem
entrada. También eliminé las entradas key_selectTab[1-8]
y key_selectLastTab
key
.
Una vez hecho esto, ahora es el momento de volver a cerrar la cremallera. Navegue hasta el nivel superior de omni
, seleccione todo su contenido, haga clic derecho, seleccione 7-zip y "Agregar al archivo".
Establezca el nombre del nuevo archivo en omni.ja
, establezca el formato en zip
y establezca el nivel de compresión en Store
.
Hice una copia de seguridad del C:\Program Files\Mozilla Firefox\browser\omni.ja
archivo existente y luego lo reemplacé omni.ja
por uno modificado.
Finalmente, abra una cmd
ventana y abra Firefox con --purgecaches
, por ejemplo C:\Program Files\Mozilla Firefox\firefox.exe --purgecaches
.
En este punto, Firefox se abre, Ctrl-U
ya no muestra la fuente y Ctrl-[1-9]
ya no selecciona pestañas. ¡Éxito!
Para los usuarios de Linux, en lugar de 7zip, simplemente pueden:
[gnubeard@mothership: ~]$ mkdir tmp
[gnubeard@mothership: ~]$ cd tmp
[gnubeard@mothership: ~/tmp]$ unzip ../omni.ja
Realice las modificaciones apropiadas, luego:
[gnubeard@mothership: ~/tmp]$ zip -qr0XD ../omni.ja *
No olvides correr firefox --purgecaches
para recargar omni.ja
.
Los enlaces que incluyo al final de esta publicación mencionan el uso de zip -qr9XD
, pero creo que eso establece el nivel de compresión al máximo y, para que esto funcione, creo que la compresión zip no se puede habilitar (si estás leyendo esto y no estás de acuerdo, por favor corrígeme.)
Reuní esto para abordar específicamente las preocupaciones enumeradas en la pregunta ( Ctrl-U
, Ctrl-[1-9]
), pero creo que estodeberíaTrabaja para eliminar cualquiera de los atajos en el conjunto de claves principal, todos los cuales encontrarás en browser.xhtml
.
(EDITAR: en el curso de mi investigación, creo que confundí la pregunta original con otra que encontré que quería deshabilitar Ctrl-U
. Si no desea deshabilitar ese acceso directo, simplemente omita las viewSource
eliminaciones que hice).
Enlaces:
http://shallowsky.com/blog/tech/web/modifying-omni.ja.html
Este fue escrito antesbrowser.xul
fue renombrado abrowser.xhtml
, y sed
lamentablemente el comando que recomienda ya no funciona browser.xhtml
debido al cambio de formato.
http://forums.mozillazine.org/viewtopic.php?f=27&t=3025663
Así es como descubrí la --purgecaches
opción: busqué en Google más de lo que esperaba.
https://mike.kaply.com/2013/05/06/dont-unpack-and-repack-omni-jar/
Mike Kaply recomendó hace 7 años quenadie hace esto. Bien podría ser posible lograr el efecto deseado anulando las entradas del conjunto de claves de omni.ja de alguna manera en lugar de modificarlo, pero si es así, no pude encontrar documentación al respecto.
https://developer.mozilla.org/en-US/docs/Archive/Mozilla/XUL/Tutorial/Keyboard_Shortcuts
Documentación obsoleta sobre XUL. Interesante de leer, pero no me ayudó directamente a lograrlo.