<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<!-- These keys are needed to prevent Cocoa from inserting them as
             normal text (missing from StandardKeyBinding.dict below).
          -->
	<key>$</key>
	<string>deleteBackward:</string>
	<key>$
</key>
	<string>insertNewline:</string>
	<key>^~
</key>
	<string>insertNewline:</string>
	<key>$</key>
	<string>insertNewline:</string>
	<key>^~</key>
	<string>insertNewline:</string>
	<key>^</key>
	<string>cancelOperation:</string>
	<key>$</key>
	<string>cancelOperation:</string>
	<key>^~</key>
	<string>cancelOperation:</string>
	<key>^~	</key>
	<string>insertTab:</string>
	<key>~</key>
	<string>insertBackTab:</string>
	<key>^~</key>
	<string>insertBackTab:</string>
	<key>^ </key>
	<string>keySpace:</string>
	<!-- Alt+Space can be bound without the following entry.  However, if
	     we add this entry then Alt+Space does not work in Keyboard Layouts
	     (e.g. French Dvorak assigns it to underscore but it will produce
	     space if this entry is included) -->
	<!--
	<key>~ </key>
	<string>keySpace:</string>
	-->
	<key>$ </key>
	<string>keySpace:</string>
	<key>^~ </key>
	<string>keySpace:</string>

        <!-- The following keys involving Command (@) are here to make sure
             interpretKeyEvents: does not block Command+Alt+.. and
             Command+Ctrl+.. key events. -->
	<key>@~</key>
	<string>noop:</string>
	<key>@^</key>
	<string>noop:</string>
	<key>@^~</key>
	<string>noop:</string>


	<!-- These keys are used to convert certain keys so that we don't have
             to do it manually.
          -->
	<!-- Turn Ctrl-2 into Ctrl-@ -->
	<key>^2</key>
	<string>keyCtrlAt:</string>
	<!-- Turn Ctrl-6 into Ctrl-^ -->
	<key>^6</key>
	<string>keyCtrlHat:</string>


        <!-- These are copied from AppKit.framework/StandardKeyBinding.dict
          -->
	<key></key>
	<string>insertNewline:</string>
	<key></key>
	<string>deleteBackward:</string>
	<key>	</key>
	<string>insertTab:</string>
	<key>
</key>
	<string>insertNewline:</string>
	<key>
</key>
	<string>insertNewline:</string>
	<key></key>
	<string>insertBacktab:</string>
	<key></key>
	<string>cancelOperation:</string>
	<key>$</key>
	<string>moveUpAndModifySelection:</string>
	<key>$</key>
	<string>moveDownAndModifySelection:</string>
	<key>$</key>
	<string>moveLeftAndModifySelection:</string>
	<key>$</key>
	<string>moveRightAndModifySelection:</string>
	<key>$</key>
	<string>moveToBeginningOfDocumentAndModifySelection:</string>
	<key>$</key>
	<string>moveToEndOfDocumentAndModifySelection:</string>
	<key>$</key>
	<string>pageUpAndModifySelection:</string>
	<key>$</key>
	<string>pageDownAndModifySelection:</string>
	<key>@</key>
	<string>noop:</string>
	<key>@ </key>
	<string>cycleToNextInputScript:</string>
	<key>@.</key>
	<string>cancelOperation:</string>
	<key>@^ </key>
	<string>togglePlatformInputSystem:</string>
	<key>@~ </key>
	<string>cycleToNextInputKeyboardLayout:</string>
	<key>^</key>
	<string>noop:</string>
	<key>^</key>
	<string>insertLineBreak:</string>
	<key>^	</key>
	<string>selectNextKeyView:</string>
	<key>^
</key>
	<string>insertLineBreak:</string>
	<key>^
