Skip to content

Instantly share code, notes, and snippets.

@sike
Created March 23, 2013 15:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sike/5228100 to your computer and use it in GitHub Desktop.
Save sike/5228100 to your computer and use it in GitHub Desktop.
private.xml
<?xml version="1.0"?>
<root>
<list>
<appdef>
<appname>PREVIEW</appname>
<equal>com.apple.Preview</equal>
</appdef>
<appdef>
<appname>SAFARI</appname>
<equal>com.apple.Safari</equal>
</appdef>
<appdef>
<appname>FIREFOX</appname>
<equal>org.mozilla.firefox</equal>
</appdef>
<appdef>
<appname>SUBLIME</appname>
<equal>com.sublimetext.2</equal>
</appdef>
<item>
<name>Space Cadet Mode</name>
<appendix>This mode emulates a few of the features of the Space Cadet keyboard.</appendix>
<appendix>It also adds a few other helpful mappings.</appendix>
<appendix>It requires the Unicode Hex Input keyboard layout for the Greek and Math layers.</appendix>
<!-- <item>
<name>Shifts to Parentheses</name>
<appendix>Shifts, when pressed alone, type parentheses.</appendix>
<appendix>When used with other keys they're normal shifts.</appendix>
<identifier>space_cadet.shifts_to_parens</identifier>
This is the basic mapping.
<autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_R | ModifierFlag::NONE, KeyCode::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>
<autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_L | ModifierFlag::NONE, KeyCode::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_R</autogen>
Remap the "rolls" of () and )( because it's too easy to hit one
before finishing the other, and there's no other reason to be
pressing both shift keys at once anyway
<autogen>--KeyToKey-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L</autogen>
<autogen>--KeyToKey-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>
Remap Rshift+Space to ') ', because when typing an end paren and
then a space I tend to hit space before I let go of rshift.
<autogen>--KeyToKey-- KeyCode::SPACE, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
</item>
-->
<item>
<name>hjkl in PREVIEW</name>
<identifier>private.viforPreview</identifier>
<only>PREVIEW</only>
<autogen>--KeyToKey-- KeyCode::H, KeyCode::CURSOR_LEFT</autogen>
<autogen>--KeyToKey-- KeyCode::J, KeyCode::CURSOR_DOWN</autogen>
<!-- <autogen>--KeyToKey-- KeyCode::K, KeyCode::CURSOR_UP</autogen> -->
<autogen>--KeyOverlaidModifierWithRepeat-- KeyCode::K, KeyCode::K, KeyCode::CURSOR_UP</autogen>
<autogen>--KeyToKey-- KeyCode::L, KeyCode::CURSOR_RIGHT</autogen>
</item>
<item>
<name>F2 change font size</name>
<identifier>private.f2fontsize</identifier>
<only>SAFARI</only>
<autogen>--KeyToKey-- KeyCode::F2, KeyCode::EQUAL, ModifierFlag::COMMAND_L</autogen>
<autogen>--KeyToKey-- KeyCode::F3, KeyCode::MINUS, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>Control_left to enter vi mode in Safari</name>
<identifier>private.control_left_to_vi_in_safari</identifier>
<only>SAFARI</only>
<autogen>--KeyOverlaidModifierWithRepeat-- KeyCode::CONTROL_L, KeyCode::CONTROL_L, KeyCode::A, ModifierFlag::CONTROL_L</autogen>
</item>
<item>
<name>COMMAND_R to enter vi mode in Safari</name>
<identifier>private.COMMAND_right_to_vi_in_safari</identifier>
<only>SAFARI</only>
<autogen>--KeyOverlaidModifierWithRepeat-- KeyCode::COMMAND_R, KeyCode::COMMAND_R, KeyCode::A, ModifierFlag::CONTROL_L</autogen>
</item>
<item>
<name>OPTION_R to enter vi mode in Safari</name>
<identifier>private.OPTION_right_to_vi_in_safari</identifier>
<only>SAFARI</only>
<autogen>--KeyOverlaidModifierWithRepeat-- KeyCode::OPTION_R, KeyCode::OPTION_R, KeyCode::A, ModifierFlag::CONTROL_L</autogen>
</item>
<item>
<name>Shift left to delete</name>
<identifier>space_cadet.left_shift_to_delete</identifier>
<autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_L, KeyCode::SHIFT_L, KeyCode::DELETE</autogen>
</item>
<item>
<name>Shift right to delete</name>
<identifier>space_cadet.right_shift_to_delete_repeat</identifier>
<autogen>--KeyOverlaidModifierWithRepeat-- KeyCode::SHIFT_R, KeyCode::SHIFT_R, KeyCode::DELETE</autogen>
<!-- <autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_R, KeyCode::SHIFT_R, KeyCode::DELETE</autogen> -->
</item>
<item>
<name>Command_l to enter vi mode in safari</name>
<identifier>space_cadet.left_command_to_control_left_press_once</identifier>
<only>SAFARI</only>
<autogen>--KeyOverlaidModifierWithRepeat-- KeyCode::COMMAND_L, KeyCode::COMMAND_L, KeyCode::A, ModifierFlag::CONTROL_L</autogen>
</item>
<item>
<name>SHIFT_l to enter vi mode in safari</name>
<identifier>space_cadet.left_SHIFT_to_control_left_press_once</identifier>
<only>SAFARI</only>
<autogen>--KeyOverlaidModifierWithRepeat-- KeyCode::SHIFT_L, KeyCode::SHIFT_L, KeyCode::A, ModifierFlag::CONTROL_L</autogen>
</item>
<item>
<name>Shift_l to enter easymotion mode in Sublime</name>
<identifier>private.control_left_to_em_in_sublime</identifier>
<only>SUBLIME</only>
<autogen>--KeyOverlaidModifierWithRepeat-- KeyCode::SHIFT_L, KeyCode::SHIFT_L, KeyCode::SEMICOLON, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>Option right to toggle Visor</name>
<identifier>space_cadet.right_option_to_toggle_visor</identifier>
<autogen>--KeyOverlaidModifierWithRepeat-- KeyCode::OPTION_R, KeyCode::OPTION_R, KeyCode::KEY_1, ModifierFlag::CONTROL_L</autogen>
</item>
<item>
<name>Shift left to toggle Visor</name>
<identifier>space_cadet.left_shift_to_toggle_visor</identifier>
<autogen>--KeyOverlaidModifierWithRepeat-- KeyCode::SHIFT_L, KeyCode::SHIFT_L, KeyCode::KEY_1, ModifierFlag::CONTROL_L</autogen>
</item>
<item>
<name>Shift_r to toggle Visor</name>
<identifier>space_cadet.right_shift_to_toggle_visor</identifier>
<autogen>--KeyOverlaidModifierWithRepeat-- KeyCode::SHIFT_R, KeyCode::SHIFT_R, KeyCode::KEY_1, ModifierFlag::CONTROL_L</autogen>
</item>
<item>
<name>Hoding C to open console in Safari</name>
<identifier>space_cadet.hoding_c_open_console_in_safari</identifier>
<only>SAFARI</only>
<autogen>--HoldingKeyToKey-- KeyCode::C, ModifierFlag::NONE, KeyCode::C, KeyCode::VK_NONE, KeyCode::C, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>Hoding C to open console in Firefox</name>
<identifier>space_cadet.hoding_c_open_console_in_firefox</identifier>
<only>FIREFOX</only>
<autogen>--HoldingKeyToKey-- KeyCode::C, ModifierFlag::NONE, KeyCode::C, KeyCode::VK_NONE, KeyCode::F12, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>Hoding S change window size</name>
<identifier>space_cadet.hoding_s_change_window_size</identifier>
<autogen>--HoldingKeyToKey-- KeyCode::S, ModifierFlag::NONE, KeyCode::S, KeyCode::VK_NONE, KeyCode::S, ModifierFlag::SHIFT_L | ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>Option_L to Control_L</name>
<identifier>remap.optionL2controlL.sublime</identifier>
<!-- <only>SUBLIME</only> -->
<autogen>--KeyToKey-- KeyCode::OPTION_L, KeyCode::CONTROL_L</autogen>
</item>
<!-- <item>
<name>Remap Left Control to Hyper</name>
<appendix>OS X doesn't have a Hyper. This maps Left Control to Control + Shift + Option + Command.</appendix>
<appendix>You can use this key in your own custom keyboard shortcuts you create in apps.</appendix>
<identifier>space_cadet.left_control_to_hyper</identifier>
<autogen>
--KeyToKey--
KeyCode::F19,
KeyCode::COMMAND_L,
ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L
</autogen>
</item>
--> </item>
</list>
</root>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment