Самая базовая вещь, без которой мне уже сложно нормально ориентироваться в системе, это клавиатурные слои.
Я перебрал разные подходы, но в итоге остановился на связке:
Karabiner + Hammerspoon
Karabiner-Elements делает “железо ввода” предсказуемым:
он решает, какая физическая клавиша во что превращается (tap/hold, гипер-модификатор, виртуальные F-клавиши, правила по раскладкам).
Hammerspoon превращает эти сигналы в действия:
запуск и фокус приложений, управление окнами (перемещение, раскладки, перенос между мониторами, восстановление размеров), навигация по окнам, медиа-контроль по конкретным приложениям, системные штуки и быстрые команды, которые обычно спрятаны в меню. Плюс самое важное: это не просто бинды, а логика и контекст (проверки состояния, фокусировка нужного окна перед действием, задержки, фолбэки, сценарии). Так же у меня Hammerspoon ещё работает как локальный сервер: я поднимаю небольшой HTTP endpoint и могу триггерить свои команды удалённо (например, из Shortcuts с других устройств). Всё на Lua, без магии и без UI-лабиринтов.
Почему я выбрал именно Karabiner + Hammerspoon.
Я пробовал разные готовые решения, но у них почти всегда одна проблема: я получаю ровно тот набор возможностей, который придумал автор. Это нормально, пока твой сценарий совпадает с “средним пользователем”. Но как только начинаются слои, контекст, нестандартные правила, надежные фолбэки, своя логика для окон и медиа, упираешься в ограничения интерфейса и философии конкретной программы.
А здесь подход другой:
- Karabiner даёт мне контроль на уровне ввода: я могу превращать любые физические клавиши в чистые сигналы и строить слои так, чтобы не ломать печать и не ловить конфликты.
- Hammerspoon даёт мне контроль на уровне поведения: я описываю действия кодом, добавляю проверки, контекст, задержки, фолбэки, и получаю результат, который работает так, как нужно именно мне, а не “как это задумано в UI”.
В итоге это не “ещё одна программа с настройками”, а платформа, где я сам определяю правила. Именно за счёт этой гибкости я и выбрал такой подход.
Оглавление темы 📌
Навигация по проектам канала 📍
Все проекты 🎶
#macOSAutomation@annsFlow
💻 annFlow
Post #75
62
- ❤ 4
- ✍ 3
- ❤🔥 2
- 🔥 2