Firefox: изменить / отключить конфигурацию сочетаний клавиш по умолчанию

Я установил надстройку Keyconfig и настроил ее на переключение автономного режима в Firefox при каждом нажатии Ctrl + Shift + O, Он отлично работал на предыдущих версиях Firefox (до версии 28.0).

Однако теперь, когда у меня открыта панель инструментов разработчика, нажмите Ctrl + Shift + O заставляет панель переключаться на вкладку Параметры панели инструментов, и, следовательно, моя опция "переключить в автономный режим" не срабатывает. (Это происходит только тогда, когда клавиатура "сфокусирована" на панели инструментов разработчика; если я на самом деле работаю над веб-страницей (то есть, какой-то элемент веб-страницы находится в фокусе), Ctrl + Shift + O всегда работает независимо от того, открыта ли панель инструментов разработчика или нет.)

Я не думаю, что плагин или надстройка помогут в этом отношении, потому что Ctrl + Shift + O назначение ярлыков является частью панели инструментов разработчика Firefox. (В конце концов, Keyconfig, с помощью которого я настроил этот ярлык, также является дополнением!)

Таким образом, я ищу возможный способ изменить конфигурации панели инструментов Developer Tools (или, собственно, самого Firefox), чтобы восстановить контроль над сочетанием клавиш Ctrl + Shift + O, (Ну, я знаю, что было бы проще изменить свой ярлык на другой, но я так привык нажимать Ctrl + Shift + O при необходимости я не могу избавиться от этого сейчас.:)) Я долго искал проблему в Интернете, но все еще не мог найти удовлетворительного решения.

Любые идеи / предложения высоко ценятся.

5 ответов

Решение

Расширения, которые вы можете использовать с Firefox Quantum: Saka Key, Shortkeys

Однако любое расширение кажется ограниченным и не работает в различных ситуациях:

  • привилегированные страницы, такие как https://addons.mozilla.org/
  • страница новой вкладки,
  • внутренние страницы, такие как about: config,about: newtab,about: addons
  • за пределами веб-страницы, например, в строке URL / панели поиска
  • до завершения загрузки страницы

Поэтому время от времени ваши сочетания клавиш перестают работать, и вы можете запустить совершенно другую команду, которая делает что-то плохое. Спасибо, Мозилла.

Кредит: список ограничений был собран из страниц проекта двух расширений.

Сложные варианты, требующие навыков кодирования

  • userChrome.js, например, следующий код для удаления привязки клавиш Ctrl+B. ( Кредит)
var key = document.getElementById('viewBookmarksSidebarKb');
if (key) key.remove();

Пользователи macOS могут настраивать ярлыки любого приложения, если они отображаются в меню приложений.

  1. На Mac выберите меню " Apple" > " Системные настройки", нажмите " Клавиатура", затем нажмите " Ярлыки".

  2. Слева выберите Ярлыки приложений, нажмите кнопку Добавить

  3. В поле Название меню введите команду меню, для которой вы хотите создать ярлык.

Подробнее на сайте Apple: https://support.apple.com/guide/mac-help/create-keyboard-shortcuts-for-apps-mchlp2271/mac

Однако вы не можете отключить их, вы можете просто переопределить их.

Вся заслуга принадлежит этому ответу на stackoverflow. Это отключает только указанную встроенную команду.

Не забудьте заменитьFirefox64для/usr/lib/firefoxесли под Linux (и обратная косая черта тоже).

Добавьте эти файлы в указанный каталог.

Firefox64\defaults\pref\config-prefs.js

      pref("general.config.filename", "config.js");    
pref("general.config.obscure_value", 0);  
pref("general.config.sandbox_enabled", false); 

Firefox64\config.js

      let { classes: Cc, interfaces: Ci, manager: Cm  } = Components;
const {Services} = Components.utils.import('resource://gre/modules/Services.jsm');
function ConfigJS() { Services.obs.addObserver(this, 'chrome-document-global-created', false); }
ConfigJS.prototype = {
 observe: function (aSubject) { aSubject.addEventListener('DOMContentLoaded', this, {once: true}); },
 handleEvent: function (aEvent) {
   let document = aEvent.originalTarget; let window = document.defaultView; let location = window.location;
   if (/^(chrome:(?!\/\/(global\/content\/commonDialog|browser\/content\/webext-panels)\.x?html)|about:(?!blank))/i.test(location.href)) {
     if (window._gBrowser) {
       // there are lots of built-in commands specified in this variable, pick desired ones
       let keys = ["key_find", "key_findAgain", "key_findPrevious", "key_gotoHistory", "addBookmarkAsKb", "bookmarkAllTabsKb", "showAllHistoryKb", "manBookmarkKb", "viewBookmarksToolbarKb", "key_savePage", "key_search", "key_search2", "focusURLBar", "focusURLBar2", "key_openDownloads", "openFileKb", "key_reload_skip_cache", "key_viewSource", "key_viewInfo", "key_privatebrowsing", "key_quitApplication", "context-bookmarklink"];
       for (var i=0; i < keys.length; i++) {
          let keyCommand = window.document.getElementById(keys[i]);
          if (keyCommand != undefined) { 
             keyCommand.removeAttribute("command"); 
             keyCommand.removeAttribute("key"); 
             keyCommand.removeAttribute("modifiers"); 
             keyCommand.removeAttribute("oncommand"); 
             keyCommand.removeAttribute("data-l10n-id"); 
          }
       }
     }
   }
 }
};
if (!Services.appinfo.inSafeMode) { new ConfigJS(); }

Вы можете получить список идентификаторов ключей из источника, введя следующий URL-адрес в свой браузер.

      view-source:chrome://browser/content/browser.xhtml

Протестировано и работает на Firefox 108 под Linux (вероятно, и под Windows).

Время обновить ответ. Официальная страница поддержки теперь достаточно хороша и также указывает на новое расширение для настройки ярлыков на клавиатуре под названием Saka, которое является экспериментальным, но довольно официальным и отлично работает для меня (Firefox 60 для разработчиков / Ubuntu Linux)

Фактически настраиваемое расширение ярлыков способно изменять ярлыки Firefox (и потенциально отображать конфликты); Вы должны попробовать.

Однако я все еще ищу решение без расширения и возможность полностью отключить ярлыки...

редактировать

Как заметил Louis, customizable-shortcuts дополнение было прекращено (около 2016/2017). Те же самые функции теперь можно найти в аддоне ярлыков ( GitHub).

Другие вопросы по тегам