Karabiner-Elements Changelog

What's new in Karabiner-Elements 14.13.0

Dec 11, 2023
  • Important Notes:
  • A reboot is required when upgrading from version 14.12.0 or earlier, to update the virtual keyboard driver.
  • New Features:
  • Palm detection is supported in MultitouchExtension. (Thanks to @quarkw)
  • Use Bluetooth address (Bluetooth MAC address) is used to identify the device when the Bluetooth device does not have Vendor ID and Product ID. (Thanks to @stackia)
  • Gamepad support (DirectInput devices are supported. Xinput is not supported at all)
  • Added "Add your own rule" button into Complex Modifications settings.
  • The json content of Complex Modifications can now be changed via the Edit button.
  • Added "Move item to top" and "Move item to bottom" into the context menu of the Complex Modifications list.
  • Add the following settings into Devices tab:
  • Flip mouse X
  • Flip mouse Y
  • Flip mouse vertical wheel
  • Flip mouse horizontal wheel
  • Swap mouse X and Y
  • Swap mouse wheels
  • Add the following options to karabiner_cli:
  • --format-json
  • --eval-js
  • --silent
  • Changes for users who write their own json:
  • The device_address condition has been added into device_if and device_unless. (Thanks to @stackia)
  • Added key_up_value to set_variable.
  • Added mouse_basic manipulator.
  • Improvements:
  • Added the ability to filter by keywords when adding Complex Modifications rules.
  • Adjusted the position of the Add rule button in Complex Modifications. (Thanks to @GanZhiXiong)
  • MultitouchExtension has been rewritten in Swift.

New in Karabiner-Elements 14.12.0 (Apr 18, 2023)

  • New Features:
  • Added the ability to switch application icons. This can be changed from the UI tab in Settings.
  • Manual:
  • Added new application icons. (Thanks to @Zabriskije)
  • Added the following variables in MultitouchExtension. (Thanks to @codeanpeace):
  • multitouch_extension_finger_count_upper_quarter_area
  • multitouch_extension_finger_count_lower_quarter_area
  • multitouch_extension_finger_count_left_quarter_area
  • multitouch_extension_finger_count_right_quarter_area
  • Improvements:
  • Prevent moving the mouse from waking up from sleep by ungrab devices during system sleep. (Thanks to @aspacca)
  • Fixed inconsistent and confusing brightness label in Simple Modifications. (Thanks to @revolter)
  • Improved MultitouchExtension to synchronize finger count (half and quarter) variables with finger movement.
  • Moved "Disable the built-in keyboard while this device is connected" settings into Devices tab from Devices > Advanced tab in Settings.
  • Bug Fixes:
  • Fixed an issue that dynamic keyboard type change (ANSI, ISO and JIS) by changing the country code of the virtual keyboard did not work properly.

New in Karabiner-Elements 14.11.0 (Jan 8, 2023)

  • Breaking changes:
  • Changed bundle identifier of Karabiner-Elements Settings to org.pqrs.Karabiner-Elements.Settings from org.pqrs.Karabiner-Elements.Preferences.
  • New Features:
  • Added Ask for confirmation when quitting option into Settings > Misc tab. (Thanks to @basti1302)
  • Improvements:
  • Improved health checks for inter-process communication to better recover from errors.
  • Bug Fixes:
  • Fixed an issue that uninstaller does not remove Karabiner-Elements.app and Karabiner-EventViewer.app in macOS Ventura.
  • Fixed an issue that could cause multiple update windows will be shown.

New in Karabiner-Elements 14.10.0 (Sep 25, 2022)

  • Improvements:
  • Update set_mouse_cursor_position to use the current screen if screen option is not specified. (Thanks to @gnawf)
  • Sparkle Framework has been updated.
  • Bug Fixes:
  • Fixed an issue that the device_if and device_unless does not work if vendor_id or product_id is zero. (or more precisely, if vendor_id or product_id cannot be retrieved and is set to 0)

New in Karabiner-Elements 14.9.0 (Sep 11, 2022)

  • New Features:
  • Supported Remote control buttons. (menu arrows buttons, color buttons)
  • The is_built_in_keyboard has been added into device_if and device_unless.
  • The device_exists_if and device_exists_unless has been added into conditions.
  • Bug Fixes:
  • Fixed an issue that the ignored device's modifier keys are not ignored properly.

New in Karabiner-Elements 14.8.0 (Aug 11, 2022)

  • New Features:
  • Add Enable unsafe configuration feature into Preferences > Pro tab.
  • Bug Fixes:
  • Fixed an issue that the built-in keyboard is not be treated as the built-in keyboard if the keyboard is connected via SPI (Serial Peripheral Interface), such as M2 MacBook Air.

New in Karabiner-Elements 14.6.0 (Jul 31, 2022)

  • New Features:
  • Treat as built-in keyboard setting has been added into Devices configuration. It works with "Disable the built-in keyboard" feature.
  • Bug Fixes:
  • Fixed an issue that "Disable the built-in keyboard" feature does not work if the built-in keyboard is not included in the event modification target devices.

New in Karabiner-Elements 14.5.0 (Jul 17, 2022)

  • Breaking changes:
  • The following modifier flags and manipulators are now canceled even for events from devices not grabbed by Karabiner-Elements, e.g. mouse clicks.
  • sticky modifiers
  • to_if_alone
  • to_if_held_down
  • to_delayed_action
  • Improvements:
  • Improved behavior the sticky modifiers when used together with the built-in trackpad. (Thanks to @quarkw)
  • Preferences Window is rewritten in SwiftUI.
  • set_variable now supports bool and string value.
  • Sparkle Framework has been updated.

New in Karabiner-Elements 14.4.0 (Mar 1, 2022)

  • Bug Fixes:
  • Fixed an issue that NotificationWindow causes high CPU usage in some environments.

New in Karabiner-Elements 14.3.0 (Nov 21, 2021)

  • Improvements:
  • Added System Extensions tab to EventViewer.
  • Added a workaround for macOS's ioreg command issue that consumes high CPU usage on macOS Monterey.

