Skip to content

Instantly share code, notes, and snippets.

@kyle-johnson
Created April 7, 2014 18:02
Show Gist options
  • Save kyle-johnson/10025719 to your computer and use it in GitHub Desktop.
Save kyle-johnson/10025719 to your computer and use it in GitHub Desktop.
keyremap4macbook
<?xml version="1.0"?>
<root>
<appdef>
<appname>CHROME</appname>
<equal>com.google.Chrome</equal>
</appdef>
<appdef>
<appname>NAVICAT</appname>
<equal>com.prect.NavicatPG</equal>
</appdef>
<item>
<name>Navicat to Emacs</name>
<identifier>private.navicat_to_emacs</identifier>
<only>NAVICAT</only>
<autogen>
--KeyToKey--
KeyCode::F, VK_COMMAND,
KeyCode::CURSOR_RIGHT, ModifierFlag::OPTION_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::B, VK_COMMAND,
KeyCode::CURSOR_LEFT, ModifierFlag::OPTION_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::D, VK_CONTROL,
KeyCode::FORWARD_DELETE
</autogen>
<autogen>
--KeyToKey--
KeyCode::DELETE, VK_COMMAND,
KeyCode::DELETE, ModifierFlag::OPTION_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::D, VK_COMMAND,
KeyCode::FORWARD_DELETE, ModifierFlag::OPTION_L
</autogen>
</item>
<item>
<name>Swap Command with Option (only in Emacs, Terminal, X11)</name>
<identifier>private.command2option_etx</identifier>
<only>EMACS, TERMINAL, X11</only>
<autogen>--KeyToKey-- KeyCode::COMMAND_L, KeyCode::OPTION_L</autogen>
<autogen>--KeyToKey-- KeyCode::OPTION_L, KeyCode::COMMAND_L</autogen>
<autogen>--KeyToKey-- KeyCode::COMMAND_R, KeyCode::OPTION_R</autogen>
<autogen>--KeyToKey-- KeyCode::OPTION_R, KeyCode::COMMAND_R</autogen>
<!-- make Alt+Tab work -->
<autogen>--KeyToKey-- KeyCode::SHIFT_L, KeyCode::VK_LAZY_SHIFT_L</autogen>
<autogen>
--KeyToKey--
KeyCode::TAB, VK_OPTION,
KeyCode::TAB, ModifierFlag::COMMAND_L
</autogen>
<!-- make CMD+Space work -->
<autogen>
--KeyToKey--
KeyCode::SPACE, VK_OPTION,
KeyCode::SPACE, ModifierFlag::COMMAND_L
</autogen>
<block>
<only>TERMINAL</only>
<!-- make paste work -->
<autogen>
--KeyToKey--
KeyCode::V, VK_OPTION,
KeyCode::V, ModifierFlag::COMMAND_L
</autogen>
<!-- and copy -->
<autogen>
--KeyToKey--
KeyCode::C, VK_OPTION,
KeyCode::C, ModifierFlag::COMMAND_L
</autogen>
<!-- make Alt+` work -->
<autogen>
--KeyToKey--
KeyCode::BACKQUOTE, ModifierFlag::OPTION_L,
KeyCode::BACKQUOTE, ModifierFlag::COMMAND_L
</autogen>
<!-- text size -->
<autogen>
--KeyToKey--
KeyCode::EQUAL, ModifierFlag::OPTION_L | VK_SHIFT,
KeyCode::EQUAL, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::MINUS, ModifierFlag::OPTION_L,
KeyCode::MINUS, ModifierFlag::COMMAND_L
</autogen>
</block>
</item>
<item>
<name>Ctrl+F/B cycle tabs in Chrome (note: this is a bad idea as it makes text editing difficult in Chrome)</name>
<identifier>private.ctrlfbchrome_etx</identifier>
<only>CHROME</only>
<autogen>
--KeyToKey--
KeyCode::F, VK_CONTROL,
KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::B, VK_CONTROL,
KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L
</autogen>
</item>
<item>
<name>Cmd+Arrow cycle tabs in Chrome (like Adium)</name>
<identifier>private.cmd_arrow_chrome_etx</identifier>
<only>CHROME</only>
<autogen>
--KeyToKey--
KeyCode::CURSOR_RIGHT, VK_COMMAND,
KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::CURSOR_LEFT, VK_COMMAND,
KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L | ModifierFlag::OPTION_L
</autogen>
</item>
</root>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment