Skip to content

Instantly share code, notes, and snippets.

@igreg
Created January 4, 2013 17:06
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save igreg/4454216 to your computer and use it in GitHub Desktop.
Save igreg/4454216 to your computer and use it in GitHub Desktop.
KeyRemap4MacBook xml file to access brightness, volume and multimedia keys with a mechanical keyboard on Mac OS X (tested with Mac OS X 10.7 and 10.8)
<?xml version="1.0"?>
<root>
<item>
<name>@Mechanical keyboards</name>
<item>
<name>Ctrl+Enter to Fn+Enter</name>
<identifier>private.crtl_enter_to_fn_enter</identifier>
<autogen>--KeyToKey-- KeyCode::RETURN, ModifierFlag::CONTROL_L, KeyCode::RETURN, ModifierFlag::FN</autogen>
<autogen>--KeyToKey-- KeyCode::RETURN, ModifierFlag::CONTROL_R, KeyCode::RETURN, ModifierFlag::FN</autogen>
</item>
<item>
<name>Ctrl+Backscape to Fn+Backspace (ie. delete)</name>
<identifier>private.crtl_backspace_to_delete</identifier>
<autogen>--KeyToKey-- KeyCode::DELETE, ModifierFlag::CONTROL_L, KeyCode::FORWARD_DELETE</autogen>
<autogen>--KeyToKey-- KeyCode::DELETE, ModifierFlag::CONTROL_R, KeyCode::FORWARD_DELETE</autogen>
</item>
<item>
<name>Ctrl+Shift F12 to lock screen</name>
<identifier>private.ctrl_shift_f12_to_lock_screen</identifier>
<autogen>--KeyToConsumer-- KeyCode::F12, ModifierFlag::CONTROL_L, ModifierFlag::SHIFT_L, ConsumerKeyCode::EJECT, ModifierFlag::CONTROL_L, ModifierFlag::SHIFT_L</autogen>
</item>
<item>
<name>Use all F1,F2, etc. keys as media keys</name>
<item>
<name>Ctrl+F1,F2 to F1,F2</name>
<identifier>private.functions_as_media.ctrl_override</identifier>
<autogen>--KeyToKey-- KeyCode::F1, ModifierFlag::CONTROL_L, KeyCode::F1</autogen>
<autogen>--KeyToKey-- KeyCode::F1, ModifierFlag::CONTROL_R, KeyCode::F1</autogen>
<autogen>--KeyToKey-- KeyCode::F2, ModifierFlag::CONTROL_L, KeyCode::F2</autogen>
<autogen>--KeyToKey-- KeyCode::F2, ModifierFlag::CONTROL_R, KeyCode::F2</autogen>
<autogen>--KeyToKey-- KeyCode::F3, ModifierFlag::CONTROL_L, KeyCode::F3</autogen>
<autogen>--KeyToKey-- KeyCode::F3, ModifierFlag::CONTROL_R, KeyCode::F3</autogen>
<autogen>--KeyToKey-- KeyCode::F4, ModifierFlag::CONTROL_L, KeyCode::F4</autogen>
<autogen>--KeyToKey-- KeyCode::F4, ModifierFlag::CONTROL_R, KeyCode::F4</autogen>
<autogen>--KeyToKey-- KeyCode::F5, ModifierFlag::CONTROL_L, KeyCode::F5</autogen>
<autogen>--KeyToKey-- KeyCode::F5, ModifierFlag::CONTROL_R, KeyCode::F5</autogen>
<autogen>--KeyToKey-- KeyCode::F6, ModifierFlag::CONTROL_L, KeyCode::F6</autogen>
<autogen>--KeyToKey-- KeyCode::F6, ModifierFlag::CONTROL_R, KeyCode::F6</autogen>
<autogen>--KeyToKey-- KeyCode::F7, ModifierFlag::CONTROL_L, KeyCode::F7</autogen>
<autogen>--KeyToKey-- KeyCode::F7, ModifierFlag::CONTROL_R, KeyCode::F7</autogen>
<autogen>--KeyToKey-- KeyCode::F8, ModifierFlag::CONTROL_L, KeyCode::F8</autogen>
<autogen>--KeyToKey-- KeyCode::F8, ModifierFlag::CONTROL_R, KeyCode::F8</autogen>
<autogen>--KeyToKey-- KeyCode::F9, ModifierFlag::CONTROL_L, KeyCode::F9</autogen>
<autogen>--KeyToKey-- KeyCode::F9, ModifierFlag::CONTROL_R, KeyCode::F9</autogen>
<autogen>--KeyToKey-- KeyCode::F10, ModifierFlag::CONTROL_L, KeyCode::F10</autogen>
<autogen>--KeyToKey-- KeyCode::F10, ModifierFlag::CONTROL_R, KeyCode::F10</autogen>
<autogen>--KeyToKey-- KeyCode::F11, ModifierFlag::CONTROL_L, KeyCode::F11</autogen>
<autogen>--KeyToKey-- KeyCode::F11, ModifierFlag::CONTROL_R, KeyCode::F11</autogen>
<autogen>--KeyToKey-- KeyCode::F12, ModifierFlag::CONTROL_L, KeyCode::F12</autogen>
<autogen>--KeyToKey-- KeyCode::F12, ModifierFlag::CONTROL_R, KeyCode::F12</autogen>
<autogen>--KeyToKey-- KeyCode::F13, ModifierFlag::CONTROL_L, KeyCode::F13</autogen>
<autogen>--KeyToKey-- KeyCode::F13, ModifierFlag::CONTROL_R, KeyCode::F13</autogen>
<autogen>--KeyToKey-- KeyCode::F14, ModifierFlag::CONTROL_L, KeyCode::F14</autogen>
<autogen>--KeyToKey-- KeyCode::F14, ModifierFlag::CONTROL_R, KeyCode::F14</autogen>
<autogen>--KeyToKey-- KeyCode::F15, ModifierFlag::CONTROL_L, KeyCode::F15</autogen>
<autogen>--KeyToKey-- KeyCode::F15, ModifierFlag::CONTROL_R, KeyCode::F15</autogen>
</item>
<item>
<name>Brightness Controls to F1,F2</name>
<identifier>private.functions_as_media.ctrl_brightness_controls</identifier>
<autogen>--KeyToConsumer-- KeyCode::F1, ConsumerKeyCode::BRIGHTNESS_DOWN</autogen>
<autogen>--KeyToConsumer-- KeyCode::F1, ConsumerKeyCode::BRIGHTNESS_DOWN</autogen>
<autogen>--KeyToConsumer-- KeyCode::F2, ConsumerKeyCode::BRIGHTNESS_UP</autogen>
<autogen>--KeyToConsumer-- KeyCode::F2, ConsumerKeyCode::BRIGHTNESS_UP</autogen>
</item>
<item>
<name>Mission Controls to F3,F4</name>
<identifier>private.functions_as_media.ctrl_mission_controls</identifier>
<autogen>--KeyToKey-- KeyCode::F3, KeyCode::MISSION_CONTROL</autogen>
<autogen>--KeyToKey-- KeyCode::F3, KeyCode::MISSION_CONTROL</autogen>
<autogen>--KeyToKey-- KeyCode::F4, KeyCode::DASHBOARD</autogen>
<autogen>--KeyToKey-- KeyCode::F4, KeyCode::DASHBOARD</autogen>
</item>
<item>
<name>Music Controls to F9,F10,F11</name>
<identifier>private.functions_as_media.ctrl_music_controls</identifier>
<autogen>--KeyToConsumer-- KeyCode::F9, ConsumerKeyCode::MUSIC_PREV</autogen>
<autogen>--KeyToConsumer-- KeyCode::F9, ConsumerKeyCode::MUSIC_PREV</autogen>
<autogen>--KeyToConsumer-- KeyCode::F10, ConsumerKeyCode::MUSIC_PLAY</autogen>
<autogen>--KeyToConsumer-- KeyCode::F10, ConsumerKeyCode::MUSIC_PLAY</autogen>
<autogen>--KeyToConsumer-- KeyCode::F11, ConsumerKeyCode::MUSIC_NEXT</autogen>
<autogen>--KeyToConsumer-- KeyCode::F11, ConsumerKeyCode::MUSIC_NEXT</autogen>
</item>
<item>
<name>Eject Key to F12</name>
<identifier>private.functions_as_media.ctrl_eject_key</identifier>
<autogen>--KeyToConsumer-- KeyCode::F12, ConsumerKeyCode::EJECT</autogen>
</item>
<item>
<name>Power Key to Ctrl+F12</name>
<identifier>private.functions_as_media.ctrl_power_key</identifier>
<autogen>--KeyToConsumer-- KeyCode::F12, ConsumerKeyCode::POWER</autogen>
<autogen>--KeyToConsumer-- KeyCode::F12, ConsumerKeyCode::POWER</autogen>
</item>
<item>
<name>Volume Controls to F13,F14,F15</name>
<identifier>private.functions_as_media.ctrl_volume_controls</identifier>
<autogen>--KeyToConsumer-- KeyCode::F13, ConsumerKeyCode::VOLUME_MUTE</autogen>
<autogen>--KeyToConsumer-- KeyCode::F13, ConsumerKeyCode::VOLUME_MUTE</autogen>
<autogen>--KeyToConsumer-- KeyCode::F14, ConsumerKeyCode::VOLUME_DOWN</autogen>
<autogen>--KeyToConsumer-- KeyCode::F14, ConsumerKeyCode::VOLUME_DOWN</autogen>
<autogen>--KeyToConsumer-- KeyCode::F15, ConsumerKeyCode::VOLUME_UP</autogen>
<autogen>--KeyToConsumer-- KeyCode::F15, ConsumerKeyCode::VOLUME_UP</autogen>
</item>
</item>
<item>
<name>Use all Ctrl+F1,Ctrl+F2, etc. keys as media keys</name>
<item>
<name>Brightness Controls to Ctrl+F1,F2</name>
<identifier>private.ctrl_functions_as_media.ctrl_brightness_controls</identifier>
<autogen>--KeyToConsumer-- KeyCode::F1, ModifierFlag::CONTROL_L, ConsumerKeyCode::BRIGHTNESS_DOWN</autogen>
<autogen>--KeyToConsumer-- KeyCode::F1, ModifierFlag::CONTROL_R, ConsumerKeyCode::BRIGHTNESS_DOWN</autogen>
<autogen>--KeyToConsumer-- KeyCode::F2, ModifierFlag::CONTROL_L, ConsumerKeyCode::BRIGHTNESS_UP</autogen>
<autogen>--KeyToConsumer-- KeyCode::F2, ModifierFlag::CONTROL_R, ConsumerKeyCode::BRIGHTNESS_UP</autogen>
</item>
<item>
<name>Mission Controls to Ctrl+F3,F4</name>
<identifier>private.ctrl_functions_as_media.ctrl_mission_controls</identifier>
<autogen>--KeyToKey-- KeyCode::F3, ModifierFlag::CONTROL_L, KeyCode::MISSION_CONTROL</autogen>
<autogen>--KeyToKey-- KeyCode::F3, ModifierFlag::CONTROL_R, KeyCode::MISSION_CONTROL</autogen>
<autogen>--KeyToKey-- KeyCode::F4, ModifierFlag::CONTROL_L, KeyCode::DASHBOARD</autogen>
<autogen>--KeyToKey-- KeyCode::F4, ModifierFlag::CONTROL_R, KeyCode::DASHBOARD</autogen>
</item>
<item>
<name>Music Controls to Ctrl+F9,F10,F11</name>
<identifier>private.ctrl_functions_as_media.ctrl_music_controls</identifier>
<autogen>--KeyToConsumer-- KeyCode::F9, ModifierFlag::CONTROL_L, ConsumerKeyCode::MUSIC_PREV</autogen>
<autogen>--KeyToConsumer-- KeyCode::F9, ModifierFlag::CONTROL_R, ConsumerKeyCode::MUSIC_PREV</autogen>
<autogen>--KeyToConsumer-- KeyCode::F10, ModifierFlag::CONTROL_L, ConsumerKeyCode::MUSIC_PLAY</autogen>
<autogen>--KeyToConsumer-- KeyCode::F10, ModifierFlag::CONTROL_R, ConsumerKeyCode::MUSIC_PLAY</autogen>
<autogen>--KeyToConsumer-- KeyCode::F11, ModifierFlag::CONTROL_L, ConsumerKeyCode::MUSIC_NEXT</autogen>
<autogen>--KeyToConsumer-- KeyCode::F11, ModifierFlag::CONTROL_R, ConsumerKeyCode::MUSIC_NEXT</autogen>
</item>
<item>
<name>Eject Key to F12</name>
<identifier>private.ctrl_functions_as_media.ctrl_eject_key</identifier>
<autogen>--KeyToConsumer-- KeyCode::F12, ConsumerKeyCode::EJECT</autogen>
</item>
<item>
<name>Power Key to Ctrl+F12</name>
<identifier>private.ctrl_functions_as_media.ctrl_power_key</identifier>
<autogen>--KeyToConsumer-- KeyCode::F12, ModifierFlag::CONTROL_L, ConsumerKeyCode::POWER</autogen>
<autogen>--KeyToConsumer-- KeyCode::F12, ModifierFlag::CONTROL_R, ConsumerKeyCode::POWER</autogen>
</item>
<item>
<name>Volume Controls to Ctrl+F13,F14,F15</name>
<identifier>private.ctrl_functions_as_media.ctrl_volume_controls</identifier>
<autogen>--KeyToConsumer-- KeyCode::F13, ModifierFlag::CONTROL_L, ConsumerKeyCode::VOLUME_MUTE</autogen>
<autogen>--KeyToConsumer-- KeyCode::F13, ModifierFlag::CONTROL_R, ConsumerKeyCode::VOLUME_MUTE</autogen>
<autogen>--KeyToConsumer-- KeyCode::F14, ModifierFlag::CONTROL_L, ConsumerKeyCode::VOLUME_DOWN</autogen>
<autogen>--KeyToConsumer-- KeyCode::F14, ModifierFlag::CONTROL_R, ConsumerKeyCode::VOLUME_DOWN</autogen>
<autogen>--KeyToConsumer-- KeyCode::F15, ModifierFlag::CONTROL_L, ConsumerKeyCode::VOLUME_UP</autogen>
<autogen>--KeyToConsumer-- KeyCode::F15, ModifierFlag::CONTROL_R, ConsumerKeyCode::VOLUME_UP</autogen>
</item>
</item>
</item>
</root>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment