- ⚡️ Improvements
- Added a workaround for non-dismissible
Device is ignored temporarily
alert which is caused by some devices that sends abnormal input events.
- Added a workaround for non-dismissible
- ✨ New Features
- Add
--show-current-profile-name
option intokarabiner_cli
. - Add
--list-profile-names
option intokarabiner_cli
.
- Add
- 🐛 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.
- 📅 Release date
- Sep 12, 2019
- ✨ New Features
- MultitouchExtension app has been added.
- Dark Mode has been supported.
- Added
--set-variables
option intokarabiner_cli
.
- 🐛 Bug Fixes
- Fixed an issue that Karabiner-Elements might stop working after sleep on macOS Catalina.
- 📅 Release date
- Aug 16, 2019
- ✨ New Features
- Support macOS Catalina.
(You need an extra configuration on macOS Catalina.)
- Support macOS Catalina.
- 🐛 Bug Fixes
- Fixed an issue that Karabiner-Elements fails to grab a device in rare cases.
- ⚡️ Improvements
- Introduced karabiner_kextd. (kext loading function was separated from karabiner_grabber.)
- Improved EventViewer to show modifier flags of key events.
- Suppressed unnecessary log messages.
- 📅 Release date
- Jun 10, 2019
- ✨ New Features
- Add
Delay before open device
configuration intoKarabiner-Elements Preferences > Devices > Advanced
tab. - Added
Show key code in hexadecimal format
option into EventViewer.
- Add
- 🐛 Bug Fixes
- Fixed a key stuck issue which occurs when the key is released, and at the exact same moment Karabiner-Elements opens the device.
- Fixed an 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.
- ⚡️ Improvements
- Improved
XXX is ignored temporarily until YYY is pressed again
behavior. - Move
Disable the built-in keyboard while one of the following selected devices is connected
configuration intoKarabiner-Elements Preferences > Devices > Advanced
tab.
- Improved
- 📅 Release date
- May 14, 2019
- ✨ New Features
- Add
Mouse Key XY speed
configuration intoKarabiner-Elements Preferences > Virtual Keyboard
tab. Device is ignored temporarily
alert has been introduced.
This alert will be shown if you hold keys or buttons down before Karabiner-Elements opens the device.
Please press the described key or button again to dismiss the alert.
- Add
- 🐛 Bug Fixes
- Fixed a key stuck issue which occurs when the key is held down before Karabiner-Elements opens the device.
- ⚡️ Improvements
- Event code format on EventViewer changed to decimal number from hex.
- 📅 Release date
- Apr 24, 2019
- 💥 Breaking changes
- complex modifications json will be checked strictly since this release.
Please check error messages if your complex modifications do not work after upgrade.
- complex modifications json will be checked strictly since this release.
- ✨ New Features
- Added Change mouse motion to scroll feature.
- Note: You have to enable your mice on Devices tab when you want to use this feature.
- Added
--lint-complex-modifications
option intokarabiner_cli
. It allows you checks a complex-modifications json file.
- Added Change mouse motion to scroll feature.
- ⚡️ Improvements
- Set Karabiner-Elements.app and Karabiner-EventViewer.app immutable in order to ensure unremovable them except built-in uninstaller. Please use the uninstaller when you want to remove Karabiner-Elements.
- Added a wait before grabbing device in order to avoid an macOS issue that device will be unusable after Karabiner-Elements is quit.
- Changes for users who write their own json.
to
andto_*
support single object, e.g.,"to": { "key_code": "spacebar" }
.- New modifier aliases are added:
left_alt
,left_gui
,right_alt
,right_gui
. key_code
,consumer_key_code
andpointing_button
supports a number value, e.g.,"from": {"key_code": 175}
.
- 📅 Release date
- Feb 1, 2019
- ✨ New Features
- Karabiner-Elements makes a backup file of karabiner.json before updating it if the backup file does not exists. (~/.config/karabiner/automatic_backups/karabiner_YYYYMMDD.json)
- 🐛 Bug Fixes
- Fixed an issue that Caps Lock LED does not work on macOS Mojave.
- ⚡️ Improvements
shell_command
string max length has been expanded. (256 byte -> 32 KB)- A device grabbing process has been improved. (Observing device state by a separated
karabiner_observer
process.) - The event processing has been improved and the latency has been reduced by using pqrs::dispatcher.
- 📅 Release date
- May 30, 2018
- 💥 Breaking changes
- Changed the order of
to_if_alone
andto_after_key_up
event handling.
to_if_alone
will be handled beforeto_after_key_up
.
- Changed the order of
- ✨ New Features
- Added new items into
simultaneous_options
:simultaneous_options.detect_key_down_uninterruptedly
simultaneous_options.key_up_when
- Added new parameters into
to event definition
:hold_down_milliseconds
halt
- Added new items into
- 🐛 Bug Fixes
- Fixed an issue that random key repeat happen at extremely high system CPU usage.
- ⚡️ Improvements
- Increased rollover limit of virtual keyboard. (6 -> 32)
This change mainly improves usability when you are using multiple keyboards at the same time. - Improved modifier flags handling in
to_after_key_up
andto_if_alone
.
- Increased rollover limit of virtual keyboard. (6 -> 32)
- 📅 Release date
- Apr 12, 2018
- 💥 Breaking changes
- macOS 10.11 support has been dropped.
Karabiner-Elements works on macOS 10.12 (Sierra) or later. Keyboard type
in the virtual keyboard preferences has been removed. (Adverse effect of virtual keyboard improvement.)
Please change the keyboard type fromSystem Preferences > Keyboard > Change Keyboard Type...
.Caps Lock Delay
in the virtual keyboard preferences has been removed. (Adverse effect of virtual keyboard improvement.)- Changed
simultaneous
behaviour to post key_up events when any key is released. - Changed
to_after_key_up
andto_if_alone
behaviour as mandatory modifiers are removed from these events.
- macOS 10.11 support has been dropped.
- ✨ New Features
- Added
simultaneous_options.key_down_order
,simultaneous_options.key_up_order
andsimultaneous_options.to_after_key_up
.
- Added
- 🐛 Bug Fixes
- Fixed an issue that
to_if_alone
,to_if_held_down
andto_delayed_action
does not work properly withsimultaneous
.
- Fixed an issue that
- ⚡️ Improvements
- The virtual keyboard compatibility has been improved.
- EventViewer has been improved showing the correct key name for PC keyboard keys and international keys.
- Improved keyboard repeat handling with
simultaneous
.
- 📅 Release date
- Feb 20, 2018
- ✨ New Features
- Simultaneous key presses has been supported in complex modifications.
- ⚡️ Improvements
- Improved Mouse key scroll wheel direction referring
System Preferences > Mouse > Scroll direction
. - Improved modifier flags handling around pointing button manipulations.
- Mouse keys have been added into Simple Modifications.
- The eject key has been added into the from key of Simple Modifications.
- The Vendor ID and Product ID of virtual devices has been changed. (0x0,0x0 -> 0x16c0,0x27db and 0x16c0,0x27da)
- Improved Mouse key scroll wheel direction referring
- 📅 Release date
- Dec 30, 2017
- ✨ New Features
to_if_held_down
has been added.
- 🐛 Bug Fixes
- Avoided a VMware Remote Console issue that mouse pointer does not work properly on VMRC when Karabiner-Elements grabs the pointing device.
- Fixed an issue that
to_if_alone
does not work properly whento
is empty.
- ⚡️ Improvements
- Improved modifier flags handling in
to events
. - Improved a way to save karabiner.json.
- Improved modifier flags handling in
- 📅 Release date
- Dec 7, 2017
- ✨ New Features
- 🐛 Bug Fixes
- Fixed an issue that the checkbox in
Preferences > Devices
is disabled for keyboards which do not have their own vendor id.
- Fixed an issue that the checkbox in
- 📅 Release date
- Nov 12, 2017
- 🐛 Bug Fixes
- Fixed an issue that Karabiner-11.2.0 does not work properly on some environments due to a possibility of macOS kernel extension cache problem.
- 📅 Release date
- Nov 9, 2017
- ✨ New Features
- Mouse button modifications has been added.
Note:- You have to enable your Mouse manually in Preferences > Devices tab.
- Karabiner-Elements cannot modify Apple's pointing devices.
to_delayed_action
has been added.input_source_if
andinput_source_unless
has been added toconditions
.- Document
- Example:
select_input_source
has been added.- Document
- Example:
keyboard_type_if
andkeyboard_type_unless
has been added toconditions
.- The caps lock LED manipulation has been disabled with non Apple keyboards until it is enabled manually.
- Mouse button modifications has been added.
- ⚡️ Improvements
- The virtual keyboard handling has been improved.
- 📅 Release date
- Oct 4, 2017
- 🐛 Bug Fixes
- Fixed an issue that modifier flags becomes improperly state by mouse events.
- 📅 Release date
- Sep 18, 2017
- ✨ New Features
- The first stable release of Karabiner-Elements. (There is no changes from Karabiner-Elements 0.91.16.)
- Karabiner-Elements waits grabbing device until all modifier keys are released in order to avoid modifier flags stuck issue in mouse events.
- Support consumer keys (e.g., media key events in Logitech keyboards.)
- Add per device support in
Simple Modifications
andFn Function Keys
. - The modifier flag event handling has been improved.
device_if
anddevice_unless
has been added toconditions
.
- Fixed an issue that modifier flags might become improperly state in complex_modifications. (In complex_modifications rules which changes modifier+modifier to modifier.)
- macOS 10.13 (High Sierra) support has been improved.
variable_if
andvariable_unless
has been added toconditions
. You can useset_variable
to change the variables.to_after_key_up
has been added tocomplex_modifications > basic
."from": { "any": "key_code" }
has been added tocomplex_modifications > basic
. You can use this to disable untargeted keys in your mode. (e.g., disable untargeted keys in Launcher Mode.)Variables
tab has been added intoEventViewer
. You can confirm theset_variable
result inVariables
tab.
- Fixed an issue that karabiner_grabber might be crashed when frontmost application is changed.
- Shell command execution has been supported. (e.g., Launch apps in https://pqrs.org/osx/karabiner/complex_modifications/ )
- The conditional event manipulation has been supported. (
frontmost_application_if
andfrontmost_application_unless
)
- GUI for complex_modifications has been added. https://github.com/pqrs-org/Karabiner-Elements/tree/master/usage#how-to-use-complex-modifications
- Syntax of
complex_modifications > parameters
has been changed.
- The modifier flag event handling has been improved.
- Show warning and error logs by colored text in Log tab.
- Add timeout to
to_if_alone
.
- Initial support of
complex_modifications > basic > to_if_alone
.
- Fixed an issue that Karabiner-Elements stops working after user switching.
- Initial support of
complex_modifications
(No GUI yet).
- event manipulation has been changed to
src/core/grabber/include/manipulator/details/basic.hpp
.