New in Karabiner-Elements 14.2.0 (Nov 3, 2021)

  • Breaking changes:
  • macOS 10.15 support has been dropped.
  • New Features:
  • Supported Touch ID on Magic Keyboard.
  • Supported application launcher keys (Mail, Browser, Calculator, etc.) which are belong to HID Consumer Usage Page and Application Launch Buttons Usage.
  • Add new features for writing your own settings:
  • Added software_function.iokit_power_management_sleep_system.
  • Bug Fixes:
  • Fixed an issue that an alert window appears in an incorrect position on macOS 12 Monterey.
  • Improvements:
  • Update application icons. (Thanks to Kouji TAMURA)
  • EventViewer is rewritten in SwiftUI.

New in Karabiner-Elements 13.7.0 (Sep 6, 2021)

  • Bug Fixes:
  • Fix an issue that shell_command does not set environment variables (HOME, USER, etc.).

New in Karabiner-Elements 13.6.0 (Sep 5, 2021)

  • New Features:
  • Add new features for writing your own settings:
  • Added software_function.cg_event_double_click.
  • Added software_function.set_mouse_cursor_position.
  • Added set_notification_message.
  • Bug Fixes:
  • Fixed an issue that karabiner.json parse error message is not shown in Preferences > Log if the error message contains corrupted characters.
  • Improvements:
  • Changed to log the output of shell_command into console_user_server.log.
  • The notification window transparency will be increased when the mouse cursor is hovered.

New in Karabiner-Elements 13.5.0 (Jun 20, 2021)

  • Improvements:
  • Improved temporary directory handling to reduce the frequency of mds process accessing it.
  • Improved mouse_key.speed_multiplier handling when it is used with to.modifiers, the modifier is retained while speed_multiplier is active.
  • The caps lock LED manipulation has been enabled by default.
  • Note: This change applies to newly connected keyboards.
  • Several Objective-C code around GUI has been rewritten in Swift + SwiftUI.

New in Karabiner-Elements 13.4.0 (Apr 5, 2021)

  • Bug Fixes:
  • Fixed an issue that Karabiner-Elements stops working with virtual_hid_keyboard is not ready. Please wait for a while. error message when you kill karabiner_console_user_server process manually.
  • Improvements:
  • Changed to terminate virtual HID devices immediately after quit Karabiner-Elements.

New in Karabiner-Elements 13.3.0 (Feb 1, 2021)

  • Bug Fixes:
  • Fixed an issue that installer requires Rosetta 2 on Apple Silicon Macs.
  • Breaking changes:
  • Changed the default function of f4 key to spotlight, f5 key to dictation, f6 key to f6.
  • Note: This change will be applied when you create a new profile.
  • Changed to Karabiner-Elements does not modify f1-f12 keys on touch bar.
  • The caps lock delay of Karabiner Virtual HID Keyboard has been removed.
  • The state of caps lock will be changed immediately after you press the caps lock key.
  • New Features:
  • Supported sticky modifier keys
  • Added apple_vendor_keyboard_key_code and apple_vendor_top_case_key_code to event definitions.
  • apple_vendor_keyboard_key_code
  • apple_vendor_top_case_key_code
  • Improvements:
  • Updated in-app screenshots to Big Sur.
  • Added the close button to notification window.

New in Karabiner-Elements 13.1.0 (Oct 30, 2020)

  • Important Notes:
  • Restarting macOS is required after upgrading from v13.0.0.
  • The following alert will be shown after upgrade. Please follow the instructions.
  • driver version not matched alert
  • Bug Fixes:
  • Fixed an issue that Karabiner-DriverKit-VirtualHIDDevice might crash when caps lock key is pressed in some environments.

New in Karabiner-Elements 13.0.0 (Oct 5, 2020)

  • 💥 Breaking changes:
  • macOS 10.12 - 10.14 support has been dropped.
  • ✨ New Features:
  • Supported macOS Big Sur (11.0)
  • Supported both Intel-based Macs and Apple Silicon Macs.
  • Changed the virtual keyboard and mouse implementation to DriverKit from deprecated kernel extension.
  • ⚡️ Improvements:
  • Improved preferences window messages.
  • Partial support for comments in karabiner.json configuration file.
  • Supported reading json file with comments.
  • Limitation: The json comments will be removed if you change the json from Preferences GUI or command line interface.

New in Karabiner-Elements 12.10.0 (Jun 28, 2020)

  • New Features:
  • event_changed_if and event_changed_unless has been added to conditions.
  • Improvements:
  • Improved sending f1-f12 keys in complex modification (e.g., "change command+e to f2") by ignoring media key mappings for these keys.
  • Improved caps lock LED handling.
  • Improved uninstaller adding the kernel extension staging area clean up.
  • Improved complex modifications json checker.
  • "Check for updates" has been improved:
  • Updated Sparkle signing to EdDSA (ed25519) from DSA.
  • URL of appcast.xml has been updated.

New in Karabiner-Elements 12.9.0 (Jan 20, 2020)

  • New Features:
  • Open config folder button has been added into Preferences.
  • The feature provides an easy way exporting configuration.
  • Improvements:
  • Added a workaround for non-dismissible Device is ignored temporarily alert which is caused by some devices that sends abnormal input events.
  • Bug Fixes:
  • Fixed Add {key_code} to Karabiner-Elements button on EventViewer for unnamed keys (raw number key codes).
  • Fixed an issue that modifier flag events are not dispatched when changing pointing button while other character keys are pressed.
  • (e.g., when changing pointing_button::button3 -> command+pointing_button::button1, command modifier is not sent when button1 is pressed while t key is also pressed.)

New in Karabiner-Elements 12.8.0 (Nov 17, 2019)

  • New Features:
  • Add --show-current-profile-name option into karabiner_cli.
  • Add --list-profile-names option into karabiner_cli.
  • Bug Fixes:
  • Fixed an issue that Karabiner-Elements stops working after switching user on macOS Catalina.
  • Fixed an issue that Caps Lock LED is always manipulated even Manipulate LED setting is off.
  • Fixed an issue that MultitouchExtension does not handle ignored area properly when a finger is touched ignored area repeatedly.