</key>
	<string>insertLineBreak:</string>
	<key>^</key>
	<string>selectPreviousKeyView:</string>
	<key>^"</key>
	<string>insertDoubleQuoteIgnoringSubstitution:</string>
	<key>^'</key>
	<string>insertSingleQuoteIgnoringSubstitution:</string>
	<key>^A</key>
	<string>moveToBeginningOfParagraphAndModifySelection:</string>
	<key>^B</key>
	<string>moveBackwardAndModifySelection:</string>
	<key>^E</key>
	<string>moveToEndOfParagraphAndModifySelection:</string>
	<key>^F</key>
	<string>moveForwardAndModifySelection:</string>
	<key>^N</key>
	<string>moveDownAndModifySelection:</string>
	<key>^P</key>
	<string>moveUpAndModifySelection:</string>
	<key>^V</key>
	<string>pageDownAndModifySelection:</string>
	<key>^a</key>
	<string>moveToBeginningOfParagraph:</string>
	<key>^b</key>
	<string>moveBackward:</string>
	<key>^d</key>
	<string>deleteForward:</string>
	<key>^e</key>
	<string>moveToEndOfParagraph:</string>
	<key>^f</key>
	<string>moveForward:</string>
	<key>^h</key>
	<string>deleteBackward:</string>
	<key>^k</key>
	<string>deleteToEndOfParagraph:</string>
	<key>^l</key>
	<string>centerSelectionInVisibleArea:</string>
	<key>^n</key>
	<string>moveDown:</string>
        <!-- <key>^o</key>
	<array>
		<string>insertNewlineIgnoringFieldEditor:</string>
		<string>moveBackward:</string>
        </array> -->
	<key>^p</key>
	<string>moveUp:</string>
	<key>^t</key>
	<string>transpose:</string>
	<key>^v</key>
	<string>pageDown:</string>
	<key>^y</key>
	<string>yank:</string>
	<key>^~</key>
	<string>deleteWordBackward:</string>
	<key>^</key>
	<string>deleteBackwardByDecomposingPreviousCharacter:</string>
	<key>~</key>
	<string>insertNewlineIgnoringFieldEditor:</string>
	<key>~</key>
	<string>deleteWordBackward:</string>
	<key>~	</key>
	<string>insertTabIgnoringFieldEditor:</string>
	<key>~
</key>
	<string>insertNewlineIgnoringFieldEditor:</string>
	<key>~
</key>
	<string>insertNewlineIgnoringFieldEditor:</string>
	<key>~</key>
	<string>complete:</string>
	<key>~^B</key>
	<string>moveWordBackwardAndModifySelection:</string>
	<key>~^F</key>
	<string>moveWordForwardAndModifySelection:</string>
	<key>~^b</key>
	<string>moveWordBackward:</string>
	<key>~^f</key>
	<string>moveWordForward:</string>
	<key>~</key>
	<string>deleteWordBackward:</string>
	<key></key>
	<string>deleteBackward:</string>
	<key></key>
	<string>moveUp:</string>
	<key></key>
	<string>moveDown:</string>
	<key></key>
	<string>moveLeft:</string>
	<key></key>
	<string>moveRight:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>complete:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>deleteForward:</string>
	<key></key>
	<string>scrollToBeginningOfDocument:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>scrollToEndOfDocument:</string>
	<key></key>
	<string>scrollPageUp:</string>
	<key></key>
	<string>scrollPageDown:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key>@</key>
	<string>moveToBeginningOfDocument:</string>
	<key>@</key>
	<string>moveToEndOfDocument:</string>
	<key>@</key>
	<string>moveToBeginningOfLine:</string>
	<key>@</key>
	<string>moveToEndOfLine:</string>
	<key>@$</key>
	<string>moveToBeginningOfDocumentAndModifySelection:</string>
	<key>@$</key>
	<string>moveToEndOfDocumentAndModifySelection:</string>
	<key>@$</key>
	<string>moveToBeginningOfLineAndModifySelection:</string>
	<key>@$</key>
	<string>moveToEndOfLineAndModifySelection:</string>
	<key>@^</key>
	<string>changeBaseWritingDirectionToRTL:</string>
	<key>@^</key>
	<string>changeBaseWritingDirectionToLTR:</string>
	<key>@</key>
	<string>deleteToBeginningOfLine:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key></key>
	<string>noop:</string>
	<key>^</key>
	<string>scrollPageUp:</string>
	<key>^</key>
	<string>scrollPageDown:</string>
	<key>^</key>
	<string>moveToBeginningOfLine:</string>
	<key>^</key>
	<string>moveToEndOfLine:</string>
	<key>^$</key>
	<string>moveToBeginningOfLineAndModifySelection:</string>
	<key>^$</key>
	<string>moveToEndOfLineAndModifySelection:</string>
        <!-- <key>~</key>
	<array>
		<string>moveBackward:</string>
		<string>moveToBeginningOfParagraph:</string>
	</array>
	<key>~</key>
	<array>
		<string>moveForward:</string>
		<string>moveToEndOfParagraph:</string>
        </array> -->
	<key>~</key>
	<string>moveWordLeft:</string>
	<key>~</key>
	<string>moveWordRight:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~$</key>
	<string>moveParagraphBackwardAndModifySelection:</string>
	<key>~$</key>
	<string>moveParagraphForwardAndModifySelection:</string>
	<key>~$</key>
	<string>moveWordLeftAndModifySelection:</string>
	<key>~$</key>
	<string>moveWordRightAndModifySelection:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>deleteWordForward:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>pageUp:</string>
	<key>~</key>
	<string>pageDown:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
	<key>~</key>
	<string>noop:</string>
</dict>
</plist>
