Большинство пользователей привыкли переключать раскладку клавиатуры при помощи сочетания Alt + Shift. Поэтому при переходе на macOS или Linux у них первое время вызывает неудобство и порой даже отторжение переключение раскладок на сочетание Super + Space (клавиша Mac или Windows + Пробел).
Некоторые дистрибутивы и среды рабочего стола Линукс пошли на встречу пользователям и позволили менять настройки переключения после установки дистрибутива, кто-то сразу установил переключение на Alt + Shift, ну а часть разработчиков (например команда GNOME) осталась верна классике и изменить переключение можно либо через терминал, либо после установки утилиты Gnome Tweaks.
Я тоже привык переключать языки по стандарту Windows (единственное, что пока что не удалось искоренить), но недавно наткнулся на другой способ, называемый тап - быстрый удар по клавише. Способ этот дал название утилите Tapper (Таппер) про которую сегодня вам и расскажу.
Принцип работы Таппера
Название программы происходит от английского слова «tap», что обозначает удар. В этом и состоит суть переключения раскладки, точнее включения нужной - один удар по одной клавише включает английскую раскладку, удар по другой включает русскую. Еще раз, чтобы понимать - Таппер не переключает раскладки, как это делает сочетание Alt + Shift, для каждой раскладки есть своя клавиша включения.
При этом, если клавиша, используемая для включения раскладки в Таппер, применяется как клавиша-модификатор (например, для запуска приложения или сворачивания окон), то она продолжит использоваться в обоих сценариях. Чтобы включить раскладку в Таппер необходимо именно «тапнуть» клавишу, то есть однократно нажать только ее и потом отпустить. В случае, когда вместе с тапом нужной клавиши будет нажато что-то еще, включение нужной раскладки не произойдет.
Поддерживаемые среды рабочего стола и графические серверы
Таппер поддерживает такие среды рабочего окружения как GNOME, KDE, Cinnamon, MATE, XFCE, LXQt, LXDE. Официально заявлена поддержка X.org и Wayland, но стоит помнить, что не каждая из перечисленных сред рабочего стола поддерживает «вяленого», поэтому могут быть проблемы при попытке совместить несовместимое. Таблица совместимости есть на сайте разработчиков, а также ее скриншот прикрепил ниже.
Также мной проверено, что Таппер работает на тайлинговых оконных менеджерах i3 и BSPWM.
Установка Таппер
Таппер имеет предустановленные файлы для RPM-дистрибутивов, собранный пакет установки для Archlinux в AUR и пакет для openSUSE. Во всех остальных дистрибутивах установка возможна посредством сборки программы из исходных файлов.
- Fedora и другие RPM-based дистрибутивы
sudo dnf copr enable vandebugger/tapper
sudo dnf install tapper
- Archlinux и основанные на нем дистрибутивы
yay -S kbd-tapper
paru -S kbd-tapper
- openSUSE
sudo zypper addrepo https://copr.fedorainfracloud.org/coprs/vandebugger/tapper/repo/opensuse-$VER/vandebugger-tapper-opensuse-$VER.repo
sudo zypper install tapper
- Для пользователей дистрибутивов, не имеющих готовых сборочных пакетов Таппер рекомендую ознакомиться со статьей на канале, посвященной сборке программ в Линукс из исходников
Установка программ Linux из исходников
Также обратите внимание, что тем, кто пользуется средой рабочего стола GNOME необходимо иметь установленный пакет Agism, про который рассказано в статье от разработчиков (там есть инструкции по установке для различных дистрибутивов и активации пакета). Если с установкой этого пакета возникнут трудности и инструкция от разработчиков не поможет, то пишите в комментариях под этим постом - разберемся и поможем.
Запуск и настройка Таппер
Таппер запускается со следующими настройками по-умолчанию:
- левый Ctrl и правый Ctrl отвечают за включение раскладок (левый - английская раскладка, правый - русская)
- при включении раскладок нет звука
- программа автоматически подхватывает ваши системные настройки по раскладкам
Настройка Таппер осуществляется либо через редактор dconf (для этого он должен быть предварительно установлен), либо через запуск программы с нужными параметрами и ключом --save-settings. Ключи перечислены в справочной статье на сайте разработчиков, так что если есть потребность в тонкой настройке Таппер, то можно воспользоваться ей.
Чтобы утилита работала после старта дистрибутива необходимо добавить ее в автозапуск. Сделать это можно штатными средствами системы, либо воспользоваться командой, которую указали разработчики:
tapper --autostart
Для запуска Таппер в тайлинговых оконных менеджераъ i3 или BSPWM необходимо добавить команду tapper в соответствующий конфигурационный файл. Если говорить про BSPWM, то команда будет выглядеть следующим образом:
tapper &
Недостатки Таппер
Первым недостатком является то, что программа работает только в графическом окружении, то есть, использовать ее на сервере невозможно. Вторым (и последним) недостатком является малое число поддерживаемых дистрибутивов.
В частности, если судить по описанию на сайте разработчиков, DEB-based дистрибутивы просто обошли стороной. Хотя, возможно, кто-то из сообщества уже добавил Таппер в репозиторий и он устанавливается через стандартный apt. Владельцы DEB-зависимых дистрибутивов, которые решат попробовать Таппер напишут потом в комментариях, как происходила установка.
Сценарий использования
Как мне кажется, Таппер это утилита для тех, кто решил попробовать что-то новое, испытать необычный пользовательский опыт. Далее подобный способ переключения будет удобен разработчикам при работе в IDE и тем, кто любит экономить время при работе с клавиатурой, так как не нужно тянуться за двумя клавишами, достаточно тапа одной. Также Таппер будет удобен пользователям тайлинговых оконных менеджеров, так как одна клавиша = одно действие, по моему мнению, как раз в духе минимализма и философии тайлингов.
Напишете в комментариях, как вы предпочитаете переключать раскладку клавиатуры, пользовались ли вы Таппер раньше и если нет, не возникло ли желание попробовать. В свою очередь, попользуюсь этой утилитой некоторое время и если появится что написать, то расскажу про опыт использования в отдельной заметке.
Чтобы не пропустить новые материалы подпишитесь на канал Просто Код и его обновления в Телеграме. Кроме того, Дзен очень ценит проявления активности среди подписчиков и читателей, поэтому не забывайте лайкать, комментировать и делиться заметкой в других своих социальных сетях.