Created
October 21, 2014 14:33
-
-
Save NaokiKuzumi/0d6b3f14d0130a964dfe to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// ========================== KeySnail Init File =========================== // | |
// この領域は, GUI により設定ファイルを生成した際にも引き継がれます | |
// 特殊キー, キーバインド定義, フック, ブラックリスト以外のコードは, この中に書くようにして下さい | |
// ========================================================================= // | |
//{{%PRESERVE% | |
// Put your codes here | |
// Metaplus | |
plugins.options["metaplus.metakeys"] = ["ESC", "C-t"]; | |
// HoK | |
key.setViewKey('e', function (aEvent, aArg) { | |
ext.exec("hok-start-foreground-mode", aArg); | |
}, 'Hok - Foreground hint mode', true); | |
key.setViewKey('E', function (aEvent, aArg) { | |
ext.exec("hok-start-background-mode", aArg); | |
}, 'HoK - Background hint mode', true); | |
key.setViewKey(';', function (aEvent, aArg) { | |
ext.exec("hok-start-extended-mode", aArg); | |
}, 'HoK - Extented hint mode', true); | |
//key.setViewKey(['C-c', 'C-e'], function (aEvent, aArg) { | |
// ext.exec("hok-start-continuous-mode", aArg); | |
//}, 'Start continuous HaH', true); | |
// Site local keymap | |
var local = {}; | |
plugins.options["site_local_keymap.local_keymap"] = local; | |
function fake(k, i) function () {}; | |
local["^https?://github.com/*"] = [ | |
]; | |
// Tanything | |
key.setViewKey("a", function (ev, arg) { | |
ext.exec("tanything", arg); | |
}, "view all tabs", true); | |
plugins.options["tanything_opt.keymap"] = { | |
"C-z" : "prompt-toggle-edit-mode", | |
"SPC" : "prompt-next-page", | |
"b" : "prompt-previous-page", | |
"j" : "prompt-next-completion", | |
"k" : "prompt-previous-completion", | |
"g" : "prompt-beginning-of-candidates", | |
"G" : "prompt-end-of-candidates", | |
"D" : "prompt-cancel", | |
// Tanything specific actions | |
"O" : "localOpen", | |
"q" : "localClose", | |
"p" : "localLeftclose", | |
"n" : "localRightclose", | |
"a" : "localAllclose", | |
"d" : "localDomainclose", | |
"c" : "localClipUT", | |
"C" : "localClipU", | |
"e" : "localMovetoend" | |
}; | |
// bmany | |
plugins.options["bmany.default_open_type"] = "tab"; | |
key.setViewKey(['M-b'], function (ev, arg) { | |
ext.exec("bmany-list-all-bookmarks", arg, ev); | |
}, 'bmany - List all bookmarks'); | |
// key.setViewKey([':', 'B'], function (ev, arg) { | |
// ext.exec("bmany-list-bookmarklets", arg, ev); | |
// }, "bmany - List all bookmarklets"); | |
key.setViewKey([':', 'k'], function (ev, arg) { | |
ext.exec("bmany-list-bookmarks-with-keyword", arg, ev); | |
}, "bmany - List bookmarks with keyword"); | |
key.setViewKey([':', 't'], function (ev, arg) { | |
ext.exec("bmany-list-bookmarks-with-tag", arg, ev); | |
}, "bmany - List bookmarks with tag"); | |
key.setViewKey('s', function (ev, arg) { | |
let engines = util.suggest.getEngines(); | |
// If you want to use all available suggest engines, | |
// change suggestEngines value to util.suggest.filterEngines(engines); | |
let suggestEngines = [util.suggest.ss.getEngineByName("Google")]; | |
let collection = engines.map( | |
function (engine)[(engine.iconURI || { | |
spec: "" | |
}).spec, engine.name, engine.description]); | |
prompt.selector({ | |
message: "engine:", | |
collection: collection, | |
flags: [ICON | IGNORE, 0, 0], | |
header: ["Name", "Description"], | |
keymap: { | |
"s": "prompt-decide", | |
"j": "prompt-next-completion", | |
"k": "prompt-previous-completion" | |
}, | |
callback: function (i) { | |
if (i >= 0) util.suggest.searchWithSuggest(engines[i], suggestEngines, "tab"); | |
} | |
}); | |
}, "サジェスト検索", true); | |
//}}%PRESERVE% | |
// ========================================================================= // | |
// ========================= Special key settings ========================== // | |
key.quitKey = "C-g"; | |
key.helpKey = "<f1>"; | |
key.escapeKey = "C-q"; | |
key.macroStartKey = "<f3>"; | |
key.macroEndKey = "<f4>"; | |
key.universalArgumentKey = "C-u"; | |
key.negativeArgument1Key = "<f5>"; | |
key.negativeArgument2Key = "C-M--"; | |
key.negativeArgument3Key = "M--"; | |
key.suspendKey = "<f2>"; | |
// ================================= Hooks ================================= // | |
hook.setHook('KeyBoardQuit', function (aEvent) { | |
if (key.currentKeySequence.length) { | |
return; | |
} | |
command.closeFindBar(); | |
var marked = command.marked(aEvent); | |
if (util.isCaretEnabled()) { | |
if (marked) { | |
command.resetMark(aEvent); | |
} else { | |
if ("blur" in aEvent.target) { | |
aEvent.target.blur(); | |
} | |
gBrowser.focus(); | |
_content.focus(); | |
} | |
} else { | |
goDoCommand("cmd_selectNone"); | |
} | |
if (KeySnail.windowType === "navigator:browser" && !marked) { | |
key.generateKey(aEvent.originalTarget, KeyEvent.DOM_VK_ESCAPE, true); | |
} | |
}); | |
// ============================= Key bindings ============================== // | |
key.setGlobalKey('C-M-r', function (ev) { | |
userscript.reload(); | |
}, 'Reload the initialization file', true); | |
key.setGlobalKey('M-x', function (ev, arg) { | |
ext.select(arg, ev); | |
}, 'List exts and execute selected one', true); | |
key.setGlobalKey('M-:', function (ev) { | |
command.interpreter(); | |
}, 'Command interpreter', true); | |
key.setGlobalKey(['<f1>', 'b'], function (ev) { | |
key.listKeyBindings(); | |
}, 'List all keybindings'); | |
key.setGlobalKey(['<f1>', 'F'], function (ev) { | |
openHelpLink("firefox-help"); | |
}, 'Display Firefox help'); | |
key.setGlobalKey('C-m', function (ev) { | |
key.generateKey(ev.originalTarget, KeyEvent.DOM_VK_RETURN, true); | |
}, 'Generate the return key code'); | |
key.setGlobalKey(['C-x', '1'], function (ev) { | |
window.loadURI(ev.target.ownerDocument.location.href); | |
}, 'Show current frame only', true); | |
key.setGlobalKey(['C-x', 'l'], function (ev) { | |
command.focusToById("urlbar"); | |
}, 'Focus to the location bar', true); | |
key.setGlobalKey(['C-x', 'g'], function (ev) { | |
command.focusToById("searchbar"); | |
}, 'Focus to the search bar', true); | |
key.setGlobalKey(['C-x', 't'], function (ev) { | |
command.focusElement(command.elementsRetrieverTextarea, 0); | |
}, 'Focus to the first textarea', true); | |
key.setGlobalKey(['C-x', 's'], function (ev) { | |
command.focusElement(command.elementsRetrieverButton, 0); | |
}, 'Focus to the first button', true); | |
key.setGlobalKey(['C-x', 'k'], function (ev) { | |
BrowserCloseTabOrWindow(); | |
}, 'Close tab / window'); | |
key.setGlobalKey(['C-x', 'K'], function (ev) { | |
closeWindow(true); | |
}, 'Close the window'); | |
key.setGlobalKey(['C-x', 'n'], function (ev) { | |
OpenBrowserWindow(); | |
}, 'Open new window'); | |
key.setGlobalKey(['C-x', 'C-c'], function (ev) { | |
goQuitApplication(); | |
}, 'Exit Firefox', true); | |
key.setGlobalKey(['C-x', 'o'], function (ev, arg) { | |
// command.focusOtherFrame(arg); | |
getBrowser().mTabContainer.advanceSelectedTab(1, true); | |
}, 'Select next tab'); | |
key.setGlobalKey(['C-x', 'C-f'], function (ev) { | |
BrowserOpenFileWindow(); | |
}, 'Open the local file', true); | |
key.setGlobalKey(['C-x', 'C-s'], function (ev) { | |
saveDocument(window.content.document); | |
}, 'Save current page to the file', true); | |
key.setGlobalKey('M-w', function (ev) { | |
command.copyRegion(ev); | |
}, 'Copy selected text', true); | |
key.setGlobalKey('C-s', function (ev) { | |
command.iSearchForwardKs(ev); | |
}, 'Emacs like incremental search forward', true); | |
key.setGlobalKey('C-r', function (ev) { | |
command.iSearchBackwardKs(ev); | |
}, 'Emacs like incremental search backward', true); | |
key.setGlobalKey(['C-c', 'u'], function (ev) { | |
undoCloseTab(); | |
}, 'Undo closed tab'); | |
key.setGlobalKey(['C-c', 'C-c', 'C-v'], function (ev) { | |
toJavaScriptConsole(); | |
}, 'Display JavaScript console', true); | |
key.setGlobalKey(['C-c', 'C-c', 'C-c'], function (ev) { | |
command.clearConsole(); | |
}, 'Clear Javascript console', true); | |
key.setGlobalKey('C-M-l', function (ev) { | |
getBrowser().mTabContainer.advanceSelectedTab(1, true); | |
}, 'Select next tab'); | |
key.setGlobalKey('C-M-h', function (ev) { | |
getBrowser().mTabContainer.advanceSelectedTab(-1, true); | |
}, 'Select previous tab'); | |
key.setGlobalKey('C-o', function (ev) { | |
BrowserBack(); | |
}, 'Back'); | |
key.setGlobalKey('C-i', function (ev) { | |
BrowserForward(); | |
}, 'Forward'); | |
key.setGlobalKey('C-h', function (ev, arg) { | |
// Put your codes here | |
}, 'disable history shortcut'); | |
key.setViewKey('e', function (aEvent, aArg) { | |
ext.exec("hok-start-foreground-mode", aArg); | |
}, 'Hok - Foreground hint mode', true); | |
key.setViewKey('E', function (aEvent, aArg) { | |
ext.exec("hok-start-background-mode", aArg); | |
}, 'HoK - Background hint mode', true); | |
key.setViewKey(';', function (aEvent, aArg) { | |
ext.exec("hok-start-extended-mode", aArg); | |
}, 'HoK - Extented hint mode', true); | |
key.setViewKey(['C-c', 'C-e'], function (aEvent, aArg) { | |
ext.exec("hok-start-continuous-mode", aArg); | |
}, 'Start continuous HaH', true); | |
key.setViewKey('a', function (ev, arg) { | |
ext.exec("tanything", arg); | |
}, 'view all tabs', true); | |
key.setViewKey('M-b', function (ev, arg) { | |
ext.exec("bmany-list-all-bookmarks", arg, ev); | |
}, 'bmany - List all bookmarks'); | |
key.setViewKey(':', function (ev, arg) { | |
shell.input(null, arg); | |
}, 'List and execute commands', true); | |
key.setViewKey('s', function (ev, arg) { | |
let engines = util.suggest.getEngines(); | |
// If you want to use all available suggest engines, | |
// change suggestEngines value to util.suggest.filterEngines(engines); | |
let suggestEngines = [util.suggest.ss.getEngineByName("Google")]; | |
let collection = engines.map( | |
function (engine)[(engine.iconURI || { | |
spec: "" | |
}).spec, engine.name, engine.description]); | |
prompt.selector({ | |
message: "engine:", | |
collection: collection, | |
flags: [ICON | IGNORE, 0, 0], | |
header: ["Name", "Description"], | |
keymap: { | |
"s": "prompt-decide", | |
"j": "prompt-next-completion", | |
"k": "prompt-previous-completion" | |
}, | |
callback: function (i) { | |
if (i >= 0) util.suggest.searchWithSuggest(engines[i], suggestEngines, "tab"); | |
} | |
}); | |
}, 'サジェスト検索', true); | |
key.setViewKey([['C-n'], ['j']], function (ev) { | |
key.generateKey(ev.originalTarget, KeyEvent.DOM_VK_DOWN, true); | |
}, 'Scroll line down'); | |
key.setViewKey([['C-p'], ['k']], function (ev) { | |
key.generateKey(ev.originalTarget, KeyEvent.DOM_VK_UP, true); | |
}, 'Scroll line up'); | |
key.setViewKey([['C-f'], ['.']], function (ev) { | |
key.generateKey(ev.originalTarget, KeyEvent.DOM_VK_RIGHT, true); | |
}, 'Scroll right'); | |
key.setViewKey([['C-b'], [',']], function (ev) { | |
key.generateKey(ev.originalTarget, KeyEvent.DOM_VK_LEFT, true); | |
}, 'Scroll left'); | |
key.setViewKey([['M-v'], ['b']], function (ev) { | |
goDoCommand("cmd_scrollPageUp"); | |
}, 'Scroll page up'); | |
key.setViewKey('C-v', function (ev) { | |
goDoCommand("cmd_scrollPageDown"); | |
}, 'Scroll page down'); | |
key.setViewKey([['M-<'], ['g']], function (ev) { | |
goDoCommand("cmd_scrollTop"); | |
}, 'Scroll to the top of the page', true); | |
key.setViewKey([['M->'], ['G']], function (ev) { | |
goDoCommand("cmd_scrollBottom"); | |
}, 'Scroll to the bottom of the page', true); | |
key.setViewKey('l', function (ev) { | |
getBrowser().mTabContainer.advanceSelectedTab(1, true); | |
}, 'Select next tab'); | |
key.setViewKey('h', function (ev) { | |
getBrowser().mTabContainer.advanceSelectedTab(-1, true); | |
}, 'Select previous tab'); | |
key.setViewKey('R', function (ev) { | |
BrowserReload(); | |
}, 'Reload the page', true); | |
key.setViewKey('B', function (ev) { | |
BrowserBack(); | |
}, 'Back'); | |
key.setViewKey('F', function (ev) { | |
BrowserForward(); | |
}, 'Forward'); | |
key.setViewKey(['C-x', 'h'], function (ev) { | |
goDoCommand("cmd_selectAll"); | |
}, 'Select all', true); | |
key.setViewKey('f', function (ev) { | |
command.focusElement(command.elementsRetrieverTextarea, 0); | |
}, 'Focus to the first textarea', true); | |
key.setViewKey('M-p', function (ev) { | |
command.walkInputElement(command.elementsRetrieverButton, true, true); | |
}, 'Focus to the next button'); | |
key.setViewKey('M-n', function (ev) { | |
command.walkInputElement(command.elementsRetrieverButton, false, true); | |
}, 'Focus to the previous button'); | |
key.setEditKey(['C-x', 'h'], function (ev) { | |
command.selectAll(ev); | |
}, 'Select whole text', true); | |
key.setEditKey([['C-x', 'u'], ['C-_']], function (ev) { | |
display.echoStatusBar("Undo!", 2000); | |
goDoCommand("cmd_undo"); | |
}, 'Undo'); | |
key.setEditKey(['C-x', 'r', 'd'], function (ev, arg) { | |
command.replaceRectangle(ev.originalTarget, "", false, !arg); | |
}, 'Delete text in the region-rectangle', true); | |
key.setEditKey(['C-x', 'r', 't'], function (ev) { | |
prompt.read("String rectangle: ", function (aStr, aInput) {command.replaceRectangle(aInput, aStr);}, ev.originalTarget); | |
}, 'Replace text in the region-rectangle with user inputted string', true); | |
key.setEditKey(['C-x', 'r', 'o'], function (ev) { | |
command.openRectangle(ev.originalTarget); | |
}, 'Blank out the region-rectangle, shifting text right', true); | |
key.setEditKey(['C-x', 'r', 'k'], function (ev, arg) { | |
command.kill.buffer = command.killRectangle(ev.originalTarget, !arg); | |
}, 'Delete the region-rectangle and save it as the last killed one', true); | |
key.setEditKey(['C-x', 'r', 'y'], function (ev) { | |
command.yankRectangle(ev.originalTarget, command.kill.buffer); | |
}, 'Yank the last killed rectangle with upper left corner at point', true); | |
key.setEditKey([['C-SPC'], ['C-@']], function (ev) { | |
command.setMark(ev); | |
}, 'Set the mark', true); | |
key.setEditKey('C-o', function (ev) { | |
command.openLine(ev); | |
}, 'Open line'); | |
key.setEditKey('C-\\', function (ev) { | |
display.echoStatusBar("Redo!", 2000); | |
goDoCommand("cmd_redo"); | |
}, 'Redo'); | |
key.setEditKey('C-a', function (ev) { | |
command.beginLine(ev); | |
}, 'Beginning of the line'); | |
key.setEditKey('C-e', function (ev) { | |
command.endLine(ev); | |
}, 'End of the line'); | |
key.setEditKey('C-f', function (ev) { | |
command.nextChar(ev); | |
}, 'Forward char'); | |
key.setEditKey('C-b', function (ev) { | |
command.previousChar(ev); | |
}, 'Backward char'); | |
key.setEditKey('M-f', function (ev) { | |
command.forwardWord(ev); | |
}, 'Next word'); | |
key.setEditKey('M-b', function (ev) { | |
command.backwardWord(ev); | |
}, 'Previous word'); | |
key.setEditKey('C-n', function (ev) { | |
command.nextLine(ev); | |
}, 'Next line'); | |
key.setEditKey('C-p', function (ev) { | |
command.previousLine(ev); | |
}, 'Previous line'); | |
key.setEditKey('C-v', function (ev) { | |
command.pageDown(ev); | |
}, 'Page down'); | |
key.setEditKey('M-v', function (ev) { | |
command.pageUp(ev); | |
}, 'Page up'); | |
key.setEditKey('M-<', function (ev) { | |
command.moveTop(ev); | |
}, 'Beginning of the text area'); | |
key.setEditKey('M->', function (ev) { | |
command.moveBottom(ev); | |
}, 'End of the text area'); | |
key.setEditKey('C-d', function (ev) { | |
goDoCommand("cmd_deleteCharForward"); | |
}, 'Delete forward char'); | |
key.setEditKey('C-h', function (ev) { | |
goDoCommand("cmd_deleteCharBackward"); | |
}, 'Delete backward char'); | |
key.setEditKey('M-d', function (ev) { | |
command.deleteForwardWord(ev); | |
}, 'Delete forward word'); | |
key.setEditKey([['C-<backspace>'], ['M-<delete>']], function (ev) { | |
command.deleteBackwardWord(ev); | |
}, 'Delete backward word'); | |
key.setEditKey('M-u', function (ev, arg) { | |
command.wordCommand(ev, arg, command.upcaseForwardWord, command.upcaseBackwardWord); | |
}, 'Convert following word to upper case'); | |
key.setEditKey('M-l', function (ev, arg) { | |
command.wordCommand(ev, arg, command.downcaseForwardWord, command.downcaseBackwardWord); | |
}, 'Convert following word to lower case'); | |
key.setEditKey('M-c', function (ev, arg) { | |
command.wordCommand(ev, arg, command.capitalizeForwardWord, command.capitalizeBackwardWord); | |
}, 'Capitalize the following word'); | |
key.setEditKey('C-k', function (ev) { | |
command.killLine(ev); | |
}, 'Kill the rest of the line'); | |
key.setEditKey('C-y', command.yank, 'Paste (Yank)'); | |
key.setEditKey('M-y', command.yankPop, 'Paste pop (Yank pop)', true); | |
key.setEditKey('C-M-y', function (ev) { | |
if (!command.kill.ring.length) { | |
return; | |
} | |
let (ct = command.getClipboardText()) (!command.kill.ring.length || ct != command.kill.ring[0]) && | |
command.pushKillRing(ct); | |
prompt.selector({message: "Paste:", collection: command.kill.ring, callback: function (i) {if (i >= 0) {key.insertText(command.kill.ring[i]);}}}); | |
}, 'Show kill-ring and select text to paste', true); | |
key.setEditKey('C-w', function (ev) { | |
goDoCommand("cmd_copy"); | |
goDoCommand("cmd_delete"); | |
command.resetMark(ev); | |
}, 'Cut current region', true); | |
key.setEditKey('M-n', function (ev) { | |
command.walkInputElement(command.elementsRetrieverTextarea, true, true); | |
}, 'Focus to the next text area'); | |
key.setEditKey('M-p', function (ev) { | |
command.walkInputElement(command.elementsRetrieverTextarea, false, true); | |
}, 'Focus to the previous text area'); | |
key.setCaretKey([['C-a'], ['^']], function (ev) { | |
ev.target.ksMarked ? goDoCommand("cmd_selectBeginLine") : goDoCommand("cmd_beginLine"); | |
}, 'Move caret to the beginning of the line'); | |
key.setCaretKey([['C-e'], ['$'], ['M->'], ['G']], function (ev) { | |
ev.target.ksMarked ? goDoCommand("cmd_selectEndLine") : goDoCommand("cmd_endLine"); | |
}, 'Move caret to the end of the line'); | |
key.setCaretKey([['C-n'], ['j']], function (ev) { | |
ev.target.ksMarked ? goDoCommand("cmd_selectLineNext") : goDoCommand("cmd_scrollLineDown"); | |
}, 'Move caret to the next line'); | |
key.setCaretKey([['C-p'], ['k']], function (ev) { | |
ev.target.ksMarked ? goDoCommand("cmd_selectLinePrevious") : goDoCommand("cmd_scrollLineUp"); | |
}, 'Move caret to the previous line'); | |
key.setCaretKey([['C-f'], ['l']], function (ev) { | |
ev.target.ksMarked ? goDoCommand("cmd_selectCharNext") : goDoCommand("cmd_scrollRight"); | |
}, 'Move caret to the right'); | |
key.setCaretKey([['C-b'], ['h'], ['C-h']], function (ev) { | |
ev.target.ksMarked ? goDoCommand("cmd_selectCharPrevious") : goDoCommand("cmd_scrollLeft"); | |
}, 'Move caret to the left'); | |
key.setCaretKey([['M-f'], ['w']], function (ev) { | |
ev.target.ksMarked ? goDoCommand("cmd_selectWordNext") : goDoCommand("cmd_wordNext"); | |
}, 'Move caret to the right by word'); | |
key.setCaretKey([['M-b'], ['W']], function (ev) { | |
ev.target.ksMarked ? goDoCommand("cmd_selectWordPrevious") : goDoCommand("cmd_wordPrevious"); | |
}, 'Move caret to the left by word'); | |
key.setCaretKey([['C-v'], ['SPC']], function (ev) { | |
ev.target.ksMarked ? goDoCommand("cmd_selectPageNext") : goDoCommand("cmd_movePageDown"); | |
}, 'Move caret down by page'); | |
key.setCaretKey([['M-v'], ['b']], function (ev) { | |
ev.target.ksMarked ? goDoCommand("cmd_selectPagePrevious") : goDoCommand("cmd_movePageUp"); | |
}, 'Move caret up by page'); | |
key.setCaretKey([['M-<'], ['g']], function (ev) { | |
ev.target.ksMarked ? goDoCommand("cmd_selectTop") : goDoCommand("cmd_scrollTop"); | |
}, 'Move caret to the top of the page'); | |
key.setCaretKey('J', function (ev) { | |
util.getSelectionController().scrollLine(true); | |
}, 'Scroll line down'); | |
key.setCaretKey('K', function (ev) { | |
util.getSelectionController().scrollLine(false); | |
}, 'Scroll line up'); | |
key.setCaretKey(',', function (ev) { | |
util.getSelectionController().scrollHorizontal(true); | |
goDoCommand("cmd_scrollLeft"); | |
}, 'Scroll left'); | |
key.setCaretKey('.', function (ev) { | |
goDoCommand("cmd_scrollRight"); | |
util.getSelectionController().scrollHorizontal(false); | |
}, 'Scroll right'); | |
key.setCaretKey('z', function (ev) { | |
command.recenter(ev); | |
}, 'Scroll to the cursor position'); | |
key.setCaretKey([['C-SPC'], ['C-@']], function (ev) { | |
command.setMark(ev); | |
}, 'Set the mark', true); | |
key.setCaretKey(':', function (ev, arg) { | |
shell.input(null, arg); | |
}, 'List and execute commands', true); | |
key.setCaretKey('R', function (ev) { | |
BrowserReload(); | |
}, 'Reload the page', true); | |
key.setCaretKey('B', function (ev) { | |
BrowserBack(); | |
}, 'Back'); | |
key.setCaretKey('F', function (ev) { | |
BrowserForward(); | |
}, 'Forward'); | |
key.setCaretKey(['C-x', 'h'], function (ev) { | |
goDoCommand("cmd_selectAll"); | |
}, 'Select all', true); | |
key.setCaretKey('f', function (ev) { | |
command.focusElement(command.elementsRetrieverTextarea, 0); | |
}, 'Focus to the first textarea', true); | |
key.setCaretKey('M-p', function (ev) { | |
command.walkInputElement(command.elementsRetrieverButton, true, true); | |
}, 'Focus to the next button'); | |
key.setCaretKey('M-n', function (ev) { | |
command.walkInputElement(command.elementsRetrieverButton, false, true); | |
}, 'Focus to the previous button'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment