Переключение языка ввода по Caps Lock в Mac OS X

(This article is as well available in English).

!!! Это метод пока не работает в macOS 10.12 Sierra !!!

Для пришедших из поисковых систем по схожим запросам:

  • Если вы не знаете, как вообще переключается раскладка/язык в Mac OS X, попробуйте сочетание Cmd+пробел (то есть ⌘+Пробел).
    Имейте в виду: 1) поставить сочетание «как в Windows», то есть Ctrl+Shift или Alt+Shift не получится. 2) Если вас раздражает местоположение запятой и точки в маковской русской раскладке, попробуйте раскладку «Русская – ПК» (Системные настройки → Клавиатура → Источник ввода).
  • Как переключать по Caps Lock в Windows.

* * *

Я нашел новый способ «повесить» переключение языка (раскладки) на клавишу Caps Lock в Mac OS X. Главное (для меня) преимущество этого способа в минимальной задержке, то есть раскладка переключается практически моментально после нажатия Caps Lock. Это важно, если вы привыкли набирать быстро.

Логика следующая: сначала клавиша Caps Lock переназначается на клавишу F19 (или любую другую клавишу F*) с помощью популярной программы Seil (которая раньше называлась PCKeyboardHack). Затем функция смены раскладки вешается на клавишу F19. При этом совершенно не важно, есть ли у вас F19 на клавиатуре или нет. Кроме того, стандартное сочетание Cmd+Space тоже можно оставить.

У этого метода есть три основных недостатка:

  1. Режим Caps Lock будет никак не включить.
  2. Не удастся задействовать лампочку на клавише для индикации раскладки.
  3. Придется избавиться от конфликтующего с Seil софта, например, DoubleCommand.

Данный способ ничего не «портит» в вашей системе. Если что-то не сработает или не понравится, всегда можно сделать как было.

Пошаговая инструкция

  1. Скачайте, установите и запустите Seil. (По-умолчанию она устанавливается в папку «Программы». Если лень ее там искать, воспользуйтесь поиском Spotlight: нажмите иконку «увеличительное стекло» в правом верхнем углу экрана и наберите название программы).
  2. В Seil поставьте галочку напротив «Change Caps Lock», а в колонке «keycode» поменяйте 51 на 80.Change Caps Lock Keycode
  3. Зайдите в «Системные настройки» → «Клавиатура» → вкладка «Клавиатура» → кликните по кнопке «Клавиши модификации» и для Caps Lock выберите «Никакого действия».Caps Lock No Action
  4. Переключите окно системных настроек на вкладку «Сочетания клавиш» → «Клавиатура и ввод текста» → найдите «Выбрать предыдущий источник ввода» (или «следующий», не важно). Кликните дважды по месту, где указывается сочетание клавиш для данного действия. Нажмите Caps Lock. Должно получиться так:Bind Change Layout To F19

Готово!

Для продвинутых пользователей

Вместо клавиши F19 может выступить любая другая клавиша в диапазоне F13–F19. Если вы желаете использовать другую клавишу, во втором шаге вместо 80 поставьте keycode в соответствии со следующей таблицей:

Клавиша keycode
F13 105
F14 107
F15 113
F16 106
F17 64
F18 79
F19 80
This entry was posted in How to’s, Посты на русском and tagged , , , . Bookmark the permalink.

