/* 
DATE: 2010-06-15
VERSION: 1.0
AUTHOR: Xah Lee
DESCRIPTION: Mac OS X keybinding file for the ErgoEmacs keybinding for QWERTY layout.

INSTALL:
Rename this file to “DefaultKeyBinding.dict”
Then, place the file in this dir:
“~/Library/KeyBindings/DefaultKeyBinding.dict”
Create the “KeyBindings” dir if you don't have it already.

Go to your system preference, “Keyboard & Mouse” panel, and swap
Control and Command key positions. So, Control is right under your
thumb.

Now, launch or re-launch any Cocoa application, such as TextEdit. The app should now use ErgoEmacs keybinding.

If you are using emacs, you might want to put the following lines in your “.emacs”:
(setq mac-control-modifier 'meta)
(setq mac-command-modifier 'control)
These lines works for Cocoa emacs, may not work for Carbon Emacs.

Some references:

• How To Create Keybinding In Mac OS X
  http://xahlee.org/emacs/osx_keybinding.html

• ErgoEmacs Keybinding
  http://xahlee.org/emacs/ergonomic_emacs_keybinding.html

• How to Swap Modifier Keys on OS X
  http://xahlee.org/emacs/osx_swapping_modifier_keys.html

If you like to use Option key instead of Control, you can change all ^
to ~ in this file. However, due to some limitations of the OS X
keybinding system, the following won't work:

• Opt+n for move cursor right
• Opt+e for deleting a char to the left
• Opt+u for deleting a char to the right

*/

{
"^i" = "moveUp:";
"^k" = "moveDown:";
"^j" = "moveLeft:";
"^l" = "moveRight:";

"^o" = "moveWordRight:";
"^u" = "moveWordLeft:";
"^h" = "moveToBeginningOfLine:";
"^H" = "moveToEndOfLine:";

"^I" = "pageUp:";
"^K" = "pageDown:";

"^U" = "moveToBeginningOfParagraph:";
"^O" = "moveToEndOfParagraph:";

"^J" = "moveToBeginningOfDocument:";
"^L" = "moveToEndOfDocument:";

"^d" = "deleteBackward:";
"^f" = "deleteForward:";
"^e" = "deleteWordBackward:";
"^r" = "deleteWordForward:";

"^Z" = "redo:";
"^z" = "undo:";
"^x" = "cut:";
"^X" = ("selectAll:", "cut:");
"^c" = "copy:";
"^C" = ("selectAll:", "copy:");
"^v" = "paste:";

"^8" = "selectWord:";
"^ " = "setMark:";
}