New in Karabiner-Elements 12.7.0 (Sep 13, 2019)

  • Fixed:
  • Fixed an issue that Karabiner-Elements might stop working after sleep on macOS Catalina.
  • New:
  • MultitouchExtension app has been added.
  • Added `--set-variables` option into `karabiner_cli`.
  • Improved:
  • Dark Mode has been supported.

New in Karabiner-Elements 12.5.0 (Jun 10, 2019)

  • Fixed a key stuck issue which occurs when the key is released, and at the exact same moment Karabiner-Elements opens the device.
  • Fixed a issue which Karabiner-Elements mistakes a remote user for a current console user if another user is logged in from Screen Sharing while console is used.
  • Improved `XXX is ignored temporarily until YYY is pressed again` behavior.
  • Add `Delay before open device` configuration into `Karabiner-Elements Preferences > Devices > Advanced` tab.
  • Move `Disable the built-in keyboard while one of the following selected devices is connected` configuration into `Karabiner-Elements Preferences > Devices > Advanced` tab.
  • Added `Show key code in hexadecimal format` option into EventViewer.

New in Karabiner-Elements 12.4.0 (May 17, 2019)

  • Fixed:
  • Fixed a key stuck issue which occurs when the key is held down before Karabiner-Elements opens the device.
  • New:
  • `Device is ignored temporarily` alert has been introduced.
  • This alert will be shown if you hold keys or buttons down before Karabiner-Elements open the device.
  • Please press the described key or button again to dismiss the alert.
  • notification window
  • Add `Mouse Key XY speed` configuration into `Karabiner-Elements Preferences > Virtual Keyboard` tab.
  • Improved:
  • Event code format on EventViewer changed to decimal number from hex.

New in Karabiner-Elements 10.22.0 (Oct 31, 2016)

  • Fixes:
  • Some Qt apps might be crash when AXNotifier is enabled. (VirtualBox, LyX, Wireshark)
  • Improved:
  • Default setting of AXNotifier has been changed. (Enabled in Microsoft Office)
  • Prepared settings have been updated.

New in Karabiner-Elements 10.21.0 (Jul 6, 2016)

  • Fixed an issue:
  • The initial key repeat rate of Karabiner will be set the slower value if you have not changed the key repeat rate in System Preferences.
  • Fixed an issue:
  • Karabiner does not save preferences properly in an edge case.
  • Improved:
  • Prepared settings have been updated.

New in Karabiner-Elements 10.20.0 (Jun 16, 2016)

  • Fixed issues:
  • Remote Desktop detection will be failed in some cases.
  • Input source switching settings does not work in some environments.
  • Updates for people who add new settings by oneself:
  • `Option::FLIPSCROLLWHEEL_HORIZONTAL` and `Option::FLIPSCROLLWHEEL_VERTICAL` have been supported in `__PointingRelativeToScroll__`.

New in Karabiner-Elements 10.19.0 (Jun 10, 2016)

  • The multi-touch extension default configuration has been changed.
  • If you are using ThumbSense, please enable ThumbSense setting manually in multi-touch extension preferences.
  • Fixed an issue:
  • The argument treatment in `warp-mouse-cursor-position` utility is wrong.
  • These adjustment values for `screen` and `front_window` were exchanged.
  • For example, the vertical adjustment value for `screen` and `front_window` is used in horizontal adjustment.
  • Fixed an issue:
  • Some Java apps might be crash when AXNotifier is enabled. (SAP GUI for Java)
  • The device disconnect handling has been improved.
  • `Use modifier symbols (⌘⌃⌥⇧⇪) in place of the modifier names` has been added into Karabiner Preferences > Status Message tab.
  • Prepared settings have been updated.
  • UPDATES FOR PEOPLE WHO ADD NEW SETTINGS BY ONESELF:
  • `` has been introduced.
  • `Option::KEYTOKEY_DELAYED_ACTION_MILLISECONDS` has been added.
  • The following filters have been added:
  • The following environment variables has been added into replacementdef:
  • {{ ENV_Select_the_previous_input_source_shortcut }}
  • {{ ENV_Select_next_source_in_input_menu_shortcut }}
  • Fixed an issue:
  • In some case, ModifierFlag pattern matching of `Option::KEYTOKEY_AFTER_KEYUP` in `__KeyOverlaidModifier__` and `__HoldingKeyToKey__` does not work property.

New in Karabiner-Elements 10.18.0 (Mar 7, 2016)

  • Fixed an issue that is introduced in Karabiner 10.17.0:
  • Karabiner will be crashed when you change settings after you opened and closed the Preferences window in OS X 10.10.

New in Karabiner-Elements 10.17.0 (Mar 5, 2016)

  • "Show icon in Dock" setting has been added.
  • "Resume at login" setting has been added.
  • You can disable auto resume function.
  • The word-wrap property of setting description in Preferences became break-word.
  • The font size in Preferences has been selectable from "default font" and "large font".
  • The consumer keys (media keys) repeat values has been synchronized with the key repeat values.
  • The behavior of starting Karabiner on system startup has been improved.
  • Prepared settings have been updated.
  • Fixed an issue:
  • Some Qt apps might be crash when AXNotifier is enabled. (WISO apps)
  • Fixed an issue:
  • Microsoft Excel scroll position is sometimes reset while using scroll wheel.
  • "Disable an internal keyboard while external keyboards are connected" setting has been improved:
  • Mionix Naos 7000 has been supported.
  • Logitech Bluetooth Mouse M555b has been supported.
  • Microsoft Sculpt Touch Mouse has been supported.
  • UPDATES FOR PEOPLE WHO ADD NEW SETTINGS BY ONESELF:
  • Option::FLIPSCROLLWHEEL_ROTATE has been added.
  • PointingRelative::ANY has been added into __PointingRelativeToKey__.
  • Fixed an issue:
  • __KeyDownUpToKey__ sends only the last interrupted events when multiple interrupted events are specified.

