Суперкнопка из Caps Lock

30

СТРАННАЯ КЛАВИША этот Caps Lock. Вроде бы и расположена в удобном месте – под мизинцем левой руки, а функцию выполняет весьма бесполезную. А ведь было бы здорово использовать её в сочетании с другими клавишами, как мы это делаем с Ctrl, Opt или Cmd. Проблема в том, что стандартные настройки OS X этого не позволяют. Но, если очень захотеть…

В чем идея?

Если вы любите работать быстро и эффективно, то в вашей системе наверняка настроен не один десяток шорткатов. Обычно, это быстрые двойные или тройные сочетания вроде Opt Буква или OptСmdБуква.

ВАЖНО: Этот метод работает под для Yosemite или El Capitan, а вот инструкция по суперкнопке под macOS Sierra

Разумеется, все самые удобные уже заняты системой. Другим программам остаётся лишь более сложные вариации. И, чем больше программ, тем сложнее и «медленнее» становятся эти шорткаты.

Самая страшная комбинация, которая может быть — ShiftCtrlOptСmdБуква. Понятное дело, что из-за своей крючковатости её никто не использует. Но почему бы нам не попросить систему думать, что нажатая клавиша Caps Lock это и есть сочетание ShiftCtrlOptСmd?

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

  • Caps LockS – показать (запустить) Safari
  • Caps LockW – показать iA Writer
  • Caps LockM – показать Sparrow
  • Caps LockF – показать Finder

Когда-то я подсмотрел эту инструкцию у скрипт-маньяка и автора Marked Бретта Терпстра (Brett Terpstra), за что ему большое спасибо.

Настройка

Первое, что нужно сделать – отключить кнопку Caps Lock в самой системе. Для этого зайдите в Системные настройки → Клавиатура → Клавиши модификации… и поставьте для нее параметр Никакого действия. Обратите внимание, что если вы работаете с внешней клавиатурой, то ее обязательно надо выбрать в верхнем выпадающем меню.

Для начала — отключаем <kbd>Caps Lock</kbd> в настройках OS X

Для начала — отключаем Caps Lock в настройках OS X

Теперь устанавливаем небольшой хак PCKeyboardHack, который позволяет присвоить любой кнопке произвольное клавиатурное прерывание.

Поставьте для Caps Lock прерывание 80, что соответствует кнопке F19. Вы всегда можете выбрать прерывание, соответствующее любой удобной кнопке (шпаргалка по ним в нижней части PCKeyboardHack), но тогда вам придётся немножко подправить XML-файл, о котором чуть ниже.

Меняем прерывание для <kbd>Caps Lock</kbd> на 80 (F19)

Меняем прерывание для Caps Lock на 80 (F19)

Если все готово, то скачиваем ещё один хак — KeyRemap4MacBook. У него куча всяких опций по перепрограммированию клавиш. Если есть желание, то можете смело в них покопаться. Нам же KeyRemap4MacBook интересен тем, что при помощи XML-файла ему можно подсунуть свои собственные настройки. Для этого зайдите во вкладку и Misc и нажмите на кнопку Open private.xml.

Добавляем свои настройки в KeyRemap4MacBook через XML-файл

Добавляем свои настройки в KeyRemap4MacBook через XML-файл

Теперь откройте файл и вставьте в него следующий код:


<?xml version="1.0"?>
<root>
  <item>
		<name>Caps Lock становится F19</name>
		<appendix>F19 работает как Shift+Ctrl+Cmd+Opt. Просто F19 работает как клавиша Esc.</appendix>
		<identifier>private.f192f19_escape</identifier>
		<autogen>
			--KeyOverlaidModifier--
			KeyCode::F19,
			KeyCode::COMMAND_L,
			ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
			KeyCode::ESCAPE
		</autogen>
	</item>
</root>

Вернитесь во вкладку Change Key и нажмите на копку ReloadXML. В самом верху списка должна появиться наша настройка. Активируйте ее и ваш Caps Lock моментально превратится в ShiftCtrlOptСmd.

Активируем наш скрипт для <kbd>Caps Lock</kbd>

Активируем наш скрипт для Caps Lock

Далее, для быстрого запуска приложений можно использовать любую программу по управлению шорткатами. Например, бесплатный BetterTouchTool. Вот так выглядят моя конфигурация:

Настройка шорткатов на запуск программ в BetterTouchTool

Настройка форткатов на запуск программ в BetterTouchTool

Вы же можете настроить прокачанный Caps Lock под свои собственные нужны.

Что почитать дальше?

