ich benutzeskhdum systemweite Tastaturkürzel zu verwalten, aber gelegentlich sickert eines durch und wird stattdessen von FireFox erkannt.
Wie kann ich eine Tastenkombination in FF deaktivieren – insbesondere das Command„- {number}zum Wechseln der Registerkarte“ –, sodass skhd
es nicht zu unerwartetem Verhalten durch unbeabsichtigtes Auslösen einer anderen Tastenkombination kommt, selbst wenn ich sie lösche oder sie nicht ausführe?
Antwort1
Puh, das war eine schwierige und interessante Aufgabe! Ich erkläre, wie ich das unter Windows gemacht habe, und erkläre dann, wie es unter Linux geht. Bei mir hat dieses Verfahren mit Firefox 74 funktioniert.
HAFTUNGSAUSSCHLUSS: Dies könnte Ihre Firefox-Installation beschädigen.nichtscheint empfohlen zu werden, und jedes Mal, wenn Sie Firefox aktualisieren, müssen Sie diesen Vorgang wiederholen. Stellen Sie also sicher, dass Sie alles, was Ihnen von Ihrer Firefox-Installation wichtig ist, sichern, insbesondere die omni.ja
Datei.
(Wenn es eine andere Möglichkeit gäbe, hätte ich diese empfohlen, aber meines Wissens ist dies die einzige Möglichkeit, den Hauptschlüsselsatz zu ändern. (Dies kann eine Sicherheitsüberlegung von Mozilla sein, um zu verhindern, dass bösartige Erweiterungen bestimmte Verhaltensweisen missbrauchen.))
Dazu habe ich zunächst das neueste 7zip installiert mit demNinite-Installationsprogramm. Dann bin ich zum browser
Unterverzeichnis des Firefox-Installationsverzeichnisses navigiert, in meinem Fall C:\Program Files\Mozilla Firefox\browser
. Dann habe ich 7zip verwendet, um es omni.ja
an einen anderen Ort zu entpacken.
Anschließend omni
habe ich die Datei im neu entpackten Verzeichnis geändert chrome\browser\content\browser\browser.xhtml
. Hier ist der Unterschied der von mir vorgenommenen Änderungen:
--- 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>
Wie Sie sehen, habe ich den key
Eintrag für entfernt key_viewSource
und einen Verweis auf diesen key
Eintrag in einem menuItem
Eintrag entfernt. Außerdem habe ich die Einträge key_selectTab[1-8]
und entfernt key_selectLastTab
key
.
Nachdem Sie dies getan haben, ist es nun an der Zeit, es wieder zu komprimieren. Navigieren Sie zur obersten Ebene von omni
, wählen Sie den gesamten Inhalt aus, klicken Sie mit der rechten Maustaste, wählen Sie 7-zip und „Zum Archiv hinzufügen“.
Legen Sie den Namen für das neue Archiv auf omni.ja
, das Format auf zip
und die Komprimierungsstufe auf fest Store
.
Ich habe eine Sicherungskopie der vorhandenen C:\Program Files\Mozilla Firefox\browser\omni.ja
Datei erstellt und sie dann omni.ja
durch meine geänderte Datei ersetzt.
Öffnen Sie abschließend ein cmd
Fenster und öffnen Sie Firefox mit --purgecaches
, zB C:\Program Files\Mozilla Firefox\firefox.exe --purgecaches
.
An diesem Punkt öffnet sich Firefox für mich, Ctrl-U
zeigt die Quelle nicht mehr an und Ctrl-[1-9]
wählt keine Tabs mehr aus. Erfolg!
Für Linux-Benutzer: Anstelle von 7zip können Sie einfach Folgendes tun:
[gnubeard@mothership: ~]$ mkdir tmp
[gnubeard@mothership: ~]$ cd tmp
[gnubeard@mothership: ~/tmp]$ unzip ../omni.ja
Nehmen Sie die entsprechenden Änderungen vor und gehen Sie dann wie folgt vor:
[gnubeard@mothership: ~/tmp]$ zip -qr0XD ../omni.ja *
Vergessen Sie nicht, firefox --purgecaches
zum Neuladen zu laufen omni.ja
.
Die Links, die ich am Ende dieses Beitrags einfüge, erwähnen die Verwendung von zip -qr9XD
, aber ich glaube, dadurch wird die Komprimierungsstufe auf das Maximum gesetzt, und damit dies funktioniert, darf meines Erachtens die ZIP-Komprimierung nicht aktiviert werden (wenn Sie dies lesen und anderer Meinung sind, korrigieren Sie mich bitte).
Ich habe dies zusammengestellt, um speziell auf die in der Frage ( Ctrl-U
, Ctrl-[1-9]
) aufgeführten Bedenken einzugehen, aber ich denke, diessollenArbeiten Sie daran, alle Tastenkombinationen im Haupttastensatz zu entfernen. Sie finden sie alle in browser.xhtml
.
(EDIT: Ich glaube, ich habe im Laufe meiner Recherche die ursprüngliche Frage mit einer anderen verwechselt, die ich gefunden habe und die deaktivieren wollte Ctrl-U
. Wenn Sie diese Verknüpfung nicht deaktivieren möchten, lassen Sie die viewSource
von mir vorgenommenen Löschungen einfach weg.)
Links:
http://shallowsky.com/blog/tech/web/modifying-omni.ja.html
Dieses wurde vorbrowser.xul
wurde umbenannt inbrowser.xhtml
, und der sed
empfohlene Befehl funktioniert browser.xhtml
aufgrund der Formatänderung leider nicht mehr.
http://forums.mozillazine.org/viewtopic.php?f=27&t=3025663
So habe ich die --purgecaches
Option entdeckt – das Googeln war länger als erwartet.
https://mike.kaply.com/2013/05/06/dont-unpack-and-repack-omni-jar/
Mike Kaply empfahl vor 7 Jahren,niemand macht das. Es wäre durchaus möglich, den gewünschten Effekt zu erzielen, indem man die Keyset-Einträge von omni.ja irgendwie überschreibt, anstatt sie zu ändern, aber wenn das so ist, konnte ich keine Dokumentation dazu finden.
https://developer.mozilla.org/en-US/docs/Archive/Mozilla/XUL/Tutorial/Keyboard_Shortcuts
Veraltete Dokumentation zu XUL. Interessant zu lesen, hat mir aber nicht direkt dabei geholfen, dies zu erreichen.