New in Karabiner-Elements 10.15.0 (Dec 21, 2015)

  • NEW FUNCTIONS AND IMPROVEMENTS:
  • The safety limit of key repeat rate has been removed.
  • You can overwrite key repeat rate by extreme fast values.
  • GUI for enabling debug mode has been added into Karabiner Preferences.
  • Prepared settings have been updated.
  • ModifierFlag treatment has been improved in Option::KEYTOKEY_DELAYED_ACTION.
  • "Disable an internal keyboard while external keyboards are connected" setting has been improved:
  • Razer DeathAdder Chroma has been supported.
  • Updates for people who add new settings by oneself:
  • Some error messages have been improved.
  • FIXED ISSUES:
  • Some Java apps might be crash when AXNotifier is enabled. (Fiji)

New in Karabiner-Elements 10.14.0 (Nov 5, 2015)

  • New functions and improvements: "Karabiner Preferences > Key Repeat tab" UI has been improved.
  • Fixed issues: The key repeat configuration migration sometimes does not set properly values when Karabiner has been upgrade from v10.11.0 or prior.

New in Karabiner-Elements 10.13.0 (Nov 2, 2015)

  • New functions and improvements:
  • "Overwrite the key repeat values of system" option has been added.
  • Karabiner uses the system values unless this option is enabled.
  • The key up event handling has been improved in some keyboards.
  • "Don't remap Apple's keyboards" setting supported Magic Keyboard.
  • Karabiner Preferences became resizable.
  • Prepared settings have been updated.
  • Fixed issues:
  • __SimultaneousKeyPresses__ sometimes fails sending key up event when __BlockUntilKeyUp__ is used together.

New in Karabiner-Elements 10.11.0 (Oct 11, 2015)

  • Fixed issues:
  • __SimultaneousKeyPresses__ sends key events continuously even if all keys are released when using multiple keyboards at the same time and both keyboards are pressed.
  • Some Java apps might be crash when AXNotifier is enabled. (Spine, SpineTrial)

New in Karabiner-Elements 10.10.0 (Oct 8, 2015)

  • New functions and improvements:
  • "Use prepared settings" option has been added into Karabiner Preferences > Misc & Uninstall tab.
  • urning off the setting allows you to drop prepared settings and improve the speed of reloading XML.
  • EventViewer has been improved.
  • Media control events and some key combinations are supported.
  • Event modification has been improved when you are using multiple keyboards at the same time.
  • AXNotifier supported OmniFocus2 Quick Entry.
  • Prepared settings have been updated.
  • Updates for people who add new settings by oneself: once attribute has been introduced into tag.
  • Fixed issues:
  • The CPU usage of Preview.app might be 100% at opening a huge PDF file when AXNotifier is enabled.

New in Karabiner-Elements 10.9.0 (Sep 7, 2015)

  • Incompatibility changes:
  • The fn keypad has been removed from Implicit behavior.
  • Please use either of the following settings instead if you need.
  • "Fn+Number to KeyPad"
  • "Use old style fn keypad"
  • New functions and improvements:
  • The external keyboard handling has been improved.
  • Prepared settings have been updated.
  • Updates for people who add new settings by oneself:
  • The following filters have been added.
  • Fixed issues:
  • __DropKeyAfterRemap__ does not work properly if the target key is changed by that is defined before __DropKeyAfterRemap__.

New in Karabiner-Elements 10.8.0 (Aug 25, 2015)

  • NEW FUNCTIONS AND IMPROVEMENTS:
  • AXNotifier supported new Alfred (Alfred 2.7.2).
  • Prepared settings have been updated.
  • __PassThrough__ behavior has been improved.
  • Updates for people who add new settings by oneself:
  • The following filters have been added:
  • FIXED ISSUES:
  • multi-touch extension might stop working after wake up.

New in Karabiner-Elements 10.7.0 (Aug 11, 2015)

  • New option has been added into command line interface: toggle, be_careful_to_use__clear_all_values_by_name
  • "Status Message > Show caps lock state" option has been added.
  • Multiple displays support has been improved. The status message will be shown in the all screen.
  • Fast User Switching support has been improved.
  • Prepared settings have been updated.
  • Incompatibility changes:
  • The default mouse keys scroll direction has been changed to natural.
  • and filters have been merged into and .
  • Please use and in your private.xml.
  • Launcher Mode v2 uses own modifier flag in order to improve usability.
  • If you extended Launcher Mode v2 by LAUNCHER_MODE_V2_EXTRA, please remove ModifierFlag::NONE from LAUNCHER_MODE_V2_EXTRA.
  • Example:
  • old: __KeyDownUpToKey__ KeyCode::A, ModifierFlag::NONE, KeyCode::VK_OPEN_URL_APP_Activity_Monitor
  • new: __KeyDownUpToKey__ KeyCode::A, KeyCode::VK_OPEN_URL_APP_Activity_Monitor
  • Updates for people who add new settings by oneself:
  • __DropAllKeys__ has been added.
  • Option::KEYTOKEY_DELAYED_ACTION has been added.
  • Option::KEYTOKEY_INCREASE_MODIFIER_FLAGS has been added.
  • Option::SIMULTANEOUSKEYPRESSES_POST_FROM_EVENTS_AS_RAW has been added.
  • The following filters have been added: and
  • __HoldingKeyToKey__ has been improved at you pressed modifiers while holding target key down.
  • ModifierFlag pattern matching has been introduced into Option::KEYTOKEY_AFTER_KEYUP.
  • high_priority attribute has been introduced into tag.
  • behavior has been improved. It preserves prepared settings when you use in private.xml for bundle identifiers that are in prepared appdef.xml.
  • KeyCode::VK_MOUSEKEY_FIXED_DISTANCE_SCROLL_* have been added.
  • Fixed issues:
  • Some Java apps might be crash when AXNotifier is enabled. (Eclipse, Screencast-O-Matic, RazorSQL, EditRocket)
  • kext loading issue on OS X 10.11 beta 6 has been fixed.

