Skip to content

Instantly share code, notes, and snippets.

@yicaoyimu
Last active December 13, 2015 17:38
Show Gist options
  • Save yicaoyimu/4949117 to your computer and use it in GitHub Desktop.
Save yicaoyimu/4949117 to your computer and use it in GitHub Desktop.
A KeyRemap4MacBook configuration file. This configuration file is good for those users that switch from Linux key bindings to Mac, and is especially useful for Emacs users. This configuration works for Macbook Pro with external USA standard keyboard. The device id needs to be changed to be applied to any keyboard that is not Realforce 87U.
<?xml version="1.0"?>
<root>
<devicevendordef>
<vendorname>APPLE</vendorname>
<vendorid>0x05ac</vendorid>
</devicevendordef>
<deviceproductdef>
<productname>INTERNAL_KEYBOARD</productname>
<productid>0x0262</productid>
</deviceproductdef>
<devicevendordef>
<vendorname>TOPRE_CORPORATION</vendorname>
<vendorid>0x0853</vendorid>
</devicevendordef>
<deviceproductdef>
<productname>REALFORCE_87</productname>
<productid>0x0111</productid>
</deviceproductdef>
<item>
<name>[RF87] Switch win and alt</name>
<identifier>private.deviceproductdef</identifier>
<device_only>DeviceVendor::TOPRE_CORPORATION, DeviceProduct::REALFORCE_87</device_only>
<autogen>__KeyToKey__ KeyCode::COMMAND_L, KeyCode::OPTION_L</autogen>
<autogen>__KeyToKey__ KeyCode::OPTION_L, KeyCode::COMMAND_L</autogen>
</item>
<item>
<name>[RF87/internal keyboard] Ctrl-TWOPLF switch</name>
<identifier>private.deviceproductdef2</identifier>
<not>EMACS</not>
<autogen> __KeyToKey__ KeyCode::T, ModifierFlag::COMMAND_L, KeyCode::T, ModifierFlag::CONTROL_L</autogen>
<autogen> __KeyToKey__ KeyCode::W, ModifierFlag::COMMAND_L, KeyCode::W, ModifierFlag::CONTROL_L</autogen>
<autogen> __KeyToKey__ KeyCode::O, ModifierFlag::COMMAND_L, KeyCode::O, ModifierFlag::CONTROL_L</autogen>
<autogen> __KeyToKey__ KeyCode::P, ModifierFlag::COMMAND_L, KeyCode::P, ModifierFlag::CONTROL_L</autogen>
<autogen> __KeyToKey__ KeyCode::L, ModifierFlag::COMMAND_L, KeyCode::L, ModifierFlag::CONTROL_L</autogen>
<autogen> __KeyToKey__ KeyCode::F, ModifierFlag::COMMAND_L, KeyCode::F, ModifierFlag::CONTROL_L</autogen>
<autogen> __KeyToKey__ KeyCode::T, ModifierFlag::CONTROL_L, KeyCode::T, ModifierFlag::COMMAND_L</autogen>
<autogen> __KeyToKey__ KeyCode::W, ModifierFlag::CONTROL_L, KeyCode::W, ModifierFlag::COMMAND_L</autogen>
<autogen> __KeyToKey__ KeyCode::O, ModifierFlag::CONTROL_L, KeyCode::O, ModifierFlag::COMMAND_L</autogen>
<autogen> __KeyToKey__ KeyCode::P, ModifierFlag::CONTROL_L, KeyCode::P, ModifierFlag::COMMAND_L</autogen>
<autogen> __KeyToKey__ KeyCode::L, ModifierFlag::CONTROL_L, KeyCode::L, ModifierFlag::COMMAND_L</autogen>
<autogen> __KeyToKey__ KeyCode::F, ModifierFlag::CONTROL_L, KeyCode::F, ModifierFlag::COMMAND_L</autogen>
</item>
<item>
<name>[internal keyboard] Emacs settings</name>
<identifier>private.appdef</identifier>
<device_only>DeviceVendor::APPLE, DeviceProduct::INTERNAL_KEYBOARD</device_only>
<only>EMACS</only>
<autogen>__KeyToKey__ KeyCode::CONTROL_L, KeyCode::COMMAND_L</autogen>
<autogen>__KeyToKey__ KeyCode::COMMAND_L, KeyCode::CONTROL_L</autogen>
<autogen> __KeyToKey__ KeyCode::TAB, ModifierFlag::CONTROL_L, KeyCode::TAB, ModifierFlag::COMMAND_L</autogen>
<autogen> __KeyToKey__ KeyCode::TAB, ModifierFlag::COMMAND_L, KeyCode::TAB, ModifierFlag::CONTROL_L</autogen>
<autogen> __KeyToKey__ KeyCode::Q, ModifierFlag::CONTROL_L, KeyCode::Q, ModifierFlag::COMMAND_L</autogen>
<autogen> __KeyToKey__ KeyCode::Q, ModifierFlag::COMMAND_L, KeyCode::Q, ModifierFlag::CONTROL_L</autogen>
<autogen> __KeyToKey__ KeyCode::BACKQUOTE, ModifierFlag::CONTROL_L, KeyCode::BACKQUOTE, ModifierFlag::COMMAND_L</autogen>
<autogen> __KeyToKey__ KeyCode::BACKQUOTE, ModifierFlag::COMMAND_L, KeyCode::BACKQUOTE, ModifierFlag::CONTROL_L</autogen>
</item>
<item>
<name>[RF87] Emacs settings</name>
<identifier>private.appdef2</identifier>
<device_only>DeviceVendor::TOPRE_CORPORATION, DeviceProduct::REALFORCE_87</device_only>
<only>EMACS</only>
<autogen>__KeyToKey__ KeyCode::CONTROL_L, KeyCode::COMMAND_L</autogen>
<autogen>__KeyToKey__ KeyCode::COMMAND_L, KeyCode::CONTROL_L</autogen>
</item>
</root>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment