/* https://forum.mozilla-russia.org/viewtopic.php?pid=786926#p786926 */ (this.keyboardshortcuts = { get clipboardHelp() { delete this.clipboardHelp; return this.clipboardHelp = Cc["@mozilla.org/widget/clipboardhelper;1"] .getService(Ci.nsIClipboardHelper); }, get insertText() { return docShell.isCommandEnabled("cmd_insertText"); }, init(that) { var keydown = { /* "Digit1": { "false_false_false": (e) => { // 1 if (this.insertText) return; e.preventDefault(); duplicateTabIn(gBrowser.selectedTab, "tab"); } }, "Digit2": { "false_false_false": (e) => { // 2 if (this.insertText) return; e.preventDefault(); BrowserPageInfo(); } }, "Digit3": { "false_false_false": (e) => { // 3 if (this.insertText) return; e.preventDefault(); openPreferences(); } }, "KeyV": { "true_false_false": (e) => { // Ctrl+V if (this.insertText) return; e.preventDefault(); this.clipboardHelp.copyString(gURLBar.makeURIReadable(gBrowser.selectedBrowser.currentURI).displaySpec); showBrowserPageActionFeedback(PageActions.actionForID("copyURL")); } }, "Escape": { "false_false_false": (e) => { // Escape if (this.insertText) return; e.preventDefault(); gBrowser.removeCurrentTab(); } }, */ "KeyF": { "true_false_false": (e) => { // Ctrl+F // if (this.insertText) return; if (window.gFindBarInitialized && !gFindBar.hidden) { e.preventDefault(); gFindBar.close?.(); } } }, "F4": { "false_false_false": (e) => { // F4 // if (this.insertText) return; e.preventDefault(); SidebarUI.toggle("viewBookmarksSidebar"); } }, handleEvent(e) { if (AppConstants.platform != "macosx") { (this.handleEvent = e => { this[e.code]?.[`${e.ctrlKey}_${e.altKey}_${e.shiftKey}`]?.(e); })(e); return; } (this.handleEvent = e => { this[e.code]?.[`${e.metaKey}_${e.altKey}_${e.shiftKey}`]?.(e); })(e); }, }; document.addEventListener("keydown", keydown, true); this.destructor = () => document.removeEventListener("keydown", keydown, true); that.unloadlisteners.push("keyboardshortcuts"); }, }).init(this); |