New in Karabiner-Elements 10.6.0 (Jan 14, 2015)

  • A following prepared setting has been fixed.
  • General > Disable an internal keyboard while external keyboards are connected.
  • "Sort by name" and "Sort by created" button have been added in Preferences > MenuBar.
  • Prepared settings have been updated.

New in Karabiner-Elements 10.5.0 (Dec 13, 2014)

  • Fixed issues:
  • Some Java apps might be crash when AXNotifier is enabled. (IntelliJ IDEA, PhpStorm, RubyMine, Android Studio)
  • and filters are ignored when multiple keyboards are connected and same keys are pressed at the same time.
  • Improvements:
  • "Ignore bouncing (chattering) events" setting has been added.
  • Spotlight has been supported in and filters.
  • Quit button has been added into Preferences.
  • Simultaneous presses detection with rapid key typing has been improved.
  • ModifierFlag manipulation when key up has been improved.
  • Prepared settings have been updated.
  • Updates for people who add new settings by oneself:
  • Option::FORCENUMLOCKON_FORCE_OFF has been added.
  • __KeyDownUpToKey__ has been added.
  • ignores missing files. (Karabiner does not show an alert dialog when refers missing files.)

New in Karabiner-Elements 10.4.0 (Oct 15, 2014)

  • A broken prepared setting has been fixed.

New in Karabiner-Elements 10.3.0 (Oct 8, 2014)

  • Stability at reloading XML has been improved.
  • OS X 10.10 support has been improved.
  • Prepared settings have been updated.
  • "Check for updates" (Sparkle) has been updated.
  • "Restart AXNotifier" button has been added into Preferences.
  • Fixed issue:
  • EventViewer does not show control-tab and control-shift-tab event when Full Keyboard Access is enabled.
  • Updates for people who add new settings by oneself:
  • The following filters have been added: , , ,

New in Karabiner-Elements 10.2.0 (Aug 22, 2014)

  • Fixed issues:
  • Shortcuts (eg. Ctrl-C, Ctrl-V) might not work properly in Microsoft Remote Desktop.
  • Some Java apps will be crash.
  • Added an option to disable AXNotifier. ("AXNotifier" tab in Preferences.)
  • Updated prepared settings.
  • Some minor improvements.
  • Profile management functions have been added into command line interface.
  • Updates for people who add new settings by oneself:
  • __HoldingKeyToKey__ and __KeyOverlaidModifier__ support Option::KEYTOKEY_BEFORE_KEYDOWN and Option::KEYTOKEY_AFTER_KEYUP.
  • You can also use __{ }__ as well as @begin, @end.

New in Karabiner-Elements 10.1.0 (Jul 23, 2014)

  • Fixed issues:
  • The continuous key sequence will be improper order in environments which VMWare Fusion is installed.
  • A message "Karabiner cannot connect with kernel extension" might be shown in some environment.
  • Show an error alert when Karabiner is not placed in /Applications.
  • Updates for people who add new settings by oneself: Added KeyCode::VK_IOHIKEYBOARD_TOGGLE_NUMLOCK.
  • Updated prepared settings.
  • Some minor improvements.

New in Karabiner-Elements 10.0.0 (Jul 10, 2014)

  • KeyRemap4MacBook has been renamed to "Karabiner".
  • AXNotifier has been added.
  • AXNotifier allows you to observe the window name (window title) and the focused ui element role (eg. whether textarea or not).
  • For example, a setting that allows you to use hjkl keys as arrow keys in Finder when you are not editing text such as filename has been added.
  • A command line utility "warp-mouse-cursor-position" has been added.
  • Settings which use this utility have been added, too.
  • Updated prepared settings.
  • Some minor improvements.
  • Fixed issues:
  • A message "Kernel extension is not loaded" might be shown in some environment.
  • Status Message will not be shown properly when you are using multiple displays.
  • Updates for people who add new settings by oneself:
  • You can add your own modifiers by . Usage of .
  • Added and filters.
  • Added and filters.
  • Added __PointingRelativeToKey__.
  • Added __PassThrough__. You can disable all settings in specific situations.
  • You can use KeyCode and ConsumerKeyCode in __PointingRelativeToScroll__.
  • Added ThresholdMillisecond into __HoldingKeyToKey__.
  • You can control a holding threshold.
  • Added __BlockUntilKeyUp__.
  • Added Option::KEYOVERLAIDMODIFIER_REPEAT_TOKEYS.
  • Added Option::DROPSCROLLWHEEL_DROP_MOMENTUM_SCROLL.
  • Added KeyCode::VK_NEGATIVE_LOCK_*. (eg. KeyCode::VK_NEGATIVE_LOCK_COMMAND_L, KeyCode::VK_NEGATIVE_LOCK_SHIFT_L.)
  • Added KeyCode::VK_STICKY_ACTIVE_MODIFIERS_*.
  • An incompatible change:
  • KeyCode::VK_JIS_TEMPORARY_* are removed.
  • Please use , Option::KEYTOKEY_BEFORE_KEYDOWN, Option::KEYTOKEY_AFTER_KEYUP, KeyCode::JIS_EISUU and KeyCode::JIS_KANA instead.

New in Karabiner-Elements 9.3.0 (Feb 17, 2014)

  • Updated prepared settings.
  • Fixed an issue:
  • "Kernel extension is not loaded" alert might be shown on some machines when automatic login is enabled.
  • Updates for people who add new settings by oneself:
  • These manipulators have been integrated into __KeyToKey__. You can change KeyCode, ConsumerKeyCode and PointingButton by __KeyToKey__: __KeyToConsumer__, __ConsumerToKey__, __ConsumerToConsumer__, __KeyToPointingButton__, __PointingButtonToKey__, __PointingButtonToPointingButton__
  • You can use KeyCode, ConsumerKeyCode and PointingButton in these manipulators: __KeyOverlaidModifier__, __HoldingKeyToKey__, __SimultaneousKeyPresses__, __DoublePressModifier__, __ScrollWheelToKey__, __PointingRelativeToScroll__
  • Improved KeyCode::VK_CONFIG_* behavior in the edge case.
  • You can change the delay and speed of keyboard repeat per autogen.
  • For example, this autogen changes control-p to up arrow with: delay until repeat: 100ms, key repeat: 10ms

