Skip to content

Instantly share code, notes, and snippets.

@chehab
Last active October 10, 2015 18:40
Show Gist options
  • Save chehab/999ac79ea52b70825b3c to your computer and use it in GitHub Desktop.
Save chehab/999ac79ea52b70825b3c to your computer and use it in GitHub Desktop.
Karabiner (keyremap4macbook): private.xml for PC Keyboard
<?xml version="1.0"?>
<root>
<devicevendordef>
<vendorname>A4TECH</vendorname>
<vendorid>0x09da</vendorid>
</devicevendordef>
<deviceproductdef>
<productname>A4TECH_PC_KB</productname>
<productid>0x054f</productid>
</deviceproductdef>
<devicevendordef>
<vendorname>CLIPTEC</vendorname>
<vendorid>0x04d9</vendorid>
</devicevendordef>
<deviceproductdef>
<productname>CLIPTEC_PC_KB</productname>
<productid>0x1702</productid>
</deviceproductdef>
<item>
<name>PC Keyboard Remaping: A4TECH, /*CLIPTEC*/</name>
<item>
<name>Swap WIN(CMD) and Alt</name>
<identifier>private.pckb.swap_wincmd_with_alt</identifier>
<device_only>DeviceVendor::A4TECH, DeviceProduct::A4TECH_PC_KB</device_only>
<!-- <device_only>DeviceVendor::CLIPTEC, DeviceProduct::CLIPTEC_PC_KB</device_only> -->
<!-- <appendix>* Change the left WIN(CMD) key to Option left.</appendix> -->
<!-- <appendix>* Change Option left key to the left WIN(CMD) key.</appendix> -->
<autogen>__KeyToKey__ KeyCode::COMMAND_L, KeyCode::OPTION_L</autogen>
<autogen>__KeyToKey__ KeyCode::OPTION_L, KeyCode::COMMAND_L</autogen>
</item>
<item>
<name>Change the right Application key to Command key.</name>
<identifier>private.pckb.swap_app_with_cmdr</identifier>
<device_only>DeviceVendor::A4TECH, DeviceProduct::A4TECH_PC_KB</device_only>
<!-- <device_only>DeviceVendor::CLIPTEC, DeviceProduct::CLIPTEC_PC_KB</device_only> -->
<autogen>__KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::COMMAND_R</autogen>
</item>
<item>
<name>Change the right Application key to Option key.</name>
<identifier>private.pckb.swap_app_with_optr</identifier>
<device_only>DeviceVendor::A4TECH, DeviceProduct::A4TECH_PC_KB</device_only>
<!-- <device_only>DeviceVendor::CLIPTEC, DeviceProduct::CLIPTEC_PC_KB</device_only> -->
<autogen>__KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::OPTION_R</autogen>
</item>
<item>
<name>Change the right Application key to fn key.</name>
<identifier>private.pckb.swap_app_with_fn</identifier>
<device_only>DeviceVendor::A4TECH, DeviceProduct::A4TECH_PC_KB</device_only>
<!-- <device_only>DeviceVendor::CLIPTEC, DeviceProduct::CLIPTEC_PC_KB</device_only> -->
<autogen>__KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::FN</autogen>
</item>
<item>
<name>Apple's Special keys.</name>
<device_only>DeviceVendor::A4TECH, DeviceProduct::A4TECH_PC_KB</device_only>
<!-- <device_only>DeviceVendor::CLIPTEC, DeviceProduct::CLIPTEC_PC_KB</device_only> -->
<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>
</item>
</root>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment