(This article is as well available in English).
Для пришедших из поисковых систем по схожим запросам:
- Если вы не знаете как вообще переключать язык на Mac OS X, попробуйте Cmd + пробел.
Имейте в виду, 1) что поставить сочетание «как в Windows», то есть, Ctrl + Shift или Alt + Shift в Mac OS X не получится. 2) Если вас раздражает нахождение запятой и точки в маковской русской раскладке, попробуйте включить раскладку «Русская – ПК». - Как переключать по Caps Lock в Windows.
* * *
Я нашел новый способ «повесить» на клавишу caps lock переключение языка (раскладки) в Mac OS X. В отличие от программы Kirgudu, которая тоже умеет это делать, мой способ работает без задержек, то есть язык переключается практически моментально после нажатия. Это важно, если вы набираете быстро: в случае с Kirgudu, при быстром наборе после нажатия caps lock первые несколько букв могут напечататься на предыдущем языке. (То есть, например, вместо www.google.ru получится ццw.google.ru)
Суть способа такова: в настройках сочетаний клавиш OS X смена языка назначается на клавишу F19 (вместо стандартного сочетания Cmd + Space, которое, впрочем, тоже можно оставить), затем с помощью PCKeyboardHack (это патч к драйверу + интерфейс к нему в системных настройках, написанные Takayama Fumihiko) клавиша caps lock переназначается на эту самую F19. При этом совершенно не важно, есть ли у вас эта клавиша на клавиатуре или нет.
Это должно работать на Mac OS X Leopard и Snow Leopard, про Tiger не знаю.
Минусы
- Сам режим caps lock будет никак не включить.
- Нет синхронизации текущего языка с зеленым огоньком на клавише (он будет гореть постоянно).
- Перед применением придется избавиться от DoubleCommand и иных клавиатурных «ремапперов», если у вас такие имеются.
- Этот метод сложнее в настройке, чем Kirgudu.
Однако, если вам что-то не понравится или не сработает, всегда можно будет все вернуть на место. У каждой из устанавливаемых программ есть деинсталлер.
Пошаговая инструкция
- Скачайте и установите PCKeyboardHack (перезагрузитесь опять).
- В системных настройках зайдите в «Клавиатуру» → вкладка «Клавиатура» → кликните по кнопке «Клавиши модификации» и для caps lock выберите «Никакого действия».

Если на вашей клавиатуре в верхнем ряду присутствует клавиша F19, то вы можете пропустить данный шаг. В противном случае, скачайте мою программу (на самом деле, это просто одна строчка на AppleScript, обернутая в программу), которая эту клавишу нажмет виртуально. После скачивания, распакуйте образ dmg и перетащите «Simulate F19» из него в док (это временно).- Переключитесь в том же окне системных настроек на вкладку «Сочетания клавиш» → «Клавиатура и ввод текста» → найдите «Выбрать предыдущий источник ввода» (или «следующий», не важно). Кликните дважды по месту, где указывается сочетание клавиш для данного действия. Затем, в случае, если на вашей клавиатуре есть F19, просто нажмите эту клавишу, в противном случае, нажмите иконку программы Simulate F19.app в вашем доке. (Если окно после этого перестало быть активным, просто повторите процедуру: кликните двойным кликом по сочетанию справа и еще раз нажмите на Simulate F19.app). В итоге должно получиться так:
Если все получилось, иконку Simulate F19 можно убрать из дока. - Вернитесь в главное окно системных настроек, нажмите PCKeyboardHack. Поставьте галочку напротив «Change Caps Lock», а в колонке «keycode» поменяйте 51 на 80.

Готово!
Дополнительно
Если вы замечаете задержку, скачайте и установите KeyRemap4MacBook (потребуется перезагрузка). После этого, откройте ее в системных настройках, затем выберите вкладку «Mapping» — там в строке поиска введите «capslock» и поставьте галочку рядом с «Enable CapsLock LED Hack». Это нужно для того, чтобы выключить предусмотренную Apple защиту от случайных нажатий caps lock.
Для продвинутых пользователей: вместо клавиши F19 может выступить любая другая клавиша в диапазоне F13–F19. Очевидно, что для этого нужно на третьем шаге выбрать соответствующую желаемой клавише программу (Simulate F13, Simulate F14 и т.д.) А на пятом шаге, вместо 80 нужно будет поставить keycode в соответствие с таблицей:
| Клавиша | Код |
|---|---|
| F13 | 105 |
| F14 | 107 |
| F15 | 113 |
| F16 | 106 |
| F17 | 64 |
| F18 | 79 |
| F19 | 80 |
Спасибо от начинающего свитчера!
Честно сознаться, предпочел бы переназначить правый шифт,
но для меня (пока) гораздо важнее согласованность с виндами.
А она Вашим способом (и с Ниньей в виндах) достигнута.
Еще раз спасибо.
Спасибо за отзыв!
Теоретически на правый шифт тоже можно переназначить если пересобрать PCKeyboardHack (или KeyRemap4MacBook) с соответствующей опцией, указанной, кажется, в XML файле. На офсайте программы есть подробная инструкция как это сделать, я правда, сам не пробовал.
И я, кстати, по той же самой причине перешел на капслок. Кроме Мака и Винды, я еще пользуюсь Убунтой, на которой эта опция доступна вообще “из коробки”.
Что такое “Ниньей в виндах?” :-)
http://www.keyboard-ninja.com/
Если вырубить хм… автоматику, обеспечить совместимость (=избавиться от runtime error)
и не замечать назойливости с обновлениями, то очень удобная переключалка ;)
Я юзаю Пунто Свитчер, аналогично отрубая автоматику и все опции, кроме, собственно, переключения по капслоку. Можно еще юзать capslang (http://yurez.narod.ru/capslang.html), но он, как мне кажется, медленее, чем Пунто.
Стояли оба (порознь и вместе). Нинья показалась удобнее, но 100%но отрицать
кривизну рук не берусь. Капслэнг меня чем-то напугал, чем именно – не помню :)
Да, забыл написать, Shift Right уже приспособил вместе с Маковским Delet’ом
под привычный Виндовской Del (Forward). Так что все к лучшему
Сделал все по инструкции, по нажатию капслока значок раскладки меняется, в выпадающем окне выбранная раскладка меняется, но на самом деле раскладка остается прежней до тех пор пока не выберешь ее мышкой.
Не подскажете, в чем может быть дело и куда копать?
Интересный баг.
А какая у вас стоит система?
Сколько установлено языков?
Не срабатывает на любых языках?
Ради эксперимента, попробуйте поставить на “Выбрать следующий источник ввода” в настройке сочетаний клавиш.
10.5.8
назначит на “следующий источник…” помогло. была мысль так сделать, но подумал что не поможет. =)
Спасибо.
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.
Когда я писал эту статью, в Пунто еще не было такой фичи. Спасибо за информацию!
ура, наконец-то рабочий способ) хоть и через punto
Должен же быть способ добавить в список http://d43.me/wp-content/uploads/caps-lock-no-action.png переключить раскладку… :-(
Согласен :-) Я отправил в Apple репорт об этом больше года назад.
Для автора топика и тех, кто находит данный пост через поиск – для винды лучший и легчайший способ (без ненужностей пунто и прочих) – keyla. В гугле находится без проблем, лежит на гуглокодах.
За пост спасибо
Спасибо, Вы меня сподвигли на написание отдельного псто для виндузятников. Keyla туда добавил первым пунктом.
А у меня одна раскладка, в которой с капсом все буквы русские, а без капса — английские) Вообще офигеть как удобно. Капс все равно не нужен никогда. И всегда знаешь, какая раскладка, потому что лампочку всегда видно боковым зрением, не надо даже взгляд переводить никуда. И переключается моментально.
Пользуюсь раскладкой Мефодица от Лебедева. Переключение через Caps Lock, лампочка показывает включенную кириллицу
http://nexusnotes.ru/2011/06/mac-layout-switch-caps-lock/
Pingback: Layout mit Umlaute, а также русская фонетическая раскладка (Update) « Science, Bugs & Rock'n'Roll
Офигенный метод! Все прекрасно работает. будем ждать индикацию лампочкой теперь)
Pingback: Layout mit Umlaute « Science, Bugs & Rock'n'Roll
Любопытно, но я нахожу это бессмысленным. Поскольку настроить идентичное с Windows сочетание клавиш всё равно не получится (большинству приходится попеременно работать в обеих ОС), то нет уже принципиальной разницы, какое это будет сочетание. Ломать функциональность клавиши Caps Lock – плохое решение. Назначать сочетание Shift + 1(2 и т. д.) – ещё хуже – руку вывихнуть можно. Назначьте сочетание Alt + Пробел и это будет меньшим из зол. Ну и Punto Switcher хороший помощник, который правильно переключит раскладку без вмешательства пользователя в большинстве ситуаций.
Не понял. На Windows также можно настроить переключение раскладки по caps lock.
Я режимом капслока никогда не пользовался, то есть вообще никогда. Чем же плохо?