New in Karabiner-Elements 9.2.0 (Nov 30, 2013)

  • KeyRemap4MacBook no longer requires system restart at installing or upgrading.
  • If you need to restart system for some reason, KeyRemap4MacBook will show an alert which urges you to restart.
  • Fixed issues:
  • System might crash when you disconnected a keyboard.
  • Updated some prepared settings.

New in Karabiner-Elements 9.0.0 (Nov 15, 2013)

  • Optimized for OS X 10.9.
  • KeyRemap4MacBook 9.0.0 requires OS X 10.9+.
  • Added delay configurations into multi-touch extension.
  • Drop power button support due to limitations of OS X 10.9.
  • You can no longer change the power button on MacBook.
  • Updated installer.
  • Some minor improvements.
  • Signed with Developer ID.
  • Fixed issues:
  • ENV_HOME does not work properly in included xml.
  • New plugged devices will not be recognized on OS X 10.9.
  • KeyRemap4MacBook disables the shut down dialog.
  • Fn key on Leopold FC660M cancels mouse dragging.
  • Updated prepared settings:
  • "VIM Emulation" has been updated.
  • Fixed "MarkSet" in Emacs Mode.

New in Karabiner-Elements 8.4.0 (Sep 24, 2013)

  • Icons have been refined.
  • Updates for people who add new settings by oneself:
  • @begin and @end have been introduced in private.xml.
  • You can use more than one key to remapped keys with __KeyOverlaidModifier__, __DoublePressModifier__.
  • Shell commands execution has been supported with KeyCode::VK_OPEN_URL_*.

New in Karabiner-Elements 8.3.0 (May 20, 2013)

  • Fixed a bug that "Look up" feature of OS X (tap trackpad with three fingers) does not work properly.
  • Some minor improvements.

New in Karabiner-Elements 8.2.0 (May 17, 2013)

  • Fixed a bug that object selection is disabled on Adobe Fireworks.
  • Fixed a bug that "General > Don't remap XXX" does not take effect immediately.
  • Fixed a bug that control-eject shortcut does not work properly on OS X 10.7 and 10.6.

New in Karabiner-Elements 8.1.0 (May 13, 2013)

  • Power button remapping has been supported. (Thanks to Peter Kamb who is the author of PowerKey.)
  • Added "Quit KeyRemap4MacBook" into menu bar.
  • Added some styles into status message indicator.
  • Improved compatibility with SmoothMouse.
  • Updates for people who add new settings by oneself.
  • Supported more than three keys at __SimultaneousKeyPresses__.
  • Added KeyCode::VK_OPEN_URL_*.
  • Added KeyCode::VK_PARTIAL_KEYDOWN and KeyCode::VK_PARTIAL_KEYUP.
  • Added Option::POINTINGRELATIVETOSCROLL_TOKEYS.
  • Added __FlipPointingRelative__.
  • Added __FlipScrollWheel__.
  • Added filters:
  • Some minor improvements.

New in Karabiner-Elements 8.0.0 (Jan 31, 2013)

  • Preferences has been integrated into app.
  • Integrated a status message indicator. (Removed Growl support.)
  • Added a preference of ignored area into "multi-touch extension".
  • Changed KeyRemap4MacBook_cli location.
  • Dynamic KeyCode::VK_CHANGE_INPUTSOURCE definition feature has been added.
  • definition feature has been added.
  • Added Option::SIMULTANEOUSKEYPRESSES_STRICT_KEY_ORDER.
  • Added DeviceLocation into , filters.
  • Changed --KeyToKey-- to __KeyToKey__ at .
  • Some minor improvements.

New in Karabiner-Elements 7.8.0 (Jun 27, 2012)

  • Fixed a bug that "General > Don't restore modifiers in the mouse event" does not work properly.
  • Fixed a bug that private.xml does not work properly if contains white space.
  • Some minor improvements.

New in Karabiner-Elements 7.7.0 (May 10, 2012)

  • Fixed a bug introduced in version 7.6.0 that detecting of Input Sources does not work properly in Japanese and some other languages.

New in Karabiner-Elements 7.6.0 (May 9, 2012)

  • Improved XML processing engine. (XML reloading is 2x faster.)
  • Some minor improvements.
  • Added about 110 kinds settings to preset.
  • Updates for people who add new settings by oneself.
  • Added . You can replace preset settings behavior by this. (reference)
  • Added . You can load external xml files in private.xml. (reference)
  • Added --ScrollWheelToKey--.
  • Added --ScrollWheelToScrollWheel--.
  • Added KeyCode::VK_WAIT_*.

New in Karabiner-Elements 7.5.0 (Nov 2, 2011)

  • Support Growl-1.3 on notifications.
  • Some minor improvements.
  • Resolved a minor installer issue.
  • Added about 40 kinds settings to preset.
  • Updates for people who add new settings by oneself.
  • Dynamic ApplicationType,DeviceVendor,DeviceProduct definition feature has been added.
  • Application Specific Setting
  • Device Specific Setting
  • Added --StripModifierFromScrollWheel--.
  • Added Option::KEYTOKEY_BEFORE_KEYDOWN, Option::KEYTOKEY_AFTER_KEYUP.
  • Added KeyCode::VK_CONSUMERKEY_*.

