Вопрос или проблема
Есть ли способ привязать alt shift для переключения раскладок клавиатуры в OS X?
По умолчанию в OS X прокрутка раскладок клавиатуры определяется как ctrl+space. Эта настройка выключена в пользу триггера для Spotlight.
Чтобы изменить эту настройку по умолчанию, вам нужно перейти в Системные настройки->Устройства->Клавиатура и мышь->Горячие клавиши. Там вы найдете элемент списка для Меню ввода. Установите флажок, и он будет активирован. Затем дважды щелкните на предопределенную горячую клавишу с правой стороны списка. Как только существующая горячая клавиша будет выбрана и доступна для редактирования, вы можете ввести свою предпочтительную последовательность горячих клавиш.
К сожалению, alt+shift сами по себе не могут быть назначены как горячая клавиша. Вам нужно иметь клавишу, не являющуюся клавишей управления, в смеси. Ближайший вариант – использовать alt+z (используя ‘z’, которая находится рядом с shift на левой стороне клавиатуры). У вас также есть возможность установить горячую клавишу для обратного порядка прокрутки. alt+shift+z является естественным вариантом для этого.
Используйте Karabiner (первоначально KeyRemap4MacBook). Найдите option shift pc
. Установка флажка в первом чекбоксе должна позволить вам переназначить на поведение ПК.
Настройщик клавиатуры Karabiner для OS X может переназначить alt-shift (или ctrl-shift) для переключения языков
Я обнаружил, что небольшая утилита MLSwitcher[2] позволит вам сделать именно это и отлично работает под macOS 10.13 High Sierra. Доступна бесплатно в App Store.
Больше информации здесь: http://bluezbox.com/mlswitcher2.html
Karabiner, упомянутый @wayfarer, решил мою проблему.
Вот правило для переназначения Ctrl-Shift на Ctrl-Space:
{
"description": "Переключить язык ввода с помощью ctrl-shift",
"manipulators": [
{
"from": {
"key_code": "left_shift",
"modifiers": {
"mandatory": [
"left_control"
]
}
},
"to": [
{
"key_code": "spacebar",
"modifiers": [
"left_control"
]
}
],
"type": "basic"
},
{
"from": {
"key_code": "right_shift",
"modifiers": {
"mandatory": [
"right_control"
]
}
},
"to": [
{
"key_code": "spacebar",
"modifiers": [
"left_control"
]
}
],
"type": "basic"
}
]
}
Я сделал это с помощью BetterTouchTool, используя опцию “Последовательности клавиш”,
и переназначив Alt+Shift на Cmd+Space (это моя комбинация клавиш для изменения языка).
Также, если вы ищете Cmd+Shift, Punto Switcher (после отключения авто смены языка) может привязать переключение языка к Cmd+Shift.
Я изменил свою на ⌘–\, что почти соответствует alt–shift, просто сдвинутой на одну клавишу вправо (работает с моей международной клавиатурой macbookpro, американская клавиатура имеет более длинный левый shift, а клавиша \ находится выше клавиши ⏎)
В некоторых регионах сочетание клавиш command-space и option-command-space по умолчанию меняет источники ввода. Вы можете включить или изменить комбинации клавиш в Системных настройках:
Записчики горячих клавиш не позволяют вводить сочетания клавиш, такие как option-shift. Если вы действительно хотите использовать option-shift, вы можете переназначить его на комбинацию клавиш, такую как option-command-space с помощью KeyRemap4MacBook. Это срабатывает, когда вы отпускаете shift:
<autogen>__KeyOverlaidModifier__ KeyCode::SHIFT_L, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::NONE, KeyCode::SHIFT_L, ModifierFlag::OPTION_L, KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyOverlaidModifier__ KeyCode::SHIFT_R, ModifierFlag::OPTION_R | ModifierFlag::SHIFT_R | ModifierFlag::NONE, KeyCode::SHIFT_R, ModifierFlag::OPTION_R, KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>
Это срабатывает, когда вы нажимаете shift, но требует нажатия shift перед option для сочетаний клавиш, таких как option-shift-[:
<autogen>__KeyToKey__ KeyCode::SHIFT_L | ModifierFlag::SHIFT_L | ModifierFlag::OPTION_L | ModifierFlag::NONE, KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__KeyToKey__ KeyCode::SHIFT_R | ModifierFlag::SHIFT_R | ModifierFlag::OPTION_R | ModifierFlag::NONE, KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>
Это требует одновременного нажатия option и shift:
<autogen>__SimultaneousKeyPresses__ KeyCode::OPTION_L, KeyCode::SHIFT_L, KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>
<autogen>__SimultaneousKeyPresses__ KeyCode::OPTION_R, KeyCode::SHIFT_R, KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::COMMAND_L</autogen>
Я также столкнулся с этой проблемой, поэтому создал небольшое приложение в трее, которое переназначает стандартное сочетание клавиш на Ctrl + Shift или CMD + Shift:
Вот ссылка на GitHub LayoutSwitcher
Punto Switcher решила мою проблему с переключением AltShift и это бесплатное приложение.
LayoutSwitcher – не работает с моим M1 mac.
BetterTouchTool не бесплатный.
На ноябрь 2024 года я нашел лучшее решение для переключения источников ввода, используя Karabiner input_source_if
. Теперь я могу просто нажать, скажем, left_command 1 раз, чтобы переключиться на input_source. Моя текущая настройка следующая:
- left_command → English(Unicode Hex Input)
- left_option → Thai
- right_option → Japanese
{ "description": "LCommand, LOption, RControl : Unicode, Thai, Japanese", "manipulators": [ { "conditions": [ { "input_sources": [ { "input_source_id": "com.apple.keylayout.Thai" } ], "type": "input_source_if" } ], "from": { "key_code": "left_command", "modifiers": { "optional": [ "any" ] } }, "parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 }, "to": [ { "key_code": "left_command", "lazy": true } ], "to_if_alone": [ { "select_input_source": { "input_source_id": "com.apple.keylayout.UnicodeHexInput" } } ], "to_if_held_down": [ { "key_code": "left_command" } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "language": "ja" } ], "type": "input_source_if" } ], "from": { "key_code": "left_command", "modifiers": { "optional": [ "any" ] } }, "parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 }, "to": [ { "key_code": "left_command", "lazy": true } ], "to_if_alone": [ { "select_input_source": { "input_source_id": "com.apple.keylayout.UnicodeHexInput" } } ], "to_if_held_down": [ { "key_code": "left_command" } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "input_source_id": "com.apple.keylayout.UnicodeHexInput" } ], "type": "input_source_if" } ], "from": { "key_code": "left_option", "modifiers": { "optional": [ "any" ] } }, "parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 }, "to": [ { "key_code": "left_option", "lazy": true } ], "to_if_alone": [ { "select_input_source": { "input_source_id": "com.apple.keylayout.Thai", "language": "th" } } ], "to_if_held_down": [ { "key_code": "left_option" } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "language": "ja" } ], "type": "input_source_if" } ], "from": { "key_code": "left_option", "modifiers": { "optional": [ "any" ] } }, "parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 }, "to": [ { "key_code": "left_option", "lazy": true } ], "to_if_alone": [ { "select_input_source": { "input_source_id": "com.apple.keylayout.Thai", "language": "th" } } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "input_source_id": "com.apple.keylayout.UnicodeHexInput" } ], "type": "input_source_if" } ], "from": { "key_code": "right_control", "modifiers": { "optional": [ "any" ] } }, "parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 }, "to": [ { "key_code": "right_control", "lazy": true } ], "to_if_alone": [ { "key_code": "japanese_kana" } ], "to_if_held_down": [ { "key_code": "right_control" } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "input_source_id": "com.apple.keylayout.Thai" } ], "type": "input_source_if" } ], "from": { "key_code": "right_control", "modifiers": { "optional": [ "any" ] } }, "parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 }, "to": [ { "key_code": "right_control", "lazy": true } ], "to_if_alone": [ { "key_code": "japanese_kana" } ], "to_if_held_down": [ { "key_code": "right_control" } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "input_source_id": "com.apple.keylayout.UnicodeHexInput" } ], "type": "input_source_if" } ], "from": { "key_code": "right_option", "modifiers": { "optional": [ "any" ] } }, "parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 }, "to": [ { "key_code": "right_option", "lazy": true } ], "to_if_alone": [ { "select_input_source": { "input_mode_id": "com.apple.inputmethod.Japanese", "input_source_id": "com.google.inputmethod.Japanese.base", "language": "ja" } } ], "to_if_held_down": [ { "key_code": "right_option" } ], "type": "basic" }, { "conditions": [ { "input_sources": [ { "input_source_id": "com.apple.keylayout.Thai" } ], "type": "input_source_if" } ], "from": { "key_code": "right_option", "modifiers": { "optional": [ "any" ] } }, "parameters": { "basic.to_if_held_down_threshold_milliseconds": 100 }, "to": [ { "key_code": "right_option", "lazy": true } ], "to_if_alone": [ { "select_input_source": { "input_mode_id": "com.apple.inputmethod.Japanese", "input_source_id": "com.google.inputmethod.Japanese.base", "language": "ja" } } ], "to_if_held_down": [ { "key_code": "right_option" } ], "type": "basic" } ] }
PS. Я использовал https://github.com/hatashiro/kawa некоторое время, но это не позволяет назначать нажатия, как Karabiner.
Ответ или решение
На операционной системе macOS (OS X) по умолчанию переключение раскладки клавиатуры назначено на сочетание клавиш Control + Space. Однако, многие пользователи предпочли бы использовать сочетание клавиш Alt + Shift, которое является более привычным, особенно для тех, кто использует Windows. В этой статье мы рассмотрим, как можно настроить переключение раскладок на вашем Mac с использованием сочетания Alt + Shift или аналогичных комбинаций.
Шаги для изменения настроек переключения раскладок
-
Открытие системных настроек:
- Перейдите в меню Системные настройки (System Preferences).
- Выберите раздел Клавиатура (Keyboard).
- Перейдите на вкладку Сочетания клавиш (Keyboard Shortcuts).
-
Настройка сочетаний клавиш для переключения раскладок:
- В списке слева найдите и выберите элемент Ввод текста (Input Sources).
- Убедитесь, что галочка на "Показать меню ввода в строке меню" (Show Input menu in menu bar) активирована.
- Затем дважды нажмите на предустановленное сочетание клавиш справа от пункта Переключение источника ввода (Select next source) и измените его на Alt + Shift. Обратите внимание, что по умолчанию это может не сработать из-за ограничения системы — сочетание Alt + Shift может быть недоступно для назначения.
Альтернативные решения
Если Alt + Shift не разрешено для назначения, можно рассмотреть использование дополнительных программ:
-
Karabiner:
- Karabiner Elements (бесплатный инструмент) предоставляет множество возможностей для переназначения клавиш. Вы можете настроить сочетание Alt + Z или даже использовать комбинации с Shift, создавая правила, которые будут переключать раскладки.
- Например, можно создать правило, которое заставляет Ctrl + Shift работать как Ctrl + Space для переключения раскладки.
-
BetterTouchTool:
- Это более функциональный инструмент, который вы можете использовать для создания отдельных сочетаний клавиш, включая эмуляцию нажатия Cmd + Space при нажатии Alt + Shift. Однако программа платная, но предлагает пробный период.
-
MLSwticher:
- Это небольшая утилита, которая позволяет настроить переключение раскладок с помощью Alt + Shift на macOS 10.13 High Sierra и выше. Утилита доступна в App Store.
-
Punto Switcher:
- Программа, популярная в русскоязычных странах, предоставляет отличную функциональность для автоматического и ручного переключения языков, включая использование Cmd + Shift.
Заключение
В заключение, хотя macOS изначально не поддерживает прямую настройку сочетания клавиш Alt + Shift для переключения раскладок, существует множество способов обойти это ограничение. Использование приложений, таких как Karabiner или MLSwitcher, может значительно улучшить вашу производительность, направляя ваши предпочтения к привычным методам работы. Выбор подходящего инструмента зависит от ваших личных предпочтений и требования к кастомизации.