Поделиться
Сохранить
  • Роман

    Спасибо!

  • Nik McCoy

    давно использую))

  • SeyCom

    Пффф… Дом, который построил Джек. Все это можно сделать одним только ControllerMate, причем не выключая основного функционала Caps Lock.

    • А зачем тратить $24?

      • iPress

        канешна… запуск приложений отнимает безумное количество времени… нужно их садить на шорткаты… Эти выдумки от безделья или чоб выделицца?

  • Андрей

    Привет всем друзья!!!Посоветуйте хороший форум маководов .Заказал мак мини с кем пообщаться на эту тему и где не знаю. Гуглил ничего популярного не нашел все мертвые какие то

  • Sergey

    Очень близко к моей схеме использования Caps Lock, но!

    Попробуйте использовать Apptivate в качестве менеджера хоткеев, тогда сможете настроить не хоткей, а любую секвенцию, очередность нажатия букв перед тем нажав и отпустив Caps Lock!

    Значительнео удобнее, возможно большое колличество комманд, лучше запоминается

    Apptivate имеет некоторые безобидные глюки, я использую не самую последнюю (неофициальную) версию 2.02

    Напишу об этом и подобном детальнее у себя в блоге, когда его заведу :)

    • Sergey

      А еще Apptivate имеет и другие киллер фичи, идеологически очень вписывается в mac-way

      Я не использую Cmd-Tab, а сразу переключаюсь в нужное приложение, если оно не открыто — запускается. А что бы просто посмотреть что в окне, достаточно не отпусть последнюю клавишу из секвенции и отпустить вконце, окно появиться, покажется и спрячется

      • Sergey

        Но с такой схемой через f19-esc которое эмулирует зажатие модификатора не подходит, не выйдет задать хоткей для удобной и быстрой последовательности, я использую клавишу с кейкодом 80 на мак клавиатуре (clear), но можно любую другую

    • Спасибо, посмотрю :)

  • мне бы хватило сделать из капслока переключения ввода клавиатуры

  • Влад

    Здравствуйте,всё сделал как у Вас в статье — у меня не работает . Может это изза Маверикс , для неё новые версии программ , чуть отличаются , Кейбордхак вроде сработал , поскольку Caps Lock превратилась в F19 (в системных настройках клавиатуры , при вводе сочетания клавиш она видится как F19 и добавить к ней ничего не получается , правильно ли это? Не должна ли там появляться секвенция из 4 клавиш вместо F19?)
    Далее : в Кейремап после замены XML скрипта (может его надо было добавить а не заменить?) не появляется окошко с галкой и текстом , как у Вас на предпоследней картинке , а остаётся текст со ссылкой на программу Кейбордхак , в общем пока не получается , подскажите где ошибка . У меня последняя модель Макбук про ретина 15 с Маверикс на борту и это мой первый личный мак

    • Скорее всего вы где-то сделали ошибку с инструкции. С Маверикс работает, так как я сам себе начтраивал недавно на новом ноутбуке.

      Попробуйте еще разок все сделать по инструкции, а если не заработает, то тогда уже будем решать вместе.

      • Влад

        Хорошо , я , правда уже раза 3 всё это проделал , с одним и тем же результатом , такое ощущение , что Caps Lock превратилась в F19 , а вот F19 в ESC — нет , сейчас буду делать всё заново , для того , чтоб понять где ошибка , буду делать принтскрины

        • Влад

          Ещё одна незадача , почему то перестали работать все шорткаты всего , что я сделал в автоматоре (((
          Скажите пожалуйста это может быть как то связано с этими клавиатурными утилитами ?

          • Весьма вероятно :) попробуйте переустановить

          • Влад

            Что переустанавливать? утилиты? Вообще странно как то себя вести шорткаты начали. Щас вот только новый автоматор сделал , предыдущие , сделанные вчера минут 10 не работали , потом вдруг заработали , новая пока не работает , до установки клавиатурных утилит было всё нормально , всё работало сразу , как их удалить совсем , вместе со всеми их хвостами?

          • Я все хвостики подчищаю при помощи ClanMyMac. Но, возможно на сайте утилиты есть инструкции по ручному удалению хвостов.

          • Влад

            Прошла ночь и автоматор , сделанный вчера вдруг заработал , но как то странно , автоматор имеет сл функции :
            1 — завершение всех программ
            2 — выключение WI-Fi
            3 — Запуск Logic Pro X
            Всё сработало кроме завершения Хром ,почему ? Почему начинает работать через несколько часов ?
            Может не по теме статьи , простите , если есть соответствующий тематический раздел по работе автоматора , был бы признателен за направление меня туда )
            Ещё понял , что достаточно сложно найти сочетание клавиш , которое ни где не повторяется (может есть какая функция , определяющая свободно ли данное сочетание клавиш)

          • А какой командой вы закрываете приложения? automator часто странно себя ведет, я предпочитаю использовать shell-команды, а не встроенные функции.

          • Влад

            ну там простая команда , так и называется — завершить все приложения ( в автоматоре в разделе службы )

          • Попробуйте добавить одинд блок shell-скрип ртов и там все прописать по шаблону:

            osascript -e ‘tell app «Safari» to quit’

            Или:
            ​​osascript -e ‘tell app «Safari» to launch’

            Так быстрее и надежнее :)

          • Влад

            Спасибо большое , прочёл уже где то тоже , что автоматор срабатывает не всегда , почему? И так же рекомендуют шелл скриптами пользоваться , придётся осваивать , наверное можно и все приложения закрыть , ведь я не знаю точно какие из них будут в какой момент работать , поэтому поимённо всех не перечислишь

          • У меня есть сеты для разной работы. А закрываю я в основном всякие почты, таитеры, Dropbox, отключаю центр уведомлений чтоб не мешал.

            Кстати, про это я почти закончит статью, на неделе опубликую.

          • Влад

            вот и я хочу что то подобное сделать , странно вот щас здесь http://macosworld.ru/kill-all-social/ скачал файл и он работает в Apprivate , сделал такой же сам в автоматоре, скопировав шелл скрипт , Apprivate выдаёт ошибку

  • Max Antonikhin

    Подскажите, а как сделать, что бы каплок переключал рабочие столы? Ctrl+right и Ctrl+left

  • demshin

    Статья отличная! Но обновить бы ее немного. PcKeyboardHack уже давно Karabiner называется.

  • Дмитрий

    каплок — очень важная клавиша и функция её очень полезна) если вы печатаете слепым методом, то она находится в том месте где и должна быть под мизинцем, бывает очень часто приходится набрать аббревиатуры и тут эта клавиша просто спасает!

  • Иван Олейник

    Не могу понять как в BetterTouchTool настроить именно запуск программы?