New in Karabiner-Elements 7.4.0 (Aug 24, 2011)

  • Some improvements on Mac OS X 10.7 (Lion).
  • Removed "General > Enable CapsLock LED Hack" from preferences.
  • If you're using this setting for PCKeyboardHack, use "No Action" configuration instead.
  • Cleaned up "Simultaneous Vi Mode".
  • (Some options have been moved into "Home Row Arrow and Modifier Mode".)
  • Added "[Key Overlaid Modifier] Initial Modifier Wait" preference into "Key Repeat" tab.
  • KeyOverlaidModifier changes key to modifier after this wait.
  • This preference is useful if your typing speed is too fast.
  • Some minor improvements.
  • Added some settings to preset.
  • Updates for people who add new settings by oneself.
  • Added KeyCode::VK_STICKY_*_FORCE_ON, KeyCode::VK_STICKY_*_FORCE_OFF.
  • Added --DropScrollWheel--.

New in Karabiner-Elements 7.3.0 (May 17, 2011)

  • Improved stability when using Sticky Keys in Universal Access.
  • Improved stability when using multi-touch extension together.
  • Improved "Lazy-Modifier (KeyCode::VK_LAZY_*)" behavior.
  • Some minor improvements.
  • Added about 80 kinds settings.
  • Updates for people who add new settings by oneself:
  • Added KeyCode::VK_MOUSEKEY_BUTTON_*.
  • Added Option::NOREPEAT.
  • Added DeviceProduct::ANY.

New in Karabiner-Elements 7.2.0 (Mar 8, 2011)

  • Fixed a bug that Growl notification did not work in specific environment.
  • Fixed a bug that the default setting of checkForUpdate was "Nothing".
  • Improved multi-touch extension around sleep/wakeup.
  • Added about 20 kinds settings.

New in Karabiner-Elements 7.1.0 (Feb 22, 2011)

  • Added setting to be able to use "Logitech Number Pad" which we were not able not use in Mac OS X. Activate "Change KeyPad Key > Logitech Number Pad Hack".
  • Replaced StatusWindow with Growl. StatusWindow was displaying the lock state of modifiers and extra message. Now, these messages are shown by Growl. See About "Growl" for more details.
  • Attached an application named "multi-touch extension". This application activates specific setting while fingers touch the multi-touch device. ThumbSense is one of the function which this application supplies. See Multi-touch extension for more details.
  • Fixed some bugs.
  • Added about 140 kinds settings.
  • Updates for people adding new setting by oneself:
  • Added , filters.
  • Added --ForceNumLockOn-- to .

New in Karabiner-Elements 7.0.0 (Dec 14, 2010)

  • Now, you can add your original settings very very easily.
  • How to add new settings.
  • You don't need to build a package from source code anymore.
  • Added momentum scroll feature to "CursorMove to ScrollWheel" on Pointing Devices.
  • If you don't like momentum scroll, turn on "Disable Momentum Scroll" by System Preferences.
  • Added "Mouse Keys Mode". You can move mouse pointer by hjkl keys.
  • Added about 260 kinds settings.

New in Karabiner-Elements 6.9.0 (Sep 15, 2010)

  • Improved "Simultaneous Vi Mode" behavior. You can use Vi style navigation (hjkl) on all applications.
  • Fixed a problem that a broken package may be generated depending on environment when we build a package from a source code.
  • Fixed a problem which slight setting did not work properly.
  • Fixed a minor problem around C-x prefix of "Emacs Mode".
  • Added about 130 kinds settings.

New in Karabiner-Elements 6.8.0 (Jul 28, 2010)

  • Changed the default value of key repeat wait.
  • Please set "[Key Repeat] wait" to "30ms" from "Key Repeat" tab if you prefer the previous default value.
  • Added "Pass Through Mode". You can cancel all settings temporarily.
  • Added "Sticky Modifiers".
  • Fixed minor bugs.
  • Added about 160 kinds settings.

New in Karabiner-Elements 6.7.0 (May 14, 2010)

  • Fixed the problem that a key and a mouse were not changed when we used KeyRemap4MacBook-6.6.0 with USB Overdrive.

New in Karabiner-Elements 6.6.0 (May 11, 2010)

  • Added a function to define effective setting only with a specific keyboard. For example, "Change Control_L to Command_L" only in Happy Hacking Keyboard.
  • Added a function of "Simultaneous Key Presses" re-mapping.
  • Added virtual modifiers (ModifierFlag::EXTRA1 - ModifierFlag::EXTRA5).
  • Added a function to set the repeat speed of the functional keys (volume adjustment, etc).
  • Added about 100 kinds re-mapping.

New in Karabiner-Elements 6.5.0 (Mar 16, 2010)

  • Added the key repeat feature to re-mapped functional keys (volume adjustment, etc),
  • Added an Event Viewer application that could confirm a key event, a mouse event.
  • Merged the configuration GUI of menu bar to the system preference pane.
  • Added "Complete Vi Mode" that you can move the cursor only in "hjkl" without pushing the command key or any modifier keys.
  • Added KeyCode::VK_CHANGE_INPUTMODE_FRENCH, and keys for the other languages. It is a virtual key to change the Input Source directly.
  • Added re-mapping more than 70 kinds.
  • Fixed some bugs.

New in Karabiner-Elements 6.4.0 (Jan 21, 2010)

  • Improved stability when using with the driver of the 3rd vender such as "Logitech Control Center".
  • Fixed a mouse drag movement when convert a key into a mouse click.
  • Improved Paralles Desktop support at the recognition of the application.

New in Karabiner-Elements 6.3.0 (Jan 5, 2010)

  • Supported Fast User Switching.
  • Added software update feature.
  • Improved the movement of the re-mapping.
  • Improved the judgement method of the internal/external keyboard.
  • Added +70 remappgins.
  • Fixed some bugs.

New in Karabiner-Elements 6.2.0 (Nov 12, 2009)

  • Fixed the bug that the server process crashes in English environment.

New in Karabiner-Elements 6.1.0 (Nov 11, 2009)

  • Changed to enable the remapping of the third vendor's devices by default.
  • Fixed the memory leak of the server process.
  • Added +60 remappings.

New in Karabiner-Elements 5.1.74 (Sep 17, 2009)

  • Improved the compatibility with Spaces.
  • Fixed the uninstaller.
  • Fixed the CapsLock handling.

