- Prepared settings have been updated.
- Default setting of AXNotifier has been changed. (Enabled in Microsoft Office)
- Fixed issues:
- Some Qt apps might be crash when AXNotifier is enabled. (LyX, VirtualBox, Wireshark)
- Fixed issues:
- 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.
- Karabiner does not save preferences properly in an edge case.
- Prepared settings have been updated.
- New functions and improvements:
- Updates for people who add new settings by oneself:
Option::FLIPSCROLLWHEEL_HORIZONTAL
andOption::FLIPSCROLLWHEEL_VERTICAL
have been supported in__PointingRelativeToScroll__
.
- Updates for people who add new settings by oneself:
- Fixed issues:
- Remote Desktop detection will be failed in some cases.
- Input source switching settings does not work in some environments.
- Incompatibility changes:
- The multi-touch extension default configuration has been changed.
If you are using ThumbSense, please enable ThumbSense setting manually in multi-touch extension preferences.
- The multi-touch extension default configuration has been changed.
- New functions and improvements:
- 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.- Updates for people who add new settings by oneself:
<bundleidentifieroverridedef>
has been introduced.Option::KEYTOKEY_DELAYED_ACTION_MILLISECONDS
has been added.- The following filters have been added.
<deviceexists_not>
<deviceexists_only>
- 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 issues:
- Some Java apps might be crash when AXNotifier is enabled. (SAP GUI for Java)
- The argument treatment in
warp-mouse-cursor-position
utility is wrong.
These adjustment values forscreen
andfront_window
were exchanged. For example, the vertical adjustment value forscreen
andfront_window
is used in horizontal adjustment. - In some case, ModifierFlag pattern matching of
Option::KEYTOKEY_AFTER_KEYUP
in__KeyOverlaidModifier__
and__HoldingKeyToKey__
does not work property.
- Prepared settings have been updated.
- 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 functions and improvements:
- "Show icon in Dock" setting has been added.
- "Resume at login" setting has been added.
You can disable auto resume function. - "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.
- 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.
- Updates for people who add new settings by oneself:
Option::FLIPSCROLLWHEEL_ROTATE
has been added.PointingRelative::ANY
has been added into__PointingRelativeToKey__
.
- Fixed issues:
- Some Qt apps might be crash when AXNotifier is enabled. (WISO apps)
- Microsoft Excel scroll position is sometimes reset while using scroll wheel.
__KeyDownUpToKey__
sends only the last interrupted events when multiple interrupted events are specified.
- 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.
- "Disable an internal keyboard while external keyboards are connected" setting has been improved.
- Razer DeathAdder Chroma has been supported.
- ModifierFlag treatment has been improved in
Option::KEYTOKEY_DELAYED_ACTION
. - Updates for people who add new settings by oneself:
- Some error messages have been improved.
- The safety limit of key repeat rate has been removed.
- Fixed issues:
- Some Java apps might be crash when AXNotifier is enabled. (Fiji)
- 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 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.
- "Overwrite the key repeat values of system" option has been added.
- Fixed issues:
__SimultaneousKeyPresses__
sometimes fails sending key up event when__BlockUntilKeyUp__
is used together.
- 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 functions and improvements:
- "Use prepared settings" option has been added into Karabiner Preferences > Misc & Uninstall tab.
Turning 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<include>
tag.
- "Use prepared settings" option has been added into Karabiner Preferences > Misc & Uninstall tab.
- Fixed issues:
- The CPU usage of Preview.app might be 100% at opening a huge PDF file when AXNotifier is enabled.
- 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"
- The fn keypad has been removed from implicit behavior.
- 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.
<lastsentevent_not>
<lastsentevent_only>
- The following filters have been added.
- Fixed issues:
__DropKeyAfterRemap__
does not work properly if the target key is changed by<autogen>
that is defined before__DropKeyAfterRemap__
.
- 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.
<lastreleasedphysicalkey_only>
<lastreleasedphysicalkey_not>
<elapsedtimesincelastreleased_greaterthan>
<elapsedtimesincelastreleased_lessthan>
- The following filters have been added.
- Fixed issues:
- multi-touch extension might stop working after wake up.
- Incompatibility changes:
- The default mouse keys scroll direction has been changed to
natural
. <inputsourcedetail_only>
and<inputsourcedetail_not>
filters have been merged into<inputsource_only>
and<inputsource_not>
.
Please use<inputsource_only>
and<inputsource_not>
in your private.xml.- Launcher Mode v2 uses own modifier flag in order to improve usability.
If you extended Launcher Mode v2 byLAUNCHER_MODE_V2_EXTRA
, please removeModifierFlag::NONE
fromLAUNCHER_MODE_V2_EXTRA
.
Example:
old:<autogen>__KeyDownUpToKey__ KeyCode::A, ModifierFlag::NONE, KeyCode::VK_OPEN_URL_APP_Activity_Monitor</autogen>
new:<autogen>__KeyDownUpToKey__ KeyCode::A, KeyCode::VK_OPEN_URL_APP_Activity_Monitor</autogen>
- The default mouse keys scroll direction has been changed to
- New option has been added into command line interface:
toggle
,be_careful_to_use__clear_all_values_by_name
- New option has been added into
post-hid-event
command line utility:--flag
- "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.
- 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.
<pressingphysicalkeys_greaterthan>
<pressingphysicalkeys_lessthan>
__HoldingKeyToKey__
has been improved at you pressed modifiers while holding target key down.- ModifierFlag pattern matching has been introduced into
Option::KEYTOKEY_AFTER_KEYUP
. <background />
support has been added into<vkopenurldef>
tag.high_priority
attribute has been introduced into<identifier>
tag.<appdef>
behavior has been improved. It preserves prepared settings when you use<appdef>
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.
- 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.
- Fixed issues:
- Some Java apps might be crash when AXNotifier is enabled. (IntelliJ IDEA, PhpStorm, RubyMine, Android Studio)
- <device_only> and <device_not> 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 <only> and <not> 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.
- <include> ignores missing files. (Karabiner does not show an alert dialog when <include> refers missing files.)
- A broken prepared setting has been fixed.
- 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.
- <modifierlocked_only>
- <modifierlocked_not>
- <modifierstuck_only>
- <modifierstuck_not>
- The following filters have been added.
- 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.
- 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.
- 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.
For example, this setting allows you to move mouse cursor by tapping fn key:- Custom Shortcuts
- Move mouse cursor to the center of the frontmost app's window:
- By pressing fn key alone.
- Move mouse cursor to the center of the frontmost app's window:
- Custom Shortcuts
- 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.
- Updated prepared settings.
- Some minor improvements.
- Updates for people who add new settings by oneself:
- You can add your own modifiers by <modifierdef>. Usage of <modifierdef>.
- Added <windowname_only> and <windowname_not> filters.
- Added <uielementrole_only> and <uielementrole_not> filters.
- Added __PointingRelativeToKey__.
- Added __PassThrough__. You can disable all settings in specific situations.
For example, this item allow you to disable all settings while you are using virtual machine.
(This setting is already included in prepared settings.)<item> <name>Disable all settings while you are using virtual machine.</name> <identifier>private.ignore_virtual_machine</identifier> <only>VIRTUALMACHINE</only> <autogen>\_\_PassThrough\_\_</autogen> </item>
- You can use KeyCode and ConsumerKeyCode in __PointingRelativeToScroll__.
- Added ThresholdMillisecond into __HoldingKeyToKey__.
You can control a holding threshold:
<autogen> __HoldingKeyToKey__ KeyCode::ESCAPE, @begin KeyCode::ESCAPE @end @begin KeyCode::LAUNCHPAD, @end <!-- open Launchpad by press and hold the escape key for 2 seconds. --> ThresholdMillisecond::RawValue::2000, </autogen>
- 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_*:
- KeyCode::VK_STICKY_ACTIVE_MODIFIERS_TOGGLE
- KeyCode::VK_STICKY_ACTIVE_MODIFIERS_FORCE_ON
- KeyCode::VK_STICKY_ACTIVE_MODIFIERS_FORCE_OFF
- An incompatible change:
- KeyCode::VK_JIS_TEMPORARY_* are removed.
Please use <inputsource_filter>, Option::KEYTOKEY_BEFORE_KEYDOWN, Option::KEYTOKEY_AFTER_KEYUP, KeyCode::JIS_EISUU and KeyCode::JIS_KANA instead.
- KeyCode::VK_JIS_TEMPORARY_* are removed.
- Fixed an issue:
- "Kernel extension is not loaded" alert might be shown on some machines when automatic login is enabled.
- Updated prepared settings.
- 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
<autogen> __KeyToKey__ KeyCode::P, MODIFIERFLAG_EITHER_LEFT_OR_RIGHT_CONTROL, KeyCode::CURSOR_UP, DelayUntilRepeat::RawValue::100, KeyRepeat::RawValue::10, </autogen>
-
- 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.
- 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. - 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.
- Updated installer.
- Some minor improvements.
- Signed with Developer ID.
- Icons have been refined. (Thanks to Kouji TAMURA.)
- Introduced @begin and @end in private.xml.
You can use more than one key at __KeyOverlaidModifier__, __DoublePressModifier__. - Supported shell commands execution with KeyCode::VK_OPEN_URL_*.
- Fixed a bug that "Look up" feature of OS X (tap trackpad with three fingers) does not work properly.
- Some minor improvements.
- 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.
- 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.
- 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:
- <lastpressedphysicalkey_not>
- <lastpressedphysicalkey_only>
- <elapsedtimesincelastpressed_greaterthan>
- <elapsedtimesincelastpressed_lessthan>
- Some minor improvements.
- Changed Preferences location.
https://pqrs.org/osx/karabiner/document.html - Changed KeyRemap4MacBook_cli location.
https://pqrs.org/osx/karabiner/document.html#commandlineinterface - Integrated a status message indicator. (Removed Growl support.)
- Dynamic VK_CHANGE_INPUTSOURCE definition feature has been added.
- Dynamic <inputsource_only> definition feature has been added.
- Changed --KeyToKey-- to __KeyToKey__ at <autogen>.
- Added a preference of ignored area into "multi-touch extension".
- Added Option::SIMULTANEOUSKEYPRESSES_STRICT_KEY_ORDER.
- Added DeviceLocation into <device_only>, <device_not> filters.
- Some minor improvements.
- Fixed a bug that private.xml does not work properly if <identifier> contains white space.
- Fixed a bug that "General > Don't restore modifiers in the mouse event" does not work properly.
- Some minor improvements.
- Fixed a bug introduced in version 7.6.0 that detecting of Input Sources does not work properly in Japanese and some other languages.
- Added <replacementdef>. You can replace preset settings behavior by this.
- Added <include>. You can load xml files in private.xml.
- Added --ScrollWheelToKey--.
- Added --ScrollWheelToScrollWheel--.
- Added KeyCode::VK_WAIT_*.
- Improved KeyCode::VK_CHANGE_INPUTMODE_* behavior.
- Improved XML processing engine. (XML reloading is 2x faster.)
- Some minor improvements.
- Dynamic ApplicationType,DeviceVendor,DeviceProduct definition feature has been added.
- Support Growl-1.3 on notifications.
https://pqrs.org/osx/karabiner/document.html - Added --StripModifierFromScrollWheel--.
- Added Option::KEYTOKEY_BEFORE_KEYDOWN, Option::KEYTOKEY_AFTER_KEYUP.
- Added KeyCode::VK_CONSUMERKEY_*.
- Some minor improvements.
- Added about 40 kinds settings to preset.
- Some improvements on Mac OS X 10.7 (Lion).
- Removed "General > Enable CapsLock LED Hack".
If you're using this setting for PCKeyboardHack, use "No Action" configuration instead.
https://pqrs.org/osx/karabiner/seil.html#usage - Clean up "Simultaneous Vi Mode".
(and split some options 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. - Added KeyCode::VK_STICKY__FORCE_ON, KeyCode::VK_STICKY__FORCE_OFF.
- Added --DropScrollWheel--.
- Some minor improvements.
- Added some settings to preset.
- 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.
- Clean up the internal source code. The connection between kernel and userspace became more easier to understand.
- Added KeyCode::VK_MOUSEKEY_BUTTON_*.
- Added Option::NOREPEAT at <autogen>.
- Added DeviceProduct::ANY at <device_only>, <device_not>.
- Added about 80 kinds settings.
- 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.
- 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.
https://pqrs.org/osx/karabiner/img/growl.png
http://growl.info/ - 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. - Improve UI of checkForUpdate.
- Fixed some bugs.
- Added about 140 kinds settings.
- Added <modifier_only>, <modifier_not> filters.
- Added --ForceNumLockOn-- to <autogen>.