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();
Напишите свой собственный JS, см. Код внизу
var _mappings = {
(и вставьте его в [Browser Console] после запуска Firefox)Бинарный взлом Firefox (перезапускайте скрипт взлома после каждого обновления Firefox)
Пользователи macOS могут настраивать ярлыки любого приложения, если они отображаются в меню приложений.
На Mac выберите меню " Apple" > " Системные настройки", нажмите " Клавиатура", затем нажмите " Ярлыки".
Слева выберите Ярлыки приложений, нажмите кнопку Добавить
- В поле Название меню введите команду меню, для которой вы хотите создать ярлык.
Подробнее на сайте 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).