New in Karabiner-Elements 5.1.63 (Sep 3, 2009)

  • Improved the stability in the 64bit environment.
  • Fixed to run PreferencePane in 64bit.

New in Karabiner-Elements 5.1.62 (Aug 31, 2009)

  • Support Snow Leopard.
  • Misc changes. (added new remappings, etc, ...)

New in Karabiner-Elements 5.1.0 (May 26, 2008)

  • [BUGFIX] Fixed the kernel panic after returning from hibernation.
  • [BUGFIX] Fixed the kernel panic when all keyboard are detached on iMac.
  • [BUGFIX] Fixed the bug which "SettingList" didn't work on some environment.
  • Added uninstaller.
  • Added new 20 remappings.
  • [EXTRA] Released PCKeyboardHack-5.1.0
  • [EXTRA] Released NoEjectDelay-1.1.0

New in Karabiner-Elements 5.0.0 (May 7, 2008)

  • Added the multi-user support.
  • Added the multiple settings per user.
  • [EXTRA] Released PCKeyboardHack-5.0.0 . The CapsLock remapper.
  • [EXTRA] Released NoEjectDelay-1.0.0 . It rids the eject key delay.
  • Added remappings which are effective at only specific applications. (ex. Return -> CMD O only in Finder).
  • "Emacs Mode" will be disabled in Terminal.app and Emacs.app automatically.
  • Added new 80 remappings.

New in Karabiner-Elements 4.0.0 (Apr 2, 2008)

  • [BUGFIX] Fixed a bug which disable any remappings when you logged out.
  • Added the feature to enable remapping for only inside keyboard or an outside keyboard.
  • Supported PointingDevice remappings (Key to Mouseclick, FN CursorMove to ScrollWheel).
  • Changed a place to install. (/Library/org.pqrs/KeyRemap4MacBook)
  • Added new 50 remappings.

New in Karabiner-Elements 3.2.0 (Feb 29, 2008)

  • Added an existence check of DoubleCommand to installer. If DoubleCommand has already installed, the installation will be aborted.
  • Support PowerBook G4 & iBook.
  • Fixed the key repeat bug on VMware emacsmode.
  • Fixed a minor PreferencePane bug.
  • Added new remappings.
  • Enter to Option_L ( When you type Enter only, fire Command Space)
  • Clear to Tab
  • F16 to Tab
  • Space to Control_L
  • Space to Control_L ( When you type Space only, fire Space).
  • Space to Shift_L
  • Space to Shift_L ( When you type Space only, fire Space).
  • for Japanese: EISUU to Escape, Command_R to Command_R ( When you type Command_R only, fire KANA), Command_L to Command_L ( When you type Command_L only, fire EISUU), Command_L to Control_L ( When you type Command_L only, fire EISUU), Command_R x2 to KANA, Command_R x2 to KANA x2 (for Kotoeri Users), Command_L x2 to EISUU, Command_L x2 to EISUU x2 (for Kotoeri Users)

New in Karabiner-Elements 3.1.0 (Feb 18, 2008)

  • Correct the key repeat behavior.
  • Fixed a minor PreferencePane bug.
  • Added new remappings: commandL2shiftL, commandR2controlL, commandR2optionL, commandR2shiftL, enter2commandLcontrolL, enter2commandLshiftL, pclikehomeend, keypadnumlock, pc_application2f11, emacsmode_controlAE, jis_commandR2eisuu, jis_commandR2kana, jis_optionR2eisuu, jis_optionR2kana, jis_unify_kana_eisuu_to_optionR

New in Karabiner-Elements 3.0.0 (Feb 5, 2008)

  • Added PreferencePane. Now, you can configure by System Preferences.
  • Added Key Repeat feature.
  • Improved handling of CapsLock.
  • Renamed many sysctl entries. Please set up by PreferencePane if you upgrade from older version.
  • Added new remappings, and purge obsolete remappings.

New in Karabiner-Elements 2.3.0 (Dec 15, 2007)

  • [BUGFIX] Fixed the bug around arrow keys and delete key when remap.fn2* is enable.
  • PCKeyboardHack which activate DeadKey on non-Apple keyboard is released.
  • Added the following remapping:
  • remap.shiftl2control
  • remap.commandl2option
  • remap.option2command
  • remap.backquote2command
  • remap.escape2return

New in Karabiner-Elements 2.2.0 (Nov 30, 2007)

  • [BUGFIX] Fixed the bug around "key to modifier" (enter2*, return2option, jis_eisuu2*, jis_kana2*).
  • Support PowerBook enter key.
  • Added the following remapping.
  • remap.return2semicolon
  • remap.fn2command
  • remap.fn2option
  • remap.fn2shift
  • remap.qwerty2colemak
  • remap.shift2fn
  • remap.jis_eisuu2tab
  • remap.jis_unify_kana_eisuu
  • remap.jis_kanashift2eisuu
  • option.emacsmode_controlD
  • option.emacsmode_controlV
  • option.emacsmode_optionD
  • option.emacsmode_optionBF
  • option.emacsmode_ex_controlQ
  • option.emacsmode_ex_controlW
  • option.emacsmode_ex_control12

New in Karabiner-Elements 2.1.0 (Nov 16, 2007)

  • Added the following remapping.
  • remap.enter2option
  • remap.enter2return
  • remap.enter2space
  • remap.enter2semicolon
  • remap.commandl2control
  • remap.controll2command
  • remap.hhkmode
  • remap.jis_eisuu2command
  • remap.jis_kana2command
  • remap.jis_kana2option
  • [BUGFIX] fix the bug Shift Space didn't work with space2shift.
  • [BUGFIX] now emacsmode_controlPNBF works with Finder.
  • swap_commandl_control divided into commandl2control & controll2command.
  • return2option divided into return2option & enter2space.
  • semicolon2return divided into semicolon2return & enter2semicolon.

New in Karabiner-Elements 1.5.0 (Oct 10, 2007)

  • Added "remap.swap_commandl_control".
  • Added "remap.enter2fn".