PCKeyboardHack

  • PCKeyboardHack can change caps lock key behavior. For example, changing caps lock key to delete Key.
  • PCKeyboardHack can activate International Keys on Non-Apple keyboard.

Download PCKeyboardHack-10.6.0  For OS X 10.9, 10.8

Download PCKeyboardHack-9.0.0  For OS X 10.7

Download PCKeyboardHack-7.4.0  For OS X 10.6

Download PCKeyboardHack-5.1.0  For OS X 10.5, 10.4

old versions and version history

Step1

Open a downloaded dmg file, and then open a pkg file in dmg.

dmg pkg

Step2

Installer is launched. Install PCKeyboardHack.

installer

Step3

Launch PCKeyboardHack from Launchpad.

Launchpad

icon

Step1

Open Launchpad (or open " Applications" folder from Finder).

Then, click PCKeyboardHack.


Note If you're using PCKeyboardHack 8.0.0 or earlier, Preferences is in System Preferences.

Step2

Activate items and change the keycode if needed.

Step3 Important

If you are using PCKeyboardHack to change the behavior of caps lock, open "System Preferences > Keyboard > Modifier Keys..." and change caps lock configuration to "No Action".

You need to do this step to to reduce caps lock delay.

  1. Press the "Launch uninstaller" button in PCKeyboardHack Preferences.
  2. Proceed uninstallation.
  3. Then restart OS X.

How to change the caps lock key only on specified keyboards (retain an internal keyboard)?

PCKeyboardHack changes key behavior on all keyboards.
So, you cannot specify enabled devices on PCKeyboardHack.

But you can change keys only on specified devices by using KeyRemap4MacBook and PCKeyboardHack together.
First, change the caps lock key to f19 key on PCKeyboardHack, and then change f19 key on KeyRemap4MacBook.

Steps:

  1. Change key code of the caps lock key to "80" on PCKeyboardHack.
    (Do not forget "No Action" configuration.)

    Then the caps lock key works as f19 key.

  2. Change f19 key on KeyRemap4MacBook with <device_only> tag.

    Please use the following private.xml with replacing <vendorid> and <productid>.
    (How to use private.xml.)

<?xml version="1.0"?>
<root>

  <devicevendordef>
    <vendorname>My_Keyboard_VendorID</vendorname>
    <!-- *** Replace this value with yours. *** -->
    <vendorid>0x05ac</vendorid>
  </devicevendordef>

  <deviceproductdef>
    <productname>My_Target_Keyboard_ProductID</productname>
    <!-- *** Replace this value with yours. *** -->
    <productid>0x0245</productid>
  </deviceproductdef>

  <item>
    <name>Change f19 key to delete key</name>
    <appendix>(Change f19 key to caps lock key on internal keyboard.)</appendix>
    <identifier>private.f19_hack</identifier>
    <block>
      <!-- change f19 key to delete key -->
      <device_only>
        DeviceVendor::My_Keyboard_VendorID,
        DeviceProduct::My_Target_Keyboard_ProductID
      </device_only>
      <autogen>__KeyToKey__ KeyCode::F19, KeyCode::DELETE</autogen>
    </block>
    <block>
      <!-- change f19 key to caps lock key on other devices -->
      <autogen>__KeyToKey__ KeyCode::F19, KeyCode::CAPSLOCK</autogen>
    </block>
  </item>

</root>

PCKeyboardHack does not work on developer-only beta of OS X. Why?

We need to modify secret values of OS X to performs purpose of PCKeyboardHack.

However, we cannot access those secret values via SDK which Apple provides. We need source code of OS X to modify these values.

This source code will not be published until new OS X is shipped. Therefore, PCKeyboardHack is intentionally disabled on beta version of OS X.

Please wait until new OS X is shipped from Apple. And please wait new version of PCKeyboardHack for new OS X.

PCKeyboardHack provides a command line interface. (PCKeyboardHack_cli command)

  • You can change settings.
  • You can export configuration.

How to show help

Execute PCKeyboardHack_cli with no argument.

$ /Applications/PCKeyboardHack.app/Contents/Library/bin/PCKeyboardHack_cli
Usage:
  PCKeyboardHack_cli export
  PCKeyboardHack_cli relaunch
  PCKeyboardHack_cli set IDENTIFIER VALUE

Example:
  PCKeyboardHack_cli export
  PCKeyboardHack_cli relaunch
  PCKeyboardHack_cli set keycode_capslock 80

About "export" option

  1. Export configuration by "export" option.
    The output is a shell script.
    $ /Applications/PCKeyboardHack.app/Contents/Library/bin/PCKeyboardHack_cli export > ~/Desktop/pckeyboardhack-import.sh
    
  2. You can import it from Terminal.
    $ sh ~/Desktop/pckeyboardhack-import.sh
    ...........................................
    

Version 10.6.0 Mar 14, 2014 Download

  • A command line interface (PCKeyboardHack_cli) has been added.

Version 10.5.0 Jan 26, 2014 Download

  • Fixed issues:
    • "Kernel extension is not loaded" alert might be shown on some machines when automatic login is enabled.

Version 10.4.0 Dec 1, 2013 Download

  • PCKeyboardHack no longer requires system restart at installing or upgrading.
    If you need to restart system for some reason, PCKeyboardHack will show an alert which urges you to restart.
  • Added a remappable key: Application Key (Menu Key) on PC keyboard.

Version 10.2.0 Nov 10, 2013 Download

  • Signed kext with Developer ID.
  • Updated installer.

Version 10.0.0 Oct 20, 2013 Download

  • Supported OS X 10.9.
  • Icons have been updated. (Thanks to Kouji TAMURA.)
  • Signed with Developer ID.

Version 9.0.0 Jan 13, 2013 Download

  • The preferences has been integrated into app.
  • Some minor improvements.

Version 8.0.0 Aug 11, 2012 Download

  • Update for OS X 10.8 Mountain Lion.

Version 7.4.0 Apr 24, 2012 Download

  • Changed package archive format to dmg from zip.

Version 7.3.0 Feb 21, 2012 Download

  • Added a remappable key: International Keys, Lang Keys and keys on Sun Type6 Keyboard.
  • Updated source code for Xcode 4.3.

Version 7.2.0 Oct 26, 2011 Download

  • Added a remappable key: ADB Keyboard Power Key.
  • Resolved a minor installer issue.

Version 7.1.0 Aug 16, 2011 Download

  • Added remappable keys: Command, Control, Option, Shift, Escape, Delete, Return, Keypad Enter.
  • Added software update feature.
  • Fixed a minor issue on Mac OS X 10.7.

Version 7.0.0 Jul 23, 2011 Download

  • Update for Mac OS X 10.7 Lion.
  • Removed "Change Control Key" feature. Use KeyRemap4MacBook to do it.

Version 6.3.0 May 11, 2010 Download

  • Improved a log message.

Version 6.2.0 Jan 20, 2010 Download

  • Improved the Preference Pane.

Version 6.1.0 Jan 5, 2010 Download

  • Supported Fast User Switching.

Version 6.0.0 Sep 13, 2009 Download

  • Stable release for Snow Leopard..

Version 5.1.0 May 26, 2008 Download

  • Minor Improvements.

Version 5.0.0 May 7, 2008 Download

  • Minor Improvements.

Version 2.3.0 Dec 15, 2007

  • Initial release.