Releases: pqrs-org/Karabiner-Elements
Releases · pqrs-org/Karabiner-Elements
beta
- 🐛 Bug Fixes
- Fixed an overflow issue with the mouse key movements.
- Fixed an issue that the fn key is unintentionally tapped when use the media keys if "Use all F1, F2, etc. keys as standard function keys" is enabled.
- ✨ New Features
- Added
frontmost_application_history_index
option intoopen_application
. - Added
conditions
option intoto
.
- Added
- ⚡️ Improvements
- Support the following keys:
- consumer::ac_zoom_out
- consumer::ac_zoom_in
- generic_desktop::system_sleep
- Added support for new consumer keys (Thanks to @indygriffiths):
{ "consumer_key_code": "stop" }
{ "consumer_key_code": "bass_boost" }
{ "consumer_key_code": "loudness" }
{ "consumer_key_code": "bass_increment" }
{ "consumer_key_code": "bass_decrement" }
{ "consumer_key_code": "ac_search" }
- Support the following keys:
v15.3.0
- 📦 Download
- 📅 Release date
- Oct 28, 2024
- 🐛 Bug Fixes
- Fixed the behavior when setting the function keys to act as regular f1...f12 keys instead of media controls.
- ✨ New Features
- Added the following variables for
variable_if
,variable_unless
:system.scroll_direction_is_natural
system.use_fkeys_as_standard_function_keys
- Added the following variables for
- ⚡️ Improvements
- The key names in the Function Keys settings became clearer when "Use all F1, F2, etc. keys as standard function keys" is enabled.
v15.2.0
- 📦 Download
- 📅 Release date
- Oct 7, 2024
- 🐛 Bug Fixes
- The method for setting "Use all F1, F2, etc. keys as standard function keys" has been changed.
Due to internal processing in macOS, with the new virtual keyboard introduced in version 15.1.0, this setting must be changed through System Settings.
- The method for setting "Use all F1, F2, etc. keys as standard function keys" has been changed.
v15.1.0
- 📦 Download
- 📅 Release date
- Oct 6, 2024
- 🔔 Important Notes
- 💥 Breaking changes
- The implicit conversion feature for fn+arrow keys, fn+return, and fn+delete has been removed.
For example, fn+up arrow used to be automatically changed to page up, but it will now be treated as fn+up arrow without modification. - To improve the behavior around the fn key, the Vendor ID and Product ID of the virtual keyboard used by Karabiner-Elements have been changed to the same values as those of a real Apple external keyboard.
- There were two JSON files that output information about connected devices, but this information has now been consolidated into
karabiner_grabber_devices.json
.
karabiner_grabber_device_details.json
is no longer used. Please usekarabiner_grabber_devices.json
from now on.karabiner_grabber_devices.json
karabiner_grabber_device_details.json
(obsoleted)
- The implicit conversion feature for fn+arrow keys, fn+return, and fn+delete has been removed.
- ✨ New Features
- Added open_application to complex modifications.
- A setting has been added to disable mouse cursor movement and scrolling for both the mouse and gamepad.
- Settings of the gamepad stick have been added; deadzone and delta magnitude detection threshold.
- Added an option to allow quitting EventViewer with Command+Q and Command+W.
- ⚡️ Improvements
- Fixed an issue where disconnected devices would occasionally remain in the device list.
- Updated the embedded screenshots and help messages for macOS 15 Sequoia.
- Adjusted the gamepad deadzone default value.
v15.0.0
- 📦 Download
- 📅 Release date
- Aug 8, 2024
- 💥 Breaking changes
- macOS 11 and macOS 12 are no longer supported.
- The background service management method has been changed to a new method compatible with macOS 13 and later.
Therefore, permission needs to be granted for the background service to run. Please follow the steps below. - The method to enable the Multitouch Extension has changed.
To enable the Multitouch Extension, go to the Misc tab in the settings and turn onEnable Multitouch Extension
.
- 🔔 Important Notes
- A unique random ID called
karabiner_machine_identifier
is now generated during installation.
This ID is used for machine-specific settings and may be included in the karabiner.json file.
If you are sharing karabiner.json with others, you might be interested in how this ID is generated and whether it is safe to share.
Since it is a safe ID to share with others, and there is no need to mask it when you share karabiner.json with others.
For more details, please refer to the Privacy page.
- A unique random ID called
- ✨ New Features
- Added the ability to disable Complex Modifications rules.
- Added the ability to duplicate and reorder profiles.
- Added the ability to restart Karabiner-Elements from the menu.
- Added the ability to reset device settings that are not currently connected.
- ⚡️ Improvements
- Improved "{device} is ignored temporarily until {key_code} is pressed again" message for to make it more understandable. (Thanks to @adamnovak)
- Added "Enable Karabiner Notification Window" configuration, which allows you to hide the notification window by turning off this setting. (Thanks to @jwodnicki)
- Support
al_consumer_control_configuration
key, used as the Music key. (Thanks to @kambala-decapitator) - Improved behaviour when using the gamepad stick as a pointing device.
- Improved
to_if_alone
behavior to use the modifier flags of the time the key is pressed, when sending events. - Added
{"type": "unset"}
option toset_variable
. - Integrated
karabiner_observer
functions intokarabiner_grabber
, and thenkarabiner_observer
has been removed.
The number of background processes has been reduced, resolving performance issues caused by inter-process communication that were occurring in some environments. - A custom JSON formatter has been introduced to save JSON in a more compact format.
- The process for saving the configuration file has been optimized so that settings that have not been changed from their default values are not included in karabiner.json.
- Internal changes:
- Improved the interface of libkrbn to minimize the use of unsafe pointers in Swift.
v14.13.0
- 📦 Download
- 📅 Release date
- Dec 9, 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)
- 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
- 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 options to
karabiner_cli
--format-json
--eval-js
--silent
- Changes for users who write their own json.
- The
device_address
condition has been added intodevice_if
anddevice_unless
. (Thanks to @stackia) - Added
key_up_value
toset_variable
. - Added
mouse_basic
manipulator.
- The
- ⚡️ 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.
v14.12.0
- 📦 Download
- 📅 Release date
- Apr 16, 2023
- ✨ New Features
- Added the ability to switch application icons. This can be changed from the UI tab in Settings.
- 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.
v14.11.0
- 📦 Download
- 📅 Release date
- Jan 7, 2023
- 💥 Breaking changes
- Changed bundle identifier of Karabiner-Elements Settings to
org.pqrs.Karabiner-Elements.Settings
fromorg.pqrs.Karabiner-Elements.Preferences
.
- Changed bundle identifier of Karabiner-Elements Settings to
- ✨ New Features
- Added
Ask for confirmation when quitting
option into Settings > Misc tab. (Thanks to @basti1302)
- Added
- ⚡️ 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.
v14.10.0
- 📦 Download
- 📅 Release date
- Sep 25, 2022
- ⚡️ Improvements
- Update
set_mouse_cursor_position
to use the current screen ifscreen
option is not specified. (Thanks to @gnawf) - Sparkle Framework has been updated.
- Update
- 🐛 Bug Fixes
- Fixed an issue that the
device_if
anddevice_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)
- Fixed an issue that the
v14.9.0
- 📦 Download
- 📅 Release date
- Sep 11, 2022
- ✨ New Features
- Supported Remote control buttons. (menu arrows buttons, color buttons)
- The
is_built_in_keyboard
has been added intodevice_if
anddevice_unless
. - The
device_exists_if
anddevice_exists_unless
has been added intoconditions
.
- 🐛 Bug Fixes
- Fixed an issue that the ignored device's modifier keys are not ignored properly.