38 Responses to Переключение языка ввода по Caps Lock в Mac OS X

  1. Александр says:

    Спасибо от начинающего свитчера!
    Честно сознаться, предпочел бы переназначить правый шифт,
    но для меня (пока) гораздо важнее согласованность с виндами.
    А она Вашим способом (и с Ниньей в виндах) достигнута.
    Еще раз спасибо.

    • Dae says:

      Спасибо за отзыв!

      Теоретически на правый шифт тоже можно переназначить если пересобрать PCKeyboardHack (или KeyRemap4MacBook) с соответствующей опцией, указанной, кажется, в XML файле. На офсайте программы есть подробная инструкция как это сделать, я правда, сам не пробовал.

      И я, кстати, по той же самой причине перешел на капслок. Кроме Мака и Винды, я еще пользуюсь Убунтой, на которой эта опция доступна вообще “из коробки”.

      Что такое “Ниньей в виндах?” :-)

  2. Александр says:

    http://www.keyboard-ninja.com/

    Если вырубить хм… автоматику, обеспечить совместимость (=избавиться от runtime error)
    и не замечать назойливости с обновлениями, то очень удобная переключалка ;)

    • Dae says:

      Я юзаю Пунто Свитчер, аналогично отрубая автоматику и все опции, кроме, собственно, переключения по капслоку. Можно еще юзать capslang (http://yurez.narod.ru/capslang.html), но он, как мне кажется, медленее, чем Пунто.

      • Александр says:

        Стояли оба (порознь и вместе). Нинья показалась удобнее, но 100%но отрицать
        кривизну рук не берусь. Капслэнг меня чем-то напугал, чем именно – не помню :)

  3. Александр says:

    Да, забыл написать, Shift Right уже приспособил вместе с Маковским Delet’ом
    под привычный Виндовской Del (Forward). Так что все к лучшему

  4. barba says:

    Сделал все по инструкции, по нажатию капслока значок раскладки меняется, в выпадающем окне выбранная раскладка меняется, но на самом деле раскладка остается прежней до тех пор пока не выберешь ее мышкой.
    Не подскажете, в чем может быть дело и куда копать?

    • Dae says:

      Интересный баг.

      А какая у вас стоит система?
      Сколько установлено языков?
      Не срабатывает на любых языках?

      Ради эксперимента, попробуйте поставить на “Выбрать следующий источник ввода” в настройке сочетаний клавиш.

      • barba says:

        10.5.8
        назначит на “следующий источник…” помогло. была мысль так сделать, но подумал что не поможет. =)
        Спасибо.

  5. Anton says:

    I moved to Mac OS X three days ago and found a much easier way to do it:
    Install Punto Switcher for Mac (which works waaaaaaaaaay better than Kirgudu btw);
    Select Ctrl or ⌘Command as your layout switch button;
    In Modifier Keys menu (keyboard options) assign Caps Lock to that selected button (⌘ in my case);
    Done!

    No hacks, no extra software, works like a charm, enjoy.

  6. Gordio says:

    Должен же быть способ добавить в список https://dae.me/wp-content/uploads/caps-lock-no-action.png переключить раскладку… :-(

  7. Anton says:

    Для автора топика и тех, кто находит данный пост через поиск – для винды лучший и легчайший способ (без ненужностей пунто и прочих) – keyla. В гугле находится без проблем, лежит на гуглокодах.
    За пост спасибо

  8. Panda says:

    А у меня одна раскладка, в которой с капсом все буквы русские, а без капса — английские) Вообще офигеть как удобно. Капс все равно не нужен никогда. И всегда знаешь, какая раскладка, потому что лампочку всегда видно боковым зрением, не надо даже взгляд переводить никуда. И переключается моментально.

    • Максим says:

      А можно ли в студию пожалуйста рецепт, как Вы смогли так сделать? Это в Винде или под Маком?

  9. Function says:

    Пользуюсь раскладкой Мефодица от Лебедева. Переключение через Caps Lock, лампочка показывает включенную кириллицу

    http://nexusnotes.ru/2011/06/mac-layout-switch-caps-lock/

  10. Pingback: Layout mit Umlaute, а также русская фонетическая раскладка (Update) « Science, Bugs & Rock'n'Roll

  11. Офигенный метод! Все прекрасно работает. будем ждать индикацию лампочкой теперь)

  12. Pingback: Layout mit Umlaute « Science, Bugs & Rock'n'Roll

  13. Foro says:

    Любопытно, но я нахожу это бессмысленным. Поскольку настроить идентичное с Windows сочетание клавиш всё равно не получится (большинству приходится попеременно работать в обеих ОС), то нет уже принципиальной разницы, какое это будет сочетание. Ломать функциональность клавиши Caps Lock – плохое решение. Назначать сочетание Shift + 1(2 и т. д.) – ещё хуже – руку вывихнуть можно. Назначьте сочетание Alt + Пробел и это будет меньшим из зол. Ну и Punto Switcher хороший помощник, который правильно переключит раскладку без вмешательства пользователя в большинстве ситуаций.

    • Dae says:

      идентичное с Windows сочетание клавиш всё равно не получится

      Не понял. На Windows также можно настроить переключение раскладки по caps lock.

      Ломать функциональность клавиши Caps Lock – плохое решение.

      Я режимом капслока никогда не пользовался, то есть вообще никогда. Чем же плохо?

  14. маверик says:

    Накатил только что маверик и слетело переключение раскладки.
    Проблема походу в том что скрипт кнопки уже не работает, прошу проверить все ли хорошо у вас работает. Я думаю вы тоже обновитесь:)

    • Dae says:

      Скрипт не нужен. Честно говоря, я даже не помню, зачем я так все усложнил. Я убрал лишние шаги из статьи, потом еще почищу текст.

  15. маверик says:

    золотой вы человек:)
    все работает!

  16. Ilya says:

    Thank you for such a wonderful solution!
    Is it possible to use PCKeyboardHack to assign “copy”/cmd+c to [ctrl] button and “paste”/cmd+v to [alt] button? I would like to simplify copy-paste process.

  17. Ivan says:

    Ура! Я так скучал по этой фиче из Убунты! Спасибо :)

  18. Владимир says:

    Спасибо! :-)
    А вроде раньше был где-то здесь способ еще ускорить переключение раскладки капсом, с оговоркой, мол, если замечаете протормаживание, то вам сюда. Не могу найти… Бывает, после переключения первых несколько букв предыдущей раскладки проскакивает, дike this.

    • Dae says:

      Я спросонья не совсем врубился в ваш вопрос, поэтому удалил свой первый комментарий. Сейчас я понял о чем речь.

      В статье действительно раньше была приписка, адресованная пользователям, у которых Caps Lock срабатывает только после длительного нажатия (1-2 секунды), но я сам ни разу не сталкивался с этой проблемой, так как она проявляется только на определенных моделях макбуков. Для ее решения я советовал активировать функцию отключения задержки в программе KeyRemap4Macbook от автора PCKeyboardHack.

      Но то, о чем вы пишете — это другая проблема и как ее решить я хотел бы знать сам. У меня есть подозрение, что сделать это может только Эппл.

      • Владимир says:

        Да, действительно, эта программа была. Я сразу не поставил её, а потом, когда заметил задержку (и в памяти стёрлась чёткая формулировка назначения этой программы), стал искать и не нашёл.
        Спасибо :-)
        Если вдруг найду чего, скину сюда.

  19. Даниил says:

    Спасибо!

    Странно, что в маке нет стандартного изменения (как в том же линуксе) выбора сочетаний клавиш для смены раскладки.

  20. Анонимус says:

    Всё больше не работает seil на ОС 10.12.

  21. Максим says:

    https://github.com/tekezo/Karabiner-Elements – для меня работает
    caps -> f19 и дальше по инструкции

  22. Максим says:

    Для страждующих. Функция давно появилась в системных настройках переключения языка.

Leave a Reply

Your email address will not be published. Required fields are marked *