Skip to content

Instantly share code, notes, and snippets.

@rrotter
Created October 30, 2015 04:21
Show Gist options
  • Save rrotter/9fa6331d5856db453198 to your computer and use it in GitHub Desktop.
Save rrotter/9fa6331d5856db453198 to your computer and use it in GitHub Desktop.
My Karabiner settings, including fixes for Matias Ergo Pro
<?xml version="1.0"?>
<root>
<devicevendordef>
<vendorname>APPLE</vendorname>
<vendorid>0x05ac</vendorid>
</devicevendordef>
<deviceproductdef>
<productname>MATIAS_ERGO_PRO</productname>
<productid>0x024f</productid>
</deviceproductdef>
<item id="group.private">
<name>private.xml</name>
<item id="group.matias">
<name>Matias Ergo Pro fixes</name>
<item id="group.matias.more_keys">
<name>Add Fn (and other) keys</name>
<item id="remap.matias.option_r">
<name>Matias right option key</name>
<appendix>Home+End to opt</appendix>
<identifier>remap.matias.option_r</identifier>
<device_only>
DeviceVendor::APPLE,
DeviceProduct::MATIAS_ERGO_PRO,
</device_only>
<autogen>__SimultaneousKeyPresses__ KeyCode::HOME, KeyCode::END, KeyCode::OPTION_R</autogen>
</item>
<item id="remap.matias.fn_r">
<name>Matias right fn key</name>
<appendix>PgUp+PgDown to fn</appendix>
<identifier>remap.matias.fn_r</identifier>
<device_only>
DeviceVendor::APPLE,
DeviceProduct::MATIAS_ERGO_PRO,
</device_only>
<autogen>__SimultaneousKeyPresses__ KeyCode::PAGEUP, KeyCode::PAGEDOWN, KeyCode::FN </autogen>
</item>
<item id="group.matias.fn_l">
<name>Left Fn key, don't use both of these</name>
<item id="remap.matias.fn_l_with_caps2control">
<name>Map 240 (0xf0) to Control_L, Control_L to FN</name>
<appendix>(Please disable Caps Lock in System Preferences, Caps 2 240 in SysPrefs)</appendix>
<appendix>Use this if you map Caps Lock to Control</appendix>
<identifier>remap.matias.fn_l_with_caps2control</identifier>
<block>
<device_only>
DeviceVendor::APPLE,
DeviceProduct::MATIAS_ERGO_PRO,
</device_only>
<autogen>__KeyToKey__ KeyCode::CONTROL_L, KeyCode::FN</autogen>
<autogen>__KeyToKey__ KeyCode::RawValue::0xf0, KeyCode::CONTROL_L</autogen>
</block>
<block>
<autogen>__KeyToKey__ KeyCode::RawValue::0xf0, KeyCode::CONTROL_L</autogen>
</block>
</item>
<item id="remap.matias.fn_l_without_caps2control">
<name>Control_L to FN</name>
<identifier>remap.matias.fn_l_without_caps2control</identifier>
<device_only>
DeviceVendor::APPLE,
DeviceProduct::MATIAS_ERGO_PRO,
</device_only>
<autogen>__KeyToKey__ KeyCode::CONTROL_L, KeyCode::FN</autogen>
</item>
</item>
</item>
<item id="group.matias.fn_hacks">
<name>Make new Fn keys work</name>
<item id="remap.matias.fn_hack">
<name>Matias fn hack</name>
<appendix>Extensive remapping to make to fn key work</appendix>
<identifier>remap.matias.fn_hack</identifier>
<device_only>
DeviceVendor::APPLE,
DeviceProduct::MATIAS_ERGO_PRO,
</device_only>
<!--Media Keys to F Keys-->
<autogen>__KeyToKey__ KeyCode::BRIGHTNESS_DOWN, ModifierFlag::FN, KeyCode::F1</autogen>
<autogen>__KeyToKey__ KeyCode::BRIGHTNESS_UP, ModifierFlag::FN, KeyCode::F2</autogen>
<autogen>__KeyToKey__ KeyCode::EXPOSE_ALL, ModifierFlag::FN, KeyCode::F3</autogen>
<autogen>__KeyToKey__ KeyCode::LAUNCHPAD, ModifierFlag::FN, KeyCode::F4</autogen>
<autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_PREV, ModifierFlag::FN, KeyCode::F7</autogen>
<autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_PLAY, ModifierFlag::FN, KeyCode::F8</autogen>
<autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_NEXT, ModifierFlag::FN, KeyCode::F9</autogen>
<autogen>__KeyToKey__ ConsumerKeyCode::VOLUME_MUTE, ModifierFlag::FN, KeyCode::F10</autogen>
<autogen>__KeyToKey__ ConsumerKeyCode::VOLUME_DOWN, ModifierFlag::FN, KeyCode::F11</autogen>
<autogen>__KeyToKey__ ConsumerKeyCode::VOLUME_UP, ModifierFlag::FN, KeyCode::F12</autogen>
<!--Tab-row Keys to F Keys-->
<autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::FN, KeyCode::F14</autogen>
<autogen>__KeyToKey__ KeyCode::BRACKET_RIGHT, ModifierFlag::FN, KeyCode::F15</autogen>
<!--Num pad-->
<autogen>__KeyToKey__ KeyCode::KEY_7, ModifierFlag::FN, KeyCode::KEYPAD_7</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_8, ModifierFlag::FN, KeyCode::KEYPAD_8</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_9, ModifierFlag::FN, KeyCode::KEYPAD_9</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_0, ModifierFlag::FN, KeyCode::KEYPAD_MINUS</autogen>
<autogen>__KeyToKey__ KeyCode::MINUS, ModifierFlag::FN, KeyCode::KEYPAD_MINUS</autogen>
<autogen>__KeyToKey__ KeyCode::U, ModifierFlag::FN, KeyCode::KEYPAD_4</autogen>
<autogen>__KeyToKey__ KeyCode::I, ModifierFlag::FN, KeyCode::KEYPAD_5</autogen>
<autogen>__KeyToKey__ KeyCode::O, ModifierFlag::FN, KeyCode::KEYPAD_6</autogen>
<autogen>__KeyToKey__ KeyCode::P, ModifierFlag::FN, KeyCode::KEYPAD_PLUS</autogen>
<autogen>__KeyToKey__ KeyCode::J, ModifierFlag::FN, KeyCode::KEYPAD_1</autogen>
<autogen>__KeyToKey__ KeyCode::K, ModifierFlag::FN, KeyCode::KEYPAD_2</autogen>
<autogen>__KeyToKey__ KeyCode::L, ModifierFlag::FN, KeyCode::KEYPAD_3</autogen>
<autogen>__KeyToKey__ KeyCode::SEMICOLON, ModifierFlag::FN, KeyCode::KEYPAD_MULTIPLY</autogen>
<autogen>__KeyToKey__ KeyCode::N, ModifierFlag::FN, KeyCode::KEYPAD_0</autogen>
<autogen>__KeyToKey__ KeyCode::M, ModifierFlag::FN, KeyCode::KEYPAD_DOT</autogen>
<autogen>__KeyToKey__ KeyCode::DOT, ModifierFlag::FN, KeyCode::KEYPAD_DOT</autogen>
<autogen>__KeyToKey__ KeyCode::SLASH, ModifierFlag::FN, KeyCode::KEYPAD_SLASH</autogen>
<autogen>__KeyToKey__ KeyCode::T, ModifierFlag::FN, KeyCode::KEYPAD_CLEAR</autogen>
<!--Disable Keys adjacent to tenkeys-->
<autogen>__KeyToKey__ KeyCode::Y, ModifierFlag::FN, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::H, ModifierFlag::FN, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::COMMA, ModifierFlag::FN, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::QUOTE, ModifierFlag::FN, KeyCode::VK_NONE</autogen>
<!--Enable Eject-->
<autogen>__KeyToKey__ KeyCode::E, ModifierFlag::FN, ConsumerKeyCode::EJECT</autogen>
</item>
<item id="remap.matias.fn_hack_help_key">
<name>Fn+Forward Delete to Help</name>
<identifier>remap.matias.fn_hack_help_key</identifier>
<appendix>Included for completeness to match Matias funtionality. Sepatarated because I don't like it.</appendix>
<device_only>
DeviceVendor::APPLE,
DeviceProduct::MATIAS_ERGO_PRO,
</device_only>
<autogen>__KeyToKey__ KeyCode::FORWARD_DELETE, ModifierFlag::FN, KeyCode::HELP</autogen>
</item>
</item>
</item>
<item id="remap.launchpad2expose">
<name>Launchpad to Expose</name>
<identifier>remap.launchpad2expose</identifier>
<autogen>__KeyToKey__ KeyCode::LAUNCHPAD, KeyCode::EXPOSE_ALL</autogen>
</item>
<item id="remap.simultaneouskeypresses_cc_to_mousecenter">
<name>Simultaneous Key Presses [Cmd_L+Cmd_R] to center mouse on frontmost window</name>
<identifier>remap.simultaneouskeypresses_cc_to_mousecenter</identifier>
<autogen>__SimultaneousKeyPresses__ KeyCode::COMMAND_L, KeyCode::COMMAND_R, KeyCode::VK_OPEN_URL_SHELL_warp_mouse_cursor_position_front_window_center</autogen>
</item>
</item>
</root>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment