gecko/dom/xbl/builtin/emacs/platformHTMLBindings.xml

238 lines
13 KiB
XML

<?xml version="1.0"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<bindings id="htmlBindings"
xmlns="http://www.mozilla.org/xbl"
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<binding id="inputFields" bindToUntrustedContent="true">
<handlers>
#include ../input-fields-base.inc
<!-- Emacsish single-line motion and delete keys -->
<handler event="keypress" key="a" modifiers="control"
command="cmd_beginLine"/>
<handler event="keypress" key="e" modifiers="control"
command="cmd_endLine"/>
<handler event="keypress" key="b" modifiers="control"
command="cmd_charPrevious"/>
<handler event="keypress" key="f" modifiers="control"
command="cmd_charNext"/>
<handler event="keypress" key="h" modifiers="control"
command="cmd_deleteCharBackward"/>
<handler event="keypress" key="d" modifiers="control"
command="cmd_deleteCharForward"/>
<handler event="keypress" key="w" modifiers="control"
command="cmd_deleteWordBackward"/>
<handler event="keypress" key="u" modifiers="control"
command="cmd_deleteToBeginningOfLine"/>
<handler event="keypress" key="k" modifiers="control"
command="cmd_deleteToEndOfLine"/>
<!-- Alternate Windows copy/paste/undo/redo keys -->
<handler event="keypress" keycode="VK_DELETE" modifiers="shift"
command="cmd_cutOrDelete"/>
<handler event="keypress" keycode="VK_DELETE" modifiers="control"
command="cmd_copyOrDelete"/>
<handler event="keypress" keycode="VK_INSERT" modifiers="control"
command="cmd_copy"/>
<handler event="keypress" keycode="VK_INSERT" modifiers="shift"
command="cmd_paste"/>
<!-- navigating by word keys -->
<handler event="keypress" keycode="VK_HOME"
command="cmd_beginLine"/>
<handler event="keypress" keycode="VK_END"
command="cmd_endLine"/>
<handler event="keypress" keycode="VK_HOME" modifiers="shift"
command="cmd_selectBeginLine"/>
<handler event="keypress" keycode="VK_END" modifiers="shift"
command="cmd_selectEndLine"/>
<handler event="keypress" keycode="VK_HOME" modifiers="control"
command="cmd_beginLine"/>
<handler event="keypress" keycode="VK_END" modifiers="control"
command="cmd_endLine"/>
<handler event="keypress" keycode="VK_HOME" modifiers="control,shift"
command="cmd_selectBeginLine"/>
<handler event="keypress" keycode="VK_END" modifiers="control,shift"
command="cmd_selectEndLine"/>
<handler event="keypress" keycode="VK_BACK" modifiers="control"
command="cmd_deleteWordBackward"/>
<handler event="keypress" keycode="VK_LEFT" modifiers="control"
command="cmd_wordPrevious"/>
<handler event="keypress" keycode="VK_RIGHT" modifiers="control"
command="cmd_wordNext"/>
<handler event="keypress" keycode="VK_LEFT" modifiers="shift,control"
command="cmd_selectWordPrevious"/>
<handler event="keypress" keycode="VK_RIGHT" modifiers="shift,control"
command="cmd_selectWordNext"/>
<handler event="keypress" key="y" modifiers="accel"
command="cmd_redo"/>
<handler event="keypress" key="a" modifiers="alt"
command="cmd_selectAll"/>
</handlers>
</binding>
<binding id="textAreas" bindToUntrustedContent="true">
<handlers>
#include ../textareas-base.inc
<!-- Emacsish single-line motion and delete keys -->
<handler event="keypress" key="a" modifiers="control"
command="cmd_beginLine"/>
<handler event="keypress" key="e" modifiers="control"
command="cmd_endLine"/>
<handler event="keypress" id="key_left" key="b" modifiers="control"
command="cmd_charPrevious"/>
<handler event="keypress" id="key_right" key="f" modifiers="control"
command="cmd_charNext"/>
<handler event="keypress" id="key_delback" key="h" modifiers="control"
command="cmd_deleteCharBackward"/>
<handler event="keypress" id="key_delforw" key="d" modifiers="control"
command="cmd_deleteCharForward"/>
<handler event="keypress" id="key_delwback" key="w" modifiers="control"
command="cmd_deleteWordBackward"/>
<handler event="keypress" id="key_del_bol" key="u" modifiers="control"
command="cmd_deleteToBeginningOfLine"/>
<handler event="keypress" id="key_del_eol" key="k" modifiers="control"
command="cmd_deleteToEndOfLine"/>
<!-- Alternate Windows copy/paste/undo/redo keys -->
<handler event="keypress" keycode="VK_DELETE" modifiers="shift"
command="cmd_cutOrDelete"/>
<handler event="keypress" keycode="VK_DELETE" modifiers="control"
command="cmd_copyOrDelete"/>
<handler event="keypress" keycode="VK_INSERT" modifiers="control"
command="cmd_copy"/>
<handler event="keypress" keycode="VK_INSERT" modifiers="shift"
command="cmd_paste"/>
<!-- Emacsish multi-line motion and delete keys -->
<handler event="keypress" id="key_linedown" key="n" modifiers="control"
command="cmd_lineNext"/>
<handler event="keypress" id="key_lineup" key="p" modifiers="control"
command="cmd_linePrevious"/>
<!-- handle home/end/arrow keys and redo -->
<handler event="keypress" keycode="VK_HOME"
command="cmd_beginLine"/>
<handler event="keypress" keycode="VK_END"
command="cmd_endLine"/>
<handler event="keypress" keycode="VK_HOME" modifiers="shift"
command="cmd_selectBeginLine"/>
<handler event="keypress" keycode="VK_END" modifiers="shift"
command="cmd_selectEndLine"/>
<handler event="keypress" keycode="VK_HOME" modifiers="control"
command="cmd_moveTop"/>
<handler event="keypress" keycode="VK_END" modifiers="control"
command="cmd_moveBottom"/>
<handler event="keypress" keycode="VK_HOME" modifiers="shift,control"
command="cmd_selectTop"/>
<handler event="keypress" keycode="VK_END" modifiers="shift,control"
command="cmd_selectBottom"/>
<handler event="keypress" keycode="VK_PAGE_UP"
command="cmd_movePageUp"/>
<handler event="keypress" keycode="VK_PAGE_DOWN"
command="cmd_movePageDown"/>
<handler event="keypress" keycode="VK_PAGE_UP" modifiers="shift"
command="cmd_selectPageUp"/>
<handler event="keypress" keycode="VK_PAGE_DOWN" modifiers="shift"
command="cmd_selectPageDown"/>
<handler event="keypress" keycode="VK_LEFT" modifiers="control"
command="cmd_wordPrevious"/>
<handler event="keypress" keycode="VK_RIGHT" modifiers="control"
command="cmd_wordNext"/>
<handler event="keypress" keycode="VK_LEFT" modifiers="shift,control"
command="cmd_selectWordPrevious"/>
<handler event="keypress" keycode="VK_RIGHT" modifiers="shift,control"
command="cmd_selectWordNext"/>
<handler event="keypress" keycode="VK_BACK" modifiers="control"
command="cmd_deleteWordBackward"/>
<handler event="keypress" key="y" modifiers="accel"
command="cmd_redo"/>
<handler event="keypress" key="a" modifiers="alt"
command="cmd_selectAll"/>
</handlers>
</binding>
<binding id="browser">
<handlers>
#include ../browser-base.inc
<handler event="keypress" keycode="VK_PAGE_UP" command="cmd_movePageUp"/>
<handler event="keypress" keycode="VK_PAGE_DOWN" command="cmd_movePageDown"/>
<handler event="keypress" keycode="VK_PAGE_UP" modifiers="shift" command="cmd_selectPageUp"/>
<handler event="keypress" keycode="VK_PAGE_DOWN" modifiers="shift" command="cmd_selectPageDown"/>
<handler event="keypress" keycode="VK_DELETE" modifiers="shift" command="cmd_cut" />
<handler event="keypress" keycode="VK_DELETE" modifiers="control" command="cmd_copy" />
<handler event="keypress" keycode="VK_INSERT" modifiers="control" command="cmd_copy" />
<handler event="keypress" keycode="VK_HOME" command="cmd_beginLine"/>
<handler event="keypress" keycode="VK_END" command="cmd_endLine"/>
<handler event="keypress" keycode="VK_HOME" modifiers="control" command="cmd_moveTop"/>
<handler event="keypress" keycode="VK_END" modifiers="control" command="cmd_moveBottom"/>
<handler event="keypress" keycode="VK_HOME" modifiers="shift,control" command="cmd_selectTop" />
<handler event="keypress" keycode="VK_END" modifiers="shift,control" command="cmd_selectBottom" />
<handler event="keypress" keycode="VK_LEFT" modifiers="control" command="cmd_wordPrevious" />
<handler event="keypress" keycode="VK_RIGHT" modifiers="control" command="cmd_wordNext" />
<handler event="keypress" keycode="VK_LEFT" modifiers="control,shift" command="cmd_selectWordPrevious" />
<handler event="keypress" keycode="VK_RIGHT" modifiers="control,shift" command="cmd_selectWordNext" />
<handler event="keypress" keycode="VK_LEFT" modifiers="shift" command="cmd_selectCharPrevious" />
<handler event="keypress" keycode="VK_RIGHT" modifiers="shift" command="cmd_selectCharNext" />
<handler event="keypress" keycode="VK_HOME" modifiers="shift" command="cmd_selectBeginLine" />
<handler event="keypress" keycode="VK_END" modifiers="shift" command="cmd_selectEndLine" />
<handler event="keypress" keycode="VK_UP" modifiers="shift" command="cmd_selectLinePrevious" />
<handler event="keypress" keycode="VK_DOWN" modifiers="shift" command="cmd_selectLineNext" />
<handler event="keypress" key="a" modifiers="alt" command="cmd_selectAll"/>
</handlers>
</binding>
<binding id="editor">
<handlers>
#include ../editor-base.inc
<handler event="keypress" key="h" modifiers="control" command="cmd_deleteCharBackward"/>
<handler event="keypress" key="d" modifiers="control" command="cmd_deleteCharForward"/>
<handler event="keypress" key="k" modifiers="control" command="cmd_deleteToEndOfLine"/>
<handler event="keypress" key="u" modifiers="control" command="cmd_deleteToBeginningOfLine"/>
<handler event="keypress" key="a" modifiers="control" command="cmd_beginLine"/>
<handler event="keypress" key="e" modifiers="control" command="cmd_endLine"/>
<handler event="keypress" key="b" modifiers="control" command="cmd_charPrevious"/>
<handler event="keypress" key="f" modifiers="control" command="cmd_charNext"/>
<handler event="keypress" key="p" modifiers="control" command="cmd_linePrevious"/>
<handler event="keypress" key="n" modifiers="control" command="cmd_lineNext"/>
<handler event="keypress" key="x" modifiers="control" command="cmd_cut"/>
<handler event="keypress" key="c" modifiers="control" command="cmd_copy"/>
<handler event="keypress" key="v" modifiers="control" command="cmd_paste"/>
<handler event="keypress" key="z" modifiers="control" command="cmd_undo"/>
<handler event="keypress" key="y" modifiers="accel" command="cmd_redo"/>
<handler event="keypress" key="a" modifiers="alt" command="cmd_selectAll"/>
<handler event="keypress" keycode="VK_DELETE" modifiers="shift" command="cmd_cutOrDelete"/>
<handler event="keypress" keycode="VK_DELETE" modifiers="control" command="cmd_copyOrDelete"/>
<handler event="keypress" keycode="VK_INSERT" modifiers="control" command="cmd_copy"/>
<handler event="keypress" keycode="VK_INSERT" modifiers="shift" command="cmd_paste"/>
<handler event="keypress" keycode="VK_LEFT" modifiers="control" command="cmd_wordPrevious"/>
<handler event="keypress" keycode="VK_RIGHT" modifiers="control" command="cmd_wordNext"/>
<handler event="keypress" keycode="VK_LEFT" modifiers="shift,control" command="cmd_selectWordPrevious"/>
<handler event="keypress" keycode="VK_RIGHT" modifiers="shift,control" command="cmd_selectWordNext"/>
<handler event="keypress" keycode="VK_BACK" modifiers="control" command="cmd_deleteWordBackward"/>
<handler event="keypress" keycode="VK_HOME" command="cmd_beginLine"/>
<handler event="keypress" keycode="VK_END" command="cmd_endLine"/>
<handler event="keypress" keycode="VK_HOME" modifiers="shift" command="cmd_selectBeginLine"/>
<handler event="keypress" keycode="VK_END" modifiers="shift" command="cmd_selectEndLine"/>
<handler event="keypress" keycode="VK_HOME" modifiers="shift,control" command="cmd_selectTop"/>
<handler event="keypress" keycode="VK_END" modifiers="shift,control" command="cmd_selectBottom"/>
<handler event="keypress" keycode="VK_HOME" modifiers="control" command="cmd_moveTop"/>
<handler event="keypress" keycode="VK_END" modifiers="control" command="cmd_moveBottom"/>
<handler event="keypress" keycode="VK_PAGE_UP" command="cmd_movePageUp"/>
<handler event="keypress" keycode="VK_PAGE_DOWN" command="cmd_movePageDown"/>
<handler event="keypress" keycode="VK_PAGE_UP" modifiers="shift" command="cmd_selectPageUp"/>
<handler event="keypress" keycode="VK_PAGE_DOWN" modifiers="shift" command="cmd_selectPageDown"/>
</handlers>
</